0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-09-03 15:25:21 +02:00
Commit graph

3695 commits

Author SHA1 Message Date
Jason Volk
1eaff2e91e ircd::fs: Runtime binding for pwritev(2)/pwritev2(2) based on kernel version. 2019-04-17 19:19:30 -07:00
Jason Volk
6fbf882e16 ircd::fs: Use GNU indirect function binding to efficiently support RWF_APPEND at runtime. 2019-04-17 19:09:16 -07:00
Jason Volk
62441e1c68 ircd: Switch to lazy-loading libircd.so symbols. 2019-04-17 17:29:08 -07:00
Jason Volk
08b53b1746 ircd::vg: Start a valgrind emulator hypercall suite. 2019-04-17 00:59:52 -07:00
Jason Volk
83193d0ff9 ircd::server: Add an op_open; handle control return to link::open(). 2019-04-16 22:37:44 -07:00
Jason Volk
0f404a0bda ircd::net: Addition assertions; use constrefs in handler cbs. 2019-04-16 21:39:43 -07:00
Jason Volk
945ce126c5 ircd::net: Remove explicit string conversion. 2019-04-16 21:11:39 -07:00
Jason Volk
9a44188c00 ircd::net Increase buffer sizes. 2019-04-16 21:11:27 -07:00
Jason Volk
46acff07b7 ircd::server: Elide allocations for these stringifies. 2019-04-16 20:57:06 -07:00
Jason Volk
4038973297 ircd::util: Use allocator::node for instance_list instances. 2019-04-16 20:48:00 -07:00
Jason Volk
7c6c60960f ircd::net: Improve various callback fini/error conditions. 2019-04-16 20:10:24 -07:00
Jason Volk
6bf3ccb7b5 ircd::net: Bypass call to current_cipher() on error conditions. 2019-04-16 20:10:24 -07:00
Jason Volk
a24d3a1d96 ircd::net: Prevent any handshake on finished socket out of handle_connect. 2019-04-16 20:10:23 -07:00
Jason Volk
ff25a486a0 ircd::net: Bail from handle_verify() on socket fini. 2019-04-16 20:10:23 -07:00
Jason Volk
3b832db9a4 ircd::net: Add traps under reject()s. 2019-04-16 20:00:17 -07:00
Jason Volk
903a6e7f57 ircd::server: Copy the eptr so it doesn't get robbed on forwarding constructions. 2019-04-16 19:04:23 -07:00
Jason Volk
8cfc9e832e ircd::net: Fix scope_timeout move assignment. 2019-04-16 18:33:01 -07:00
Jason Volk
af1bd92b26 ircd::spirit: Apply hidden visibility to all headers + our internal grammar namespaces. 2019-04-16 18:33:01 -07:00
Jason Volk
5fee4a9933 ircd:Ⓜ️:events: Add type-based iteration w/ console cmd. 2019-04-16 16:11:23 -07:00
Jason Volk
fb199fbc01 ircd::rfc3986: Fix duration of constructed validator rules; improve grammar branches. 2019-04-16 16:11:23 -07:00
Jason Volk
9b00c65ef6 ircd:Ⓜ️:events: Add additional lighter-weight event_idx iteration tools. 2019-04-16 16:11:23 -07:00
Jason Volk
d96208faaf ircd:Ⓜ️:events: Add iteration tools for events in sender/origin. 2019-04-16 16:11:23 -07:00
Jason Volk
ecbdf00f22 ircd:Ⓜ️:dbs: Add event_type metadata column. 2019-04-16 16:11:23 -07:00
Jason Volk
8148dc6502 ircd:Ⓜ️:dbs: Add event_sender metadata column. 2019-04-16 15:04:31 -07:00
Jason Volk
25d153d64c ircd:Ⓜ️:sync: Add an initial phase convenience; add account_data as an initial phase. 2019-04-16 01:32:52 -07:00
Jason Volk
f17e521ff8 ircd::ios: Objectify the asio enqueuing wrappers. 2019-04-16 01:32:52 -07:00
Jason Volk
5d04c8c607 ircd::net: Shortcut string creation on closed / lame sockets. 2019-04-15 22:47:24 -07:00
Jason Volk
b51d5d1461 ircd::net: Add TLS buffers for various stringifies. 2019-04-15 22:47:24 -07:00
Jason Volk
2b759963bd modules/s_listen: Add accept flow control mechanism. 2019-04-15 22:47:24 -07:00
Jason Volk
74a28f2f10 ircd::net: Tweak calls to set socket non-blocking. 2019-04-15 22:47:24 -07:00
Jason Volk
92cdccf956 ircd::net: Add parent ssl_cipher conf items; add curve items. 2019-04-15 22:16:16 -07:00
Jason Volk
889b65a002 ircd::net: Additional traps / assertions. 2019-04-15 17:09:35 -07:00
Jason Volk
b56df6677e ircd::server: Set SNI explicitly here rather than through fallback.
ircd::server: Detect IP literal to set the peer::remote/open_opts directly.
2019-04-15 17:09:32 -07:00
Jason Volk
7d021f9430 ircd::server: Rename server_name to server_version. 2019-04-15 15:23:44 -07:00
Jason Volk
9b9f44d863 ircd::net: Skip call to set server_name when no server_name. 2019-04-15 15:23:44 -07:00
Jason Volk
0e0d95b266 ircd::ctx: Fix comment error. 2019-04-15 14:44:58 -07:00
Jason Volk
7a055e22ef ircd::server: Disassociate tag from request on cancel. 2019-04-15 11:43:53 -07:00
Jason Volk
f9025cebb9 ircd: Support read-only and write-avoid modes via conf item / command line. 2019-04-15 11:16:31 -07:00
Jason Volk
726f131cc2 ircd::fs::aio: Use defer to post the chaser. 2019-04-12 17:32:53 -07:00
Jason Volk
58c5ac7855 ircd::ios: Add asio::defer() to interface. 2019-04-12 16:26:34 -07:00
Jason Volk
8c68a24e1f ircd::ctx::prof: Add cycle counter to ticker array. 2019-04-12 15:58:06 -07:00
Jason Volk
0ce0fe3890 ircd::server: Enable the cancel debug msg.
modules/s_fetch: Improve log level.
2019-04-12 14:26:10 -07:00
Jason Volk
15bd7282c7 ircd::db: Use rvalue refs here. 2019-04-12 09:36:53 -07:00
Jason Volk
14c32a2075 ircd::http: Support HTTP/1.0. 2019-04-12 08:36:17 -07:00
Jason Volk
34e35d97fe ircd::server: Additional assertions. 2019-04-12 07:12:49 -07:00
Jason Volk
79475d2ba3 ircd::net: Set socket non-blocking after handshake. 2019-04-12 05:54:11 -07:00
Jason Volk
2822cd0a8a ircd:Ⓜ️:fetch: Add headfill operation. 2019-04-12 05:09:38 -07:00
Jason Volk
e5b2700db3 ircd:Ⓜ️:v1: Allow empty user_id argument to have a fallback. 2019-04-12 04:45:25 -07:00
Jason Volk
eb33688bc1 ircd:Ⓜ️:fetch: Add additional interface tools; consolidate interface; cleanup/reorg.
ircd:Ⓜ️:fetch: Add backfill suite.
2019-04-12 04:44:26 -07:00
Jason Volk
7d27126f96 ircd:Ⓜ️:room: Add any_user() convenience. 2019-04-12 04:44:26 -07:00
Jason Volk
c14d67102a ircd:Ⓜ️:fetch: Reorient interface to expose fetch::request. 2019-04-12 03:35:46 -07:00
Jason Volk
eace5e309c ircd:Ⓜ️:feds: Add / upgrade backfill. 2019-04-12 01:53:57 -07:00
Jason Volk
360cc01dc8 ircd:Ⓜ️:feds: Migrate feds::perspective() to interface. 2019-04-12 00:55:16 -07:00
Jason Volk
302969f100 ircd:Ⓜ️:feds: Add namespace \brief. Reorg impl layout. 2019-04-12 00:33:29 -07:00
Jason Volk
dc93610914 ircd:Ⓜ️:feds: Add feds::event to interface. 2019-04-12 00:16:27 -07:00
Jason Volk
3865326d71 ircd::server: Add additional loghead(link, request) with more data. 2019-04-11 22:26:11 -07:00
Jason Volk
4f27526e9b ircd::server: Add monotonic identity counters for peers and links. 2019-04-11 22:26:11 -07:00
Jason Volk
d38c5801c9 ircd::server: Add interface to iterate all requests. 2019-04-11 21:40:59 -07:00
Jason Volk
5f1f0d0d7f ircd::server: Distill out functions to parse HTTP head from in/out buffers. 2019-04-11 21:13:42 -07:00
Jason Volk
9a6c5f5fe4 ircd::server: Don't parse from outbound buffer for canceled requests. 2019-04-11 20:49:29 -07:00
Jason Volk
eef869691a ircd::client: Tap the client::dock on all dtors. 2019-04-11 08:53:38 -07:00
Jason Volk
7794a92159 ircd::exception: Avoid repeating the system_error message string. 2019-04-11 07:50:48 -07:00
Jason Volk
c9c171ed5b ircd:Ⓜ️:feds: Refine the feds preliminary central interface. 2019-04-11 06:27:28 -07:00
Jason Volk
39ac003522 ircd:Ⓜ️:v1: Fallback to generating random user_id's for make_join. 2019-04-11 05:14:44 -07:00
Jason Volk
6d15db176d ircd::net: Fix mislabeled ios::descriptor. 2019-04-10 22:59:23 -07:00
Jason Volk
74778bd024 ircd::ios: Add a queued handler counter to stats. 2019-04-10 22:54:13 -07:00
Jason Volk
1d45f0bc5b ircd::net: Remove this prefetch. 2019-04-10 22:35:11 -07:00
Jason Volk
be18a1874d ircd::db: Increase file size target default. 2019-04-10 22:32:06 -07:00
Jason Volk
562651aa7d ircd:Ⓜ️:fetch: Add fetch+eval workers; start central interface; various. 2019-04-10 22:32:06 -07:00
Jason Volk
3a57cc8c94 ircd::db::port: Allow icf on impl defs. 2019-04-10 22:32:06 -07:00
Jason Volk
446964bb67 ircd::server: Apply stack protected canary on key frames. 2019-04-10 22:32:06 -07:00
Jason Volk
0b51a10a44 ircd::fs::aio: Count io_submit() 'stalls' in stats. 2019-04-10 20:18:51 -07:00
Jason Volk
ba46e8c005 ircd::fs::aio: Move for_each_completed() to central interface; add additional utils. 2019-04-10 20:18:51 -07:00
Jason Volk
4f4019a2a0 ircd:Ⓜ️ Add id::USER case to room_id(). 2019-04-10 20:18:50 -07:00
Jason Volk
ce9a9e58b4 ircd::fs: Switch to syscall_usage_warning for io_submit and fsync et al. 2019-04-10 20:18:50 -07:00
Jason Volk
d8bf5b9fff ircd::ctx: Add a syscall_usage_warning to suite. 2019-04-10 20:18:50 -07:00
Jason Volk
96ff7022d0 ircd::prof: Add a coarse enable conf item. 2019-04-10 01:29:25 -07:00
Jason Volk
06e7b16ed5 ircd::mods: Stub internal dlsym() hooker. 2019-04-09 21:27:45 -07:00
Jason Volk
a1863ba3b2 ircd::fs: Minor cleanup. 2019-04-09 21:08:15 -07:00
Jason Volk
5c558f98b6 ircd: Remove the initfirst linker request option. 2019-04-09 21:08:15 -07:00
Jason Volk
5c359f22f3 ircd::net::socket: Change behavior of non-blocking read_() calls to not throw for EAGAIN. 2019-04-09 21:08:15 -07:00
Jason Volk
3a9e85c294 ircd::net::addrs: Tweak interface detail; workaround issues. 2019-04-09 20:05:48 -07:00
Jason Volk
f268d6e29a ircd::fs::aio: Fix argument initialization. 2019-04-09 19:00:24 -07:00
Jason Volk
a8b536e420 modules/client/sync: Improve phased initial sync by bursting full room list at phase 0. 2019-04-08 04:43:23 -07:00
Jason Volk
a82410009e ircd:Ⓜ️:sync: Introduce phased polylogarithmic initial sync. 2019-04-08 02:46:49 -07:00
Jason Volk
a780609b76 ircd:Ⓜ️:sync: Add opts to sync::item. 2019-04-08 01:53:09 -07:00
Jason Volk
d08bd0b336 ircd:Ⓜ️:vm: Remove unused fault codes. 2019-04-07 20:57:43 -07:00
Jason Volk
5782f2a5f5 modules/m_rooms: Update module linkage of rooms::for_each(). 2019-04-07 20:15:31 -07:00
Jason Volk
6ff3c88fa4 ircd::fs: Add a wait() interface. 2019-04-07 17:59:52 -07:00
Jason Volk
3bed48011d ircd::fs: Add non-blocking option passed to fd ctor's open(2) fwiw. 2019-04-07 16:45:35 -07:00
Jason Volk
9994836db0 ircd::fs: Add and use dedicated log facility for ircd::fs. 2019-04-07 16:28:21 -07:00
Jason Volk
e752273462 ircd::prof: Add an rusage based profile object. 2019-04-07 15:34:39 -07:00
Jason Volk
ab6cf110d5 ircd::prof: Make sample_t constructions consistent for all prof objects. 2019-04-07 15:33:36 -07:00
Jason Volk
6ae6624772 ircd:Ⓜ️ Add room object equality operator suite. 2019-04-07 14:50:27 -07:00
Jason Volk
8a8dbea623 ircd:Ⓜ️ Update linkage for m::visible interface. 2019-04-06 18:35:01 -07:00
Jason Volk
5384bd8609 ircd:Ⓜ️:dbs: Minor fix typo. 2019-04-06 18:17:54 -07:00
Jason Volk
989b3f0cc3 ircd::rfc1035: Use proper platform byte swapping. 2019-04-06 17:12:01 -07:00
Jason Volk
d1966fffb5 ircd::prof: Add more timing calls with better resolution. 2019-04-06 14:18:08 -07:00
Jason Volk
161502452a ircd::fs::aio: Improve stability of completion ring iteration. 2019-04-06 13:52:22 -07:00
Jason Volk
d118a0e743 ircd::fs: Add enumerated op codes to identify request types. 2019-04-06 12:13:16 -07:00