0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-28 05:18:59 +02:00
Commit graph

287 commits

Author SHA1 Message Date
Jason Volk 6d9fb00d8c ircd::server: Fix discard buffering. 2019-03-08 16:32:37 -08:00
Jason Volk 62d33e2f7a ircd::server: Improve this error information. 2019-03-01 10:07:56 -08:00
Jason Volk d639eceba2 ircd: Move runlevel related into ircd::run:: namespace. 2019-01-18 09:08:56 -08:00
Jason Volk cbf456a388 ircd: Rename and refactor ircd::assertion interface into ircd::panic. 2019-01-13 16:37:31 -08:00
Jason Volk e4922772f4 ircd::server: Fix issues with non-matrix peer construction. 2018-12-05 19:38:40 -08:00
Jason Volk 36bb0d3175 ircd: Integrate all boost::system::system_error with stdlib. 2018-11-08 23:05:11 -08:00
Jason Volk 3a36bbfca5 ircd::server: Fix dangling-type exception_ptr in peer::err by clearing peers here.
This will destruct the exception first before the module which introduced the
exception's type unloads. On daemon shutdown, the module will unload and if
an instance of the exception is still held by peer::err bad things happen.
2018-10-24 17:31:22 -07:00
Jason Volk 100325b5a8 ircd::server: deinline peer::err ctor. 2018-10-21 05:35:02 -07:00
Jason Volk 58c7a4885b ircd::server: Remove redundant strings; minor cleanup. 2018-10-02 22:37:07 -07:00
Jason Volk 5b7cf5a8eb ircd::net::dns: Reorg namespace structure related. 2018-10-01 12:03:31 -07:00
Jason Volk 2e245dacd1 ircd::server: Minor move handler binding. 2018-09-18 23:47:52 -07:00
Jason Volk 5a32754937 ircd::server: Catch anything at these handlers. 2018-09-18 21:48:40 -07:00
Jason Volk 3b960d2576 ircd: Add misc assertions. 2018-09-18 21:24:19 -07:00
Jason Volk dadf237bb5 ircd::server: Minor cleanup; modernize some log calls. 2018-09-18 15:10:10 -07:00
Jason Volk a4f8cf83f6 ircd::server: Handle unfavorable runlevel in resolver callback. 2018-09-17 21:06:38 -07:00
Jason Volk 439e8618d6 ircd: Simplify/cleanup the coarse controls for client/server subsystems. 2018-09-17 16:47:36 -07:00
Jason Volk bc88a4cf6d ircd::server: Assertion on tag removal. 2018-09-04 20:27:30 -07:00
Jason Volk 2b199ae3ed ircd::net/ircd::server/ircd::client: Various cleanup; log messages. 2018-08-28 12:06:45 -07:00
Jason Volk b13193611d ircd::server: Rename peer::interrupt() to peer::cancel(). 2018-05-29 11:53:37 -07:00
Jason Volk 69e9c9bbc6 ircd::server: Fix peer hostname string discrepancy. 2018-05-19 18:49:08 -07:00
Jason Volk 65f7adc8c6 ircd::server: Internalize more references to the peer instance; various cleanup. 2018-05-19 18:49:07 -07:00
Jason Volk dcbbaf2579 ircd::server: Add opts::prio value; special case prio value in link selection. 2018-05-09 17:07:37 -07:00
Jason Volk 6b0c011535 ircd::server: Copies of the link pointers must be on stack. 2018-05-08 16:03:56 -07:00
Jason Volk 51d0f1a6a4 ircd::server: Use fixed tls vector for copying link pointers. 2018-05-07 23:24:51 -07:00
Jason Volk 9a3bda06af ircd::server: Copy link pointers while iterating for open(). 2018-05-07 23:09:06 -07:00
Jason Volk b113322a28 ircd::server: Improve assertion for no key movement. 2018-05-07 16:34:59 -07:00
Jason Volk 292e8c5a12 ircd::server: Remove deprecated assertion. 2018-05-02 22:22:12 -07:00
Jason Volk 1d0ae3855a ircd::server: Close link if the only commitment is a cancelled tag. 2018-05-02 12:33:08 -07:00
Jason Volk c84fe8d962 ircd::server: Fix preservation of nullity for in.content through cancellation. 2018-05-02 12:00:32 -07:00
Jason Volk 8f7a05c9ed ircd::server: Minor cleanup / assertions / comments. 2018-05-02 12:00:26 -07:00
Jason Volk fb53069c6f ircd::net::dns Include query in callback arguments to prevent any stale captures. 2018-05-01 18:56:22 -07:00
Jason Volk 9c5b10fb61 ircd::server: Preserve nullity of cancellation tag's in.content. 2018-04-26 21:35:55 -07:00
Jason Volk 6add3e9952 ircd::server: Limit recursion of chunk head parses. 2018-04-25 20:52:27 -07:00
Jason Volk e2568457f4 ircd::server: Add dynamic chunk vectoring. 2018-04-25 20:52:26 -07:00
Jason Volk 7e32d3cbaa ircd::server: Checkpoint preliminary chunk vectoring; state, options. 2018-04-25 15:10:04 -07:00
Jason Volk 7c92eb2757 ircd::server: Use system time for error time state. 2018-04-13 20:02:48 -07:00
Jason Volk 516d1797c9 ircd::server: Clear op_fini flag on err_clear(). 2018-04-10 21:02:34 -07:00
Jason Volk 331d0a955d ircd::server: Yield in exception handler. 2018-04-07 11:05:54 -07:00
Jason Volk 0012793bf6 ircd::server: Ensure open_opts references are fresh after resolve comes back. 2018-04-07 06:16:41 -07:00
Jason Volk 6488141f64 ircd::server: Additional assertions. 2018-04-07 06:16:24 -07:00
Jason Volk db93acf8fb ircd::server: Fix condition for promise resolution on cancel(). 2018-04-07 05:00:55 -07:00
Jason Volk c2b2dc8d69 ircd::server: Use disassociate() during cancel(); tweak assertions. 2018-04-07 05:00:55 -07:00
Jason Volk 4c26b65613 ircd::server: Add head bytes when calculating read total. 2018-04-06 02:50:29 -07:00
Jason Volk 5648903998 ircd::server: Adjust discard error expectations. 2018-04-06 02:50:29 -07:00
Jason Volk c4b18438ce ircd::server: Additional debug logging / tweaks. 2018-04-06 02:50:29 -07:00
Jason Volk d2388a1abf ircd::server: Discard reads when tag has committed no writes. 2018-04-06 01:05:04 -07:00
Jason Volk c79cbe670b ircd::server: Additional assertions that buffers are not zero size. 2018-04-06 00:33:09 -07:00
Jason Volk 47edaed3a6 ircd::server: Add stats for total bytes up and down to peer and links. 2018-03-26 23:29:58 -07:00
Jason Volk 270120c922 ircd::server: Rename _total() to _size() for bytes accounting. 2018-03-26 23:29:58 -07:00
Jason Volk 26b33a1845 ircd::ctx: Remove the cv_status enum. 2018-03-26 23:29:58 -07:00
Jason Volk 05ded4f0e4 ircd::server: Checkpoint discard based on ssl pending; move branch. 2018-03-26 02:24:29 -07:00
Jason Volk 968ef4115c ircd: Fix signage related. 2018-03-23 23:19:53 -07:00
Jason Volk 84ede3ceac ircd::server: Support tag::cancel() case for chunked encoding. 2018-03-20 16:31:02 -07:00
Jason Volk bc8f5cba05 ircd::server: Use better buffer sizes and offsets in tag::cancel() procedure. 2018-03-20 16:31:02 -07:00
Jason Volk d21c2fc37c ircd::server: Separate out the link's socket read function. 2018-03-20 16:31:02 -07:00
Jason Volk 6e7751eaf3 ircd::server: Receive chunked transfer-encoding. 2018-03-20 14:12:44 -07:00
Jason Volk bd80297733 ircd::server: Minor cleanup: relocate the contiguous / dynamic feature branches. 2018-03-20 01:26:42 -07:00
Jason Volk 5a1057a6a5 ircd::server: Check against a null status code to leave head mode. 2018-03-20 01:24:42 -07:00
Jason Volk 0ba91776d1 ircd::server: Move insufficient buffer checks into the creator functions. 2018-03-20 01:23:42 -07:00
Jason Volk c8b80046d1 ircd::server: Aggregate all accounting values riding on tag into one struct. 2018-03-19 20:37:28 -07:00
Jason Volk 2e801a0219 ircd::server: Remove content_over from the state and calculate functionally. 2018-03-19 20:26:23 -07:00
Jason Volk 90bbbeaf02 ircd::server: Save content_length in tag state; fix stepping on content_over calculation. 2018-03-19 20:26:23 -07:00
Jason Volk c5addbd450 ircd::server: Minor cleanup/reorg; Add unsupported encoding exception branch. 2018-03-19 16:07:42 -07:00
Jason Volk 7f2f855c4e ircd::server: Reinstall the read handler after discard. 2018-03-18 13:51:43 -07:00
Jason Volk a48426e25d ircd/modules: Migrate some log messages to new facilities. 2018-03-15 22:25:16 -07:00
Jason Volk 0ffa3b6257 ircd::server: Condition before killing link on open error. 2018-03-13 22:44:13 -07:00
Jason Volk b16e53337c ircd::server: Use canonized hostport as peer remote; store net::open_opts; minor cleanup. 2018-03-13 22:44:13 -07:00
Jason Volk 8091bdd007 ircd::server: Fix the interrupted link open to close to delete transit. 2018-03-12 18:59:38 -07:00
Jason Volk 09923ff758 ircd::server: Add external interface to clear a peer error; w/ console command. 2018-03-12 14:20:39 -07:00
Jason Volk a22e45a9f5 ircd: Break down client shutdown; improve various shutdown refusals. 2018-03-12 14:20:39 -07:00
Jason Volk 27b0dfffa4 ircd::server: Fix condition for link finished; add assertion here. 2018-03-11 13:54:51 -07:00
Jason Volk 00ba8ebdb4 ircd::ctx: Factor shared_ptr out of promise/future. 2018-03-10 23:04:58 -08:00
Jason Volk d59de1a391 ircd::server: Improve peer state transitions and destruction paths. 2018-03-10 23:04:58 -08:00
Jason Volk e09111ff4e ircd::server: Case for close during init. 2018-03-09 17:10:46 -08:00
Jason Volk b1a4ca6852 ircd::server: More descriptive message in this error. 2018-03-09 17:10:45 -08:00
Jason Volk 4e75566c94 ircd::server: Break down the shutdown process further. 2018-03-09 17:10:44 -08:00
Jason Volk 7f336200ea ircd::server: Check and clear peer error after timeout. 2018-03-09 12:45:25 -08:00
Jason Volk 81b3916953 ircd::server: Simplify without refcounting async ops. 2018-03-09 12:45:25 -08:00
Jason Volk f1fb3d8b49 ircd::server: Add peer::err object. 2018-03-08 08:24:19 -08:00
Jason Volk 9b44217ea4 ircd::server: Rename opts member pointer to opt. 2018-03-07 07:23:35 -08:00
Jason Volk 37753a9648 ircd::server: Make close timeout shorter on close_all (shutdown). 2018-03-06 07:50:14 -08:00
Jason Volk ea3f7abde5 ircd::server: Add state to deny any resubmission on peer close. 2018-03-06 04:51:20 -08:00
Jason Volk 327e4da356 ircd::server: Rename node to peer. 2018-03-05 06:59:10 -08:00
Jason Volk c7ae8d3f27 ircd::server: Fix conditions for link removal from link::close(). 2018-03-04 02:09:41 -08:00
Jason Volk 90b7810921 ircd::server: Reset necessary link state if any exception before handler. 2018-03-04 02:09:41 -08:00
Jason Volk 92bef88b6c ircd::server: Improve tag cancellation/dispersal on closing/shutdown; minor cleanup. 2018-03-03 21:56:50 -08:00
Jason Volk 4df13f5d4f ircd::server: Add conf items for existing todos. 2018-03-03 21:54:42 -08:00
Jason Volk b840156b37 ircd::server: Add preliminary node error state; keep erroneous node in map as cache. 2018-03-02 22:37:52 -08:00
Jason Volk a8569fb81b ircd::server: Improve conditional for dynamic content feature. 2018-02-27 23:12:26 -08:00
Jason Volk 34ad473bdc ircd::server: Pass along remote's error content into our http::error. 2018-02-27 01:38:34 -08:00
Jason Volk fc3b68b9e9 ircd::server: Add more state for async ops; adjust post points. 2018-02-27 01:00:12 -08:00
Jason Volk 7f77c68232 ircd::net/ircd::server: Rename misleading functions. 2018-02-26 22:49:44 -08:00
Jason Volk c412beacbf ircd::server: Add dynamic content allocation after receiving head. 2018-02-26 21:56:05 -08:00
Jason Volk f235fc155e ircd::server: Close and remove node on name resolution error. 2018-02-21 17:44:08 -08:00
Jason Volk 24fdfdd9fe ircd::server: Fix error; fix regression. 2018-02-07 00:24:54 -08:00
Jason Volk be624ca7f6 Update Copyrastafaris. 2018-02-05 21:24:34 -08:00
Jason Volk c3ceb94478 ircd: These should be rvalue refs. 2018-01-30 23:13:27 -08:00
Jason Volk 513082b656 ircd::net: Reorg DNS related; move resolver into header. 2018-01-28 14:28:33 -08:00
Jason Volk 6bc6d9f8a1 ircd: Minor cleanup. 2018-01-28 08:44:47 -08:00
Jason Volk 1cdb893b1b ircd: Replace various log.critical+assert(0) with ircd::assertives; minor cleanup. 2018-01-24 18:40:19 -08:00
Jason Volk ed4d645523 ircd::server: Flash the HTTP header to a node callback to learn information. 2018-01-24 09:26:27 -08:00
Jason Volk 5d1790fb0d ircd::server: Add reference count of pending async handlers. 2018-01-23 15:07:05 -08:00
Jason Volk 33796d00c1 ircd::server: Handle write errors. 2018-01-23 15:07:05 -08:00
Jason Volk b91fcefe45 ircd::server: Default to two requests in flight in a pipe. 2018-01-22 00:54:52 -08:00
Jason Volk 72bacdedf6 ircd::server: Fix these assertions. 2018-01-22 00:54:52 -08:00
Jason Volk f1d659a6c0 ircd::server: Add a complementary upload progress callback. 2018-01-22 00:54:52 -08:00
Jason Volk 9da18261a6 ircd::server: Add an optional download progress callback. 2018-01-22 00:54:52 -08:00
Jason Volk ceed6d5d44 ircd::server: Reuse the read_content() function when reading partial. 2018-01-22 00:54:52 -08:00
Jason Volk d108ec22f8 ircd::server: Invoke read handler as-needed; various fixes. 2018-01-20 13:59:24 -08:00
Jason Volk 93364b6072 ircd::server: Add content buffer deduction from single in buffer. 2018-01-20 02:30:20 -08:00
Jason Volk 31fd9346f6 ircd: Baptize server.h into the standard include group. 2018-01-18 06:09:02 -08:00
Jason Volk 9ba31f77c2 ircd::server: Various fixes; error handling; minor cleanup. 2018-01-17 21:38:17 -08:00
Jason Volk ca6dc44a6c ircd::server: Various fixes. 2018-01-17 03:33:08 -08:00
Jason Volk 4727e93f8a ircd::server: Handle link open error. 2018-01-17 03:33:08 -08:00
Jason Volk 5a51638db8 ircd::server: Add options to request; add http code exception option. 2018-01-17 03:33:07 -08:00
Jason Volk 7f9f970b5b ircd::server: Improve some exception messages conveyed back to promise. 2018-01-17 01:05:31 -08:00
Jason Volk 862fb1ebcd ircd::server: Support robust request cancellation without disrupting pipeline. 2018-01-17 00:47:37 -08:00
Jason Volk b9fe5c69ad ircd::server: Additional exception propagations; fail on link unavailability. 2018-01-16 04:01:26 -08:00
Jason Volk 2520afe5a6 ircd::server: Handle insufficient head buffer; preliminary tag reassign. 2018-01-16 00:55:44 -08:00
Jason Volk ce31219b00 ircd::server: Elide saving head in tag; add content buffer-underrun discard. 2018-01-16 00:55:44 -08:00
Jason Volk 286f117ef8 ircd::server: Add idle link removal when over pool min; stubs for node decision-making. 2018-01-16 00:55:44 -08:00
Jason Volk 8536c57982 ircd::server: Minor renames; minor cleanup; improve some error handlers. 2018-01-15 20:26:27 -08:00
Jason Volk 1e0fe2b3d5 ircd::server/net: Proper snomask on these log calls. 2018-01-15 19:28:55 -08:00
Jason Volk bf99718a0f ircd::server: Basic pipeline. 2018-01-15 19:03:32 -08:00
Jason Volk 8e9bae5209 ircd::server: Add stats accumulation; develop preliminary dispatch; various. 2018-01-15 19:02:26 -08:00
Jason Volk 59621eb266 ircd::server: Improve write stack; add close_all(); various. 2018-01-15 03:12:56 -08:00
Jason Volk 368838d5a5 ircd::server: Add preliminary write loop; minor cleanup. 2018-01-15 03:12:56 -08:00
Jason Volk 7c4659a99f ircd::server: Develop basic infrastructure. 2018-01-13 21:17:10 -08:00
Jason Volk 56cefcb650 ircd::server: Move into directory; various cleanup. 2018-01-13 18:03:04 -08:00
Jason Volk fa3afc7ad7 ircd::server: Preliminary client request pipeline framework. 2018-01-12 18:57:58 -08:00
Jason Volk 8178d96f64 ircd: Add iov size to client/server IO debug. 2017-12-24 21:54:59 -07:00
Jason Volk 7ef3b67213 ircd: Fix server.h inclusion checkpoint. 2017-11-30 11:23:48 -08:00
Jason Volk 315d86a8d2 ircd: Checkpoint temp server link uniplexing... 2017-11-30 11:23:47 -08:00
Jason Volk bcebeb420d ircd: Add interrupt for server dtor. 2017-11-30 11:23:46 -08:00
Jason Volk 6f392049ba ircd: Use the asio error stringifier. 2017-11-30 11:23:45 -08:00
Jason Volk 532f416a3d ircd: Develop various server. 2017-11-30 11:23:45 -08:00
Jason Volk 6a024e9e16 ircd: Add preliminary 'server' as a client to *other* servers. 2017-11-30 11:23:40 -08:00