Jason Volk
edd03e58af
ircd: Disregard repeat attempts to close client socket; return proper future.
2018-03-11 13:54:51 -07:00
Jason Volk
79800a666c
ircd::client: Mark bug TODO; temp bandaid.
2018-03-11 13:40:24 -07:00
Jason Volk
f11be8a0d8
ircd: Replace the client write_closure thing.
2018-03-11 13:40:24 -07:00
Jason Volk
bbc1844c61
ircd::http: Status code signage consistency.
2018-03-11 10:23:06 -07:00
Jason Volk
e2569b4cb6
ircd: Disambiguate the litany of response argument variations.
2018-03-09 17:10:45 -08:00
Jason Volk
27b01a58eb
ircd: Tweak client stack error related; fix missing content-type; assert all responses.
2018-03-09 17:10:45 -08:00
Jason Volk
4670fdbd1b
ircd: Remove ircd::error_code typedef with more local typedefs.
2018-03-08 10:08:38 -08:00
Jason Volk
8c02823d49
ircd: Tweak client error handling; fwddecl json::expectation_failure.
2018-03-08 07:40:41 -08:00
Jason Volk
ff2903900b
ircd: In runtime debugmode, log HTTP errors at the error level.
2018-02-23 23:35:09 -08:00
Jason Volk
52cbf0fc70
ircd: Condition client timeout for longpoll; fix resource request reference.
2018-02-21 17:43:29 -08:00
Jason Volk
9173c13b89
ircd: Move resource::request related off the stack into client.
2018-02-17 16:17:59 -08:00
Jason Volk
7e89baf369
ircd: Add resource::method::CONTENT_DISCRETION option flag.
2018-02-17 14:38:49 -08:00
Jason Volk
3709bd5612
ircd: Improve+rename client/resource head_buffer/content_buffer related.
2018-02-17 14:28:06 -08:00
Jason Volk
2be10ef206
ircd: Fix/Address client current request flow for longpolls.
2018-02-12 19:30:44 -08:00
Jason Volk
be624ca7f6
Update Copyrastafaris.
2018-02-05 21:24:34 -08:00
Jason Volk
d56cc60b88
ircd::net: Tweak these error handlers and log facilities.
2018-01-24 14:38:12 -08:00
Jason Volk
7bf9ce225c
ircd::net: Tweak what's left of the socket handle_ready cattle grid.
2018-01-24 14:12:38 -08:00
Jason Volk
103ff45553
ircd::net: Translate operation_canceled into timed_out where appropos.
2018-01-20 13:59:24 -08:00
Jason Volk
745a00b332
ircd: Tweak client error handling stack apropos request timeout.
2018-01-15 03:12:56 -08:00
Jason Volk
c83665ca6c
ircd: Reorg client; add class members; pointer to current request; conf, etc.
2018-01-13 17:58:11 -08:00
Jason Volk
4d310ac22b
ircd: Towards debug message uniformity.
2018-01-11 22:02:34 -08:00
Jason Volk
04fa556c58
ircd: Reflow the request handlers to give the resource more control over content.
2018-01-11 22:02:34 -08:00
Jason Volk
c03bb7e4f2
ircd: Various fixes and elaborations to client/net.
2018-01-08 21:49:00 -08:00
Jason Volk
c8aaeb491f
ircd::net: Develop interface for async_wait / waiting on socket.
2018-01-08 13:25:13 -08:00
Jason Volk
f8127957c3
ircd: Various error handling fixes/cleanup.
2018-01-08 03:09:00 -08:00
Jason Volk
b507262582
ircd: Remove the close+wait after exiting client::main().
2018-01-08 03:09:00 -08:00
Jason Volk
54d6cbc8c1
ircd: Fwd declare boost::system::error_code; minor cleanup.
2018-01-08 03:08:59 -08:00
Jason Volk
4561bb21a0
ircd: Various fixes to net related call points.
2018-01-06 23:27:02 -08:00
Jason Volk
acc73957f8
ircd::net: Socket interface package.
2018-01-04 17:44:34 -08:00
Jason Volk
0eb16673ee
ircd::net: Add resolve interface; Update remote interface.
2017-12-29 19:33:04 -07:00
Jason Volk
9871332957
fixup! Pin boost to 1.66.0.
2017-12-29 15:53:39 -07:00
Jason Volk
c20a2927d0
ircd: Minor reorg client/resource relationship.
2017-12-24 21:54:59 -07:00
Jason Volk
8178d96f64
ircd: Add iov size to client/server IO debug.
2017-12-24 21:54:59 -07:00
Jason Volk
3d5eea0ce3
ircd::net: Move these temp items here.
2017-12-24 21:54:58 -07:00
Jason Volk
f8d3fee8b6
ircd::client: Add comments; move around error handlers; related.
2017-12-24 21:54:58 -07:00
Jason Volk
40d6b6055b
ircd::http: Remove the write_closure from the request parse object.
2017-12-24 21:54:58 -07:00
Jason Volk
acff6139e9
ircd::http: Move request error handlers out of http (to client).
2017-12-24 20:25:40 -07:00
Jason Volk
80931e4e86
ircd: Ⓜ️ Split m.cc; distribute inits; modules: Checkpoint matrix.
2017-12-12 14:59:40 -07:00
Jason Volk
1a1a50f5f3
Checkpoint reorganization.
2017-11-30 12:30:19 -08:00
Jason Volk
366b0531a1
ircd: Remove this warning message when everything is normal.
2017-11-30 11:23:46 -08:00
Jason Volk
62caa95ec8
ircd: Move client request exception handler to where the rest are.
2017-11-30 11:23:45 -08:00
Jason Volk
6b961711cb
ircd::net: Fix asio error code casting for SSL codes.
2017-11-30 11:23:45 -08:00
Jason Volk
08469eb2a0
ircd::net: Tweak net::remote ctor related.
2017-11-30 11:23:44 -08:00
Jason Volk
d7136bb393
ircd: Improve and comment on runlevel / client interruption.
2017-11-30 11:23:43 -08:00
Jason Volk
2930b93dcb
ircd::net: Various net/client/listener bugfixes/cleanup.
2017-11-30 11:23:42 -08:00
Jason Volk
2ce9b0521f
ircd::net: Various fixes / error handling / api.
2017-11-30 11:23:41 -08:00
Jason Volk
8b573378e8
ircd: Fixes to client related to net.
2017-11-30 11:23:40 -08:00
Jason Volk
7feb0dff79
ircd: client: various cleanup.
2017-10-19 01:04:52 -07:00
Jason Volk
1a4c57653b
ircd: Improve this stack buffer for now.
2017-10-11 20:54:02 -07:00
Jason Volk
b9f13ed2c2
ircd: Remove cruft.
2017-10-11 20:54:01 -07:00
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