0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-28 00:14:07 +01:00
Commit graph

155 commits

Author SHA1 Message Date
Jason Volk
fe4c59003f ircd::net: Add debugging messages for client connect; also for unhandled server errors. 2017-10-03 04:27:14 -07:00
Jason Volk
84d7746165 ircd: Add net; various asio related. 2017-10-03 04:17:10 -07:00
Jason Volk
816b5125b2 ircd: Improve/cleanup ircd::init()/ircd::stop() related. 2017-10-03 04:17:07 -07:00
Jason Volk
f4682522a8 ircd::util: Rename stopped overload to nostart. 2017-09-24 18:16:44 -07:00
Jason Volk
7f7ef9a4bf ircd: Add client request timer related. 2017-09-24 18:16:44 -07:00
Jason Volk
971496817b Minor fixes / cleanup. 2017-09-24 18:16:40 -07:00
Jason Volk
7f548cee1c ircd: Make asio header; comments; add special continuation for yielding to asio. 2017-09-24 18:16:39 -07:00
Jason Volk
e0c0f71754 ircd: Fix client shutdown. 2017-09-24 18:16:38 -07:00
Jason Volk
6503d28006 ircd: Simplify this service stack for now. 2017-09-24 18:16:34 -07:00
Jason Volk
214e5e7107 Compiler recommended to use std::terminate() rather than throw into noexcept. 2017-09-24 18:16:34 -07:00
Jason Volk
54d6793f59 Update various documentation and comments. 2017-09-24 18:16:33 -07:00
Jason Volk
7cc4ed56ab ircd: Support both iov and ilist for socket and buffer related. 2017-09-24 18:16:33 -07:00
Jason Volk
207ac4ef53 ircd: Various improvements to client and socket related. 2017-08-23 15:52:15 -06:00
Jason Volk
10472684f2 ircd: Cleanup client/ircd main. Fixes for exit notification. 2017-08-23 15:50:37 -06:00
Jason Volk
6e44074bad ircd: Various client / listener / main related. 2017-08-23 15:13:57 -06:00
Jason Volk
3a31c62681 ircd: Minor cleanup. 2017-03-30 16:04:20 -07:00
Jason Volk
21db4baab3 ircd: Various cleanup. 2017-03-30 16:04:18 -07:00
Jason Volk
3c38aeb96e ircd: Nest this ep initializer for now. 2017-03-17 20:35:00 -07:00
Jason Volk
c9ddf4f6ab ircd: Add lex_cast wrapper interface; various cleanup. 2017-03-14 15:03:15 -07:00
Jason Volk
4a65843064 ircd: Interrupt client request parsing with 408 Request Time-out after timeout. 2017-03-13 18:44:08 -07:00
Jason Volk
55be9a9f6d ircd: Loop the whole input tape before returning to async. 2017-03-13 18:44:08 -07:00
Jason Volk
e849897cc0 ircd::parse: Capstan. 2017-03-13 18:44:08 -07:00
Jason Volk
472ee2c648 ircd: HTTP interface function-objects et al. 2017-03-13 18:44:00 -07:00
Jason Volk
49c2a5361c ircd: Various fixes. 2017-03-13 14:43:27 -07:00
Jason Volk
60ce08d0df ircd::client: http protocol dispatch. 2017-03-10 18:03:10 -08:00
Jason Volk
b592b69b86 What is the Matrix? Control. 2017-03-10 17:51:18 -08:00
Jason Volk
be48466ef3 fixup! [temp] Checkpoint test. 2016-11-13 16:32:38 -08:00
Jason Volk
5e0659b2f9 ircd: Use variable length receive buffer. 2016-09-28 14:19:18 -07:00
Jason Volk
757d7e10a8 [temp] checkpoint some crap which isn't going to stick. 2016-09-27 17:29:06 -07:00
Jason Volk
581ca84439 ircd: sendf() directly to client (prelim). 2016-09-22 16:18:32 -07:00
Jason Volk
d8d2fe1564 ircd: Add scope 'life_guard' util for references in reentrant contexts. 2016-09-22 16:18:31 -07:00
Jason Volk
679855be15 ircd: Split rbuf.h off client.cc 2016-09-21 16:29:30 -07:00
Jason Volk
ca4e04d85f ircd::vm: Introduce vm; temp demo an immediate context. 2016-09-21 16:29:30 -07:00
Jason Volk
fcd410d656 ircd::client: Add timer logic to client socket/io.
Note: Not sure if I like two reference counters for each client,
ideally, but we'll see where it goes after abstractions.
2016-09-21 16:29:30 -07:00
Jason Volk
a9f967d16a ircd: Feed received tape into the machine. 2016-09-21 16:29:30 -07:00
Jason Volk
e87a8cc5d2 ircd: Add low-level net utils for client (non-abstract). 2016-09-21 16:29:29 -07:00
Jason Volk
26a3cd8441 Preliminary new client. Reorg/renames for ircd::client struct symbol. 2016-09-21 16:29:29 -07:00
Jason Volk
556ceba8a0 ircd: new client; start over. 2016-09-21 16:29:28 -07:00
Jason Volk
3ebde4ab50 Convert umodes to mode_lease mechanism. 2016-09-09 16:17:01 -07:00
Jason Volk
052a6c8d22 Refactor snomask. 2016-08-28 01:48:25 -07:00
Jason Volk
9c16de2d41 Refactor whowas. 2016-08-25 02:34:28 -07:00
Jason Volk
5f218cdbb2 Refactor scache. 2016-08-25 02:07:11 -07:00
Jason Volk
9eaf1c80d1 ircd::client: Split client. 2016-08-25 02:07:11 -07:00
Jason Volk
f33b369609 Refactor umodes. 2016-08-23 15:25:09 -07:00
Jason Volk
b65c5430f2 Refactor client flags. 2016-08-23 05:22:38 -07:00
Jason Volk
dd9124b687 Preliminary Client refactor.
Add client to ircd::client:: namespace.

Also move former struct User and struct Server into client.cc as
opaque structure demo.
2016-08-22 15:56:12 -07:00
Jason Volk
90093b82e6 Upgrade user struct. 2016-08-21 15:30:22 -07:00
Jason Volk
5752be41b8 Upgrade channel membership lists. 2016-08-20 19:30:35 -07:00
Jason Volk
276cad4275 Upgrade the channel invite list. 2016-08-20 19:30:35 -07:00
Jason Volk
b7a84d3650 Prevent ambiguous cast when the comparator function is overloaded. 2016-08-20 19:30:34 -07:00
Jason Volk
f5143fbf73 Add channel structure into namespace + remove related rb_banheaps. 2016-08-20 19:30:34 -07:00
Jason Volk
f112111e51 Add rfc1459:: case compliance namespace. 2016-08-20 19:30:34 -07:00
Jason Volk
61b517ca3c Precompile and remove most include directives. Notes:
* To benefit from the precompiled-header (PCH) it MUST provide "the first C token."

Advantages:
Never worry about the include stack again. Remember, this means one less thing
for random module developers, community people learning C++, and new developers
to deal with. It should reduce the learning curve and barrier for participation.

Disadvantages:
Makes overall compilation a bit slower, especially without any additional
work to improve it again. There are several opportunities, places where the
PCH is probably being ignored, etc that can be addressed.
2016-08-20 19:30:33 -07:00
Jason Volk
a71a4551ae ircd: Insert into ircd:: namespace. 2016-08-13 02:43:42 -07:00
Jason Volk
834964c659 Convert IRCd to C++
Happy 28th birthday. You're all grown up.
2016-07-22 19:46:27 -07:00
Renamed from ircd/client.c (Browse further)