0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-25 20:08:40 +02:00
Commit graph

3711 commits

Author SHA1 Message Date
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
Jason Volk c3b9e2fca4 ircd::fs::aio: Reduce nr of modulo for completion ring iteration. 2019-04-05 18:12:23 -07:00
Jason Volk 9d8fe82126 ircd::prof: Add x-platform cputime reporting alternative interface. 2019-04-05 18:12:23 -07:00
Jason Volk e29ebb0b98 ircd::info: Query sysconf value for CLK_TCK. 2019-04-05 18:12:23 -07:00
Jason Volk 3a68b65fe8 ircd::ctx: Optimize with no_stack_unwind attribute since it's done by us. 2019-04-05 18:12:23 -07:00
Jason Volk c3480f9f79 ircd: Rename various matrix loggers; increase log name width. 2019-04-05 18:12:22 -07:00
Jason Volk ecf8465d36 ircd::log: Change some widths into consts; various reorg. 2019-04-05 14:38:50 -07:00
Jason Volk 5a26cbb65c ircd::mods: Fix error code case for module load errors; split demangler function. 2019-04-03 21:05:39 -07:00
Jason Volk f289bc5095 ircd: Additional system_error translation utils. 2019-04-03 21:05:39 -07:00
Jason Volk 8e1dc9f453 ircd::prof: Develop profiling system; implement non-hardware counters. 2019-04-03 15:51:42 -07:00
Jason Volk 5e7661ba78 ircd::info: Tweaks for additional CPU identification. 2019-04-03 15:51:42 -07:00
Jason Volk ff4afc0efc ircd::fmt: Add support for padding; add alignment and padding to additional handlers.
fixes #54
2019-04-03 15:51:42 -07:00
Jason Volk a1419ca78b ircd::fmt: Add alignment rules to hex lowercase specifier handler. 2019-04-03 15:51:42 -07:00
Jason Volk 63c850b123 ircd: Rename perf:: to prof::. 2019-04-03 15:51:42 -07:00
Jason Volk 091ee437c0 ircd:Ⓜ️:sync: Fix missing exception reporting on linear handle caller. 2019-04-02 09:47:35 -07:00
Jason Volk 6af9d35edc ircd::info: Fix platform condition; string length. 2019-04-01 02:04:52 -07:00
Jason Volk f7dc5f6146 ircd::fs: Add fd fdno ctor. 2019-03-31 23:57:35 -07:00
Jason Volk dab225113d ircd::resource: Handle and generate an OPTIONS response.
fixes #65
2019-03-31 23:08:29 -07:00
Jason Volk 7434a06ec6 ircd::resource: Add conditional method list generator. 2019-03-31 19:15:45 -07:00
Jason Volk c75d602d69 ircd::http: Fix case comparisons for header strings in header tool. 2019-03-31 19:00:38 -07:00
Jason Volk af08458f8d ircd::resource: Stub default/builtin method handlers for OPTIONS and HEAD. 2019-03-31 18:51:59 -07:00
Jason Volk ae936d8e55 ircd::resource: Improve method already-registered error msg. 2019-03-31 18:38:24 -07:00
Jason Volk 403bf52867 ircd::perf: Start a perf profiling subsystem; move ctx::prof counter utils. 2019-03-31 18:16:18 -07:00
Jason Volk 9e61cf7bc0 ircd::info: Query cpuid features on init. 2019-03-31 17:04:02 -07:00
Jason Volk 04959d946c ircd:Ⓜ️:state: Reduce for_each stack. 2019-03-31 15:12:38 -07:00
Jason Volk 19c58ca23e ircd:Ⓜ️:filter: Add convenience filter::get() taking a direct query string value. 2019-03-31 14:41:04 -07:00
Jason Volk 6644161140 ircd:Ⓜ️ Add state_filter w/ related m::name strings. 2019-03-31 14:03:21 -07:00
Jason Volk 57119f2367 ircd::fs::aio: Minor cleanup. 2019-03-31 13:24:42 -07:00
Jason Volk 4eba0fcd6f modules/client/directory/room: Remove old alias caching and fetching; reroute central interfaces. 2019-03-30 19:02:11 -07:00
Jason Volk 9c2b215d60 ircd:Ⓜ️:room::aliases::cache: Add remote fetching; improve interface. 2019-03-30 19:02:11 -07:00
Jason Volk 8063904c06 ircd:Ⓜ️:room::aliases: Add preliminary aliases cache replacement interface. 2019-03-30 19:02:11 -07:00
Jason Volk d17ac6a8bb ircd:Ⓜ️🆔 Add id part-swapping interface. 2019-03-30 18:15:07 -07:00
Jason Volk 276ba9941d modules/m_room_aliases: Move for_each impl to module. 2019-03-30 18:15:07 -07:00
Jason Volk 317fa612fb ircd:Ⓜ️:room: Add aliases interface. 2019-03-30 18:15:07 -07:00
Jason Volk 128fdfa8a3 ircd::json::stack: Improve active checkpoint invalidation related. 2019-03-30 14:58:34 -07:00
Jason Volk 9b2de5f4fc ircd::json::stack: Add conditional exception rollback toggle. 2019-03-30 14:35:48 -07:00
Jason Volk f7fa89b061 ircd::json::stack: Alter checkpoint rollback() behavior to proactive. 2019-03-30 14:13:34 -07:00
Jason Volk a9a6adf28d ircd::json::stack: Add checkpoint ctor option for initial commitment state. 2019-03-30 14:09:47 -07:00
Jason Volk 9f534dea17 ircd::fs::aio: Add iteration tool for kernel completion queue. 2019-03-30 14:09:47 -07:00
Jason Volk db58b07ddc ircd::ios: Ensure current handle pointer is nulled on fault exit point as well. 2019-03-30 13:11:55 -07:00
Jason Volk 0ffb6d6c8e ircd::fs::aio: Improve interface with kernel context structure. 2019-03-30 13:11:39 -07:00
Jason Volk 672bb6f10c ircd::ctx: Fix detach-mode deallocation points. 2019-03-30 13:08:04 -07:00
Jason Volk b6732b5fdf ircd::fs::aio: Optimize integer sizes of various stats. 2019-03-30 13:02:03 -07:00
Jason Volk 76138dbebd ircd::fs::aio: Remove unused errbuf. 2019-03-29 21:46:03 -07:00
Jason Volk ee5e31e0bf ircd::json: Use strict type analysis for value constructions. 2019-03-28 21:50:08 -07:00
Jason Volk f6f73e87cb ircd::json: Add strict check overload to type() suite. 2019-03-28 21:01:56 -07:00
Jason Volk 4480c136ee ircd::ios: Add summation for stats w/ console totals. 2019-03-28 17:22:52 -07:00
Jason Volk 289aca0c4a ircd::ios: Move descriptor stats into structure. 2019-03-28 17:16:39 -07:00
Jason Volk 79065f805b ircd::ios: Add hook for is_continuation; minor reorg. 2019-03-28 16:56:55 -07:00
Jason Volk f340e44692 ircd:Ⓜ️:vm: Add event_id and share sequence to the loghead; minor cleanup. 2019-03-28 16:08:45 -07:00
Jason Volk 4b816f8c74 ircd::json::stack: Warning when flushing under a checkpoint. 2019-03-28 15:49:48 -07:00
Jason Volk 840b3c4b0c ircd::json::stack: Add method to check for pending eptr. 2019-03-28 15:49:48 -07:00
Jason Volk 8523aea56a ircd:Ⓜ️:dbs: Log various issues during reference indexing; minor cleanup. 2019-03-28 15:36:26 -07:00
Jason Volk f15769ea0e modules: Add .well-known handler to serve the m::self::servername string for now. 2019-03-28 13:13:35 -07:00
Jason Volk d47518a102 ircd:Ⓜ️:self: Add the servername string to this section; update README. 2019-03-28 13:08:40 -07:00
Jason Volk 6dc50292e8 ircd::fs: Simplify these ifdef conditions. 2019-03-27 19:07:11 -07:00
Jason Volk 1c5b7d2d71 ircd:Ⓜ️:room::auth: Add central interface for chain fetch/eval. 2019-03-27 13:44:33 -07:00
Jason Volk b73bb789b2 ircd::db: Fix runlevel condition for background task invocation. 2019-03-27 13:04:12 -07:00
Jason Volk ccf17d648c ircd::db: Add debug message for pool->wait() on bgcancel(). 2019-03-27 13:04:12 -07:00
Jason Volk 334484c4bc ircd::fs::aio: Add custom allocator at descriptor site for the sigfd operation. 2019-03-27 13:04:12 -07:00
Jason Volk 3225c1fdfe ircd::ios: Add interface for user allocation closure at descriptor site. 2019-03-27 13:04:12 -07:00
Jason Volk 02f413c834 ircd::ios: Track current handler like ctx::current. 2019-03-27 13:04:12 -07:00
Jason Volk 1e900217ee ircd::fs::aio: Move ring struct into system::. 2019-03-27 13:04:12 -07:00
Jason Volk 55241c5309 ircd::ctx: Expand the reference cycle counting interface. 2019-03-27 13:04:12 -07:00
Jason Volk 20d0ea70c2 ircd::ios: Add tsc counters to hook state. 2019-03-27 13:04:12 -07:00
Jason Volk 28063823dd ircd::ctx: Inline rdtsc(). 2019-03-27 13:04:12 -07:00
Jason Volk d37129ac03 ircd::ios: Add allocation hooks. 2019-03-27 13:04:12 -07:00
Jason Volk d2546120ee ircd: Add descriptor participation for all asynchronous operations. 2019-03-27 13:04:12 -07:00
Jason Volk d5397c599f ircd::ios: Add asio handler hook framework. 2019-03-27 13:04:12 -07:00
Jason Volk 3bc716e0f5 ircd::ctx: Assert ctx doesn't finish with uncaught exceptions. 2019-03-27 13:04:12 -07:00
Jason Volk 6fbd29b1ed ircd::ctx: Add context::WAIT_JOIN feature flag. 2019-03-27 13:04:12 -07:00
Jason Volk 97ee68d4f3 ircd::server: Don't alter open_opts.hostport here. 2019-03-25 19:14:49 -07:00
Jason Volk 0f184cd449 ircd::server: Fix loghead() failure conditions. 2019-03-25 18:48:32 -07:00
Jason Volk 84d4ca485b ircd:Ⓜ️:room::state: Add preliminary purge_replaced() w/ console cmd. 2019-03-25 18:39:30 -07:00
Jason Volk 6b3a459d29 Revert "ircd::server: Fix concurrency assumptions in server::get()."
This reverts commit 3db83faac3.
2019-03-25 18:31:05 -07:00
Jason Volk 1ffa00adbf ircd:Ⓜ️:room: Add central interface linkage for room::purge(). 2019-03-25 18:04:16 -07:00
Jason Volk 45d29ed5cf ircd::net: Add log messages reporting IPv6 init status; handle errors during check. 2019-03-25 16:33:22 -07:00
Jason Volk 195937cd08 ircd::server: Condition the next query after SRV on ipv6 state. 2019-03-25 15:20:01 -07:00
Jason Volk a54c5f44e4 ircd::net: Add conf item to toggle ipv6 for ircd::net::. Auto-detect viability on net::init. 2019-03-25 15:18:06 -07:00
Jason Volk c0cbfd2d23 ircd::net: Add util to detect usable ipv6 interface. 2019-03-25 15:18:06 -07:00
Jason Volk 672e9dd712 ircd::server: Add conf item to toggle ipv6 use. 2019-03-25 15:18:06 -07:00
Jason Volk 28569176f2 ircd::net: Use a structured argument to addrs closure; add more data. 2019-03-25 15:18:06 -07:00
Jason Volk a43c0e5798 ircd::server: Split AAAA and A handlers for chaining. 2019-03-25 14:37:01 -07:00
Jason Volk 8c27cb847a ircd::net: Add conditional interface to getifaddrs() w/ console cmd. 2019-03-25 13:56:08 -07:00
Jason Volk 4d3fd753e1 ircd::net: Add interface for listener bound socket information; improve net listen console cmd. 2019-03-25 12:55:59 -07:00