0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-26 08:42:34 +01:00
Commit graph

2874 commits

Author SHA1 Message Date
Jason Volk
4067809a9a ircd:Ⓜ️:state: Add addl rep util; checkpoint remove stub. 2018-09-05 01:36:44 -07:00
Jason Volk
6dc3f4044a modules: Checkpoint vm_fetch fwiw (disabled from active eval codepaths). 2018-09-04 23:27:01 -07:00
Jason Volk
2140f42cd7 ircd::resource: Internalize the buffering boilerplate used with json::stack. 2018-09-04 22:03:12 -07:00
Jason Volk
bb6ab49fe1 ircd::exception: Update comment. 2018-09-04 21:09:12 -07:00
Jason Volk
aeb41e7341 ircd:Ⓜ️ Add pretty_msgline() suite. 2018-09-04 06:35:10 -07:00
Jason Volk
3426fc650f ircd::fs: Test if O_DIRECT possible on path target. 2018-09-04 01:43:21 -07:00
Jason Volk
1346fdd639 ircd: Fix bug. 2018-09-04 00:43:54 -07:00
Jason Volk
60a0694853 construct: Add program option to disable direct IO. 2018-09-03 07:59:05 -07:00
Jason Volk
be84bf83de ircd::conf: Add item init callback. 2018-09-03 04:41:14 -07:00
Jason Volk
08a35bdc6a ircd::conf: Add reset() suite to rexecute item callbacks. 2018-09-02 21:16:49 -07:00
Jason Volk
6440ea3f11 ircd:Ⓜ️:dbs: Add conf items for events db column caches. 2018-09-02 21:16:49 -07:00
Jason Volk
a5d014d10a ircd::db: Use our cache wrapping for block and compressed column caches. 2018-09-02 17:53:24 -07:00
Jason Volk
084d434c59 ircd::db: Add internal cache wrapper interface; add comment. 2018-09-02 17:53:24 -07:00
Jason Volk
26ed7c2770 ircd::client: Move client make_shared into ircd/client.cc due to SO issues. 2018-09-01 22:35:01 -07:00
Jason Volk
168b82a972 ircd::client: Improve the acceptance pattern; condition on conf limits. 2018-09-01 22:21:42 -07:00
Jason Volk
384f5917d0 ircd::net::listener: Add callback to proffer the connection before handshake. 2018-09-01 22:12:49 -07:00
Jason Volk
e3262a7b31 ircd::client: Function to count clients connected from remote addr. 2018-09-01 21:19:15 -07:00
Jason Volk
1cedbd7b06 ircd::client: Convert client instance_list to instance_multimap. 2018-09-01 21:05:45 -07:00
Jason Volk
1154d15c5e ircd::util: Add instance_multimap. 2018-09-01 21:04:34 -07:00
Jason Volk
349edc2c97 ircd::util: Fix instance_list noexcept specification for move semantics. 2018-09-01 20:45:04 -07:00
Jason Volk
b63c103bb7 ircd: Disable CBOR for now. 2018-09-01 16:57:56 -07:00
Jason Volk
f7813f61a5 ircd::client: Rename the client request pool. 2018-09-01 15:08:48 -07:00
Jason Volk
91dff38a57 ircd:Ⓜ️ Add prefetch() to event::fetch interface. 2018-09-01 07:15:03 -07:00
Jason Volk
62426ab210 ircd::db: Add column prefetch. 2018-09-01 07:15:03 -07:00
Jason Volk
ff7d2514a0 ircd::db: Remove the cache prefetch/fetch interface. 2018-09-01 07:15:03 -07:00
Jason Volk
13c9e5bf6f ircd::client: Add interface to respawn contexts after a terminate w/ console cmd. 2018-09-01 07:15:02 -07:00
Jason Volk
5f9c12bddc ircd::ctx: Break down when() templates; fix mutability. 2018-08-30 21:20:43 -07:00
Jason Volk
4b2ff18f6c ircd::ctx: Add ADL'ed state() convenience for promise template. 2018-08-30 19:53:16 -07:00
Jason Volk
60b3cd828e ircd::net: Add listener::name() interface method. 2018-08-30 19:15:28 -07:00
Jason Volk
e5f94ed704 ircd::http: Simplify interface; DRY. 2018-08-30 19:00:07 -07:00
Jason Volk
a4bb471cf7 ircd::openssl/ircd::net: Add presupplied rfc3526 DH parameters. 2018-08-29 16:16:55 -07:00
Jason Volk
fcb5965e45 ircd::net: Save listener opts and add accessor. 2018-08-29 15:52:37 -07:00
Jason Volk
5dd9b7a3cf ircd::fs: Support for finding the O_DIRECT alignments from system. 2018-08-28 20:15:40 -07:00
Jason Volk
0f2dd85a47 ircd::ctx: Disable interrupt for the view producer sequence. 2018-08-28 18:58:09 -07:00
Jason Volk
76e48b3ef3 ircd::ctx: Test for valid then() before calling from here. 2018-08-28 18:58:09 -07:00
Jason Volk
3833aa70cb ircd::db: Additional trivial vtable placements. 2018-08-28 15:44:03 -07:00
Jason Volk
a4e4424ede ircd: Improve main control flow for termination condition during init. 2018-08-28 15:04:23 -07:00
Jason Volk
0787b5ff71 ircd::openssl: Add dhparam generator suite. 2018-08-28 13:01:10 -07:00
Jason Volk
edbc0984c5 ircd::ctx: Linkage for default and move semantics of ctx::context. 2018-08-26 20:46:59 -07:00
Jason Volk
0eaa2fe211 ircd::ctx: Add motivation section to README. 2018-08-26 20:46:59 -07:00
Jason Volk
04175d62b2 ircd::ctx: Object semantics on unlock_guard<>. 2018-08-26 20:46:59 -07:00
Jason Volk
600a73d566 ircd::ctx: Add an upgrade_lock<> template. 2018-08-26 20:46:59 -07:00
Jason Volk
3a8f3c58de ircd::ctx: Add some indicators on shared_mutex. 2018-08-26 18:01:12 -07:00
Jason Volk
26d062e3f7 ircd::ctx: Fix erroneous have-include guard here. 2018-08-26 17:19:53 -07:00
Jason Volk
48a436fcc1 ircd:Ⓜ️:event: Addl prev utils; simplify before(). 2018-08-26 07:13:47 -07:00
Jason Volk
02d1cd1115 ircd:Ⓜ️ Add central linkage for m::feds::state. 2018-08-26 07:13:47 -07:00
Jason Volk
0a9fdda893 ircd::allocator: Add state::available(n) query. 2018-08-25 18:46:54 -07:00
Jason Volk
74bb040b8c ircd::resource: Make response head buffer size a named const; fix comment. 2018-08-25 13:58:49 -07:00
Jason Volk
6fc078395b ircd::fs: Fix formatting. 2018-08-24 15:44:00 -07:00
Jason Volk
170475f374 ircd:Ⓜ️ Add user::events iterator w/ console cmd. 2018-08-24 14:01:32 -07:00
Jason Volk
bf234c77a4 ircd:Ⓜ️:user: Ensure bools are returned from iteration closures here. 2018-08-24 13:55:33 -07:00
Jason Volk
0f79ad7b08 ircd:Ⓜ️:room: Officiate random_origin w/ central linkage; use view closure. 2018-08-24 04:19:55 -07:00
Jason Volk
1450678b83 ircd::db: Plug remaining filesystem operations into ircd::fs / AIO. 2018-08-24 00:40:35 -07:00
Jason Volk
e0024b82ea ircd::fs: Use fallocate() rather than posix_fallocate(); add keep_size. 2018-08-23 23:08:41 -07:00
Jason Volk
79d4c15ff5 ircd::fs: Deinline and improve append() related. 2018-08-23 23:08:22 -07:00
Jason Volk
55b2b128c6 ircd::fs: Add an fallocate wrapper for now. 2018-08-23 21:24:35 -07:00
Jason Volk
0ce45b50d6 ircd::fs: Add truncate() suite. 2018-08-23 21:24:19 -07:00
Jason Volk
888862ec56 ircd::fs: Deinline and improve overwrite() suite. 2018-08-23 21:23:42 -07:00
Jason Volk
1a1002c96d ircd::fs: Propagate error_code through exception system; improve stack. 2018-08-23 03:31:36 -07:00
Jason Volk
ed6dc56d35 ircd: Add make_error_code(std::system_error) for completeness. 2018-08-23 03:23:59 -07:00
Jason Volk
5239e49f4f ircd::db: Improve opts related for random_access_file; minor cleanup. 2018-08-23 01:54:58 -07:00
Jason Volk
7698759d04 ircd::db: Integrate env::sequential_file with AIO. 2018-08-23 01:54:18 -07:00
Jason Volk
1748ff843b ircd::info: Sample system page size from sysconf(). 2018-08-23 01:09:11 -07:00
Jason Volk
cbd149b650 ircd:Ⓜ️:room::origins: Add a bool for_each() to eventually replace test(). 2018-08-22 17:42:35 -07:00
Jason Volk
5ba5cea109 ircd::rand: Add note to rand::integer(). 2018-08-22 17:19:18 -07:00
Jason Volk
6cdb1bba63 ircd::ctx: Add pool::set convenience. 2018-08-22 14:37:40 -07:00
Jason Volk
ea172a3378 ircd::conf: Add set callback notification. 2018-08-22 14:02:09 -07:00
Jason Volk
63aa8e310e ircd::conf: Restructure virtuals to direct all entry through parent. 2018-08-22 13:57:03 -07:00
Jason Volk
3a4817354e ircd:Ⓜ️ Add room state types iteration. 2018-08-21 08:37:44 -07:00
Jason Volk
6d3eb3ae85 fixup! ircd::db: Fix cache iteration interpretation. 2018-08-21 00:42:13 -07:00
Jason Volk
0f021e09d4 ircd::db: Fix cache iteration interpretation. 2018-08-21 00:20:30 -07:00
Jason Volk
32285d5dac ircd::fs: Add a uuid-ish util for an fd. 2018-08-20 22:44:39 -07:00
Jason Volk
ff66bc441c ircd::ctx: Stack uninterruptible's gracefully; assume context. 2018-08-19 20:11:41 -07:00
Jason Volk
ee9343a68f ircd::client: Improve main exception propagation for termination/shutdown related. 2018-08-19 18:15:33 -07:00
Jason Volk
f4a4674daa ircd::ctx::pool: Add a terminate(); cleanup del(). 2018-08-19 15:55:35 -07:00
Jason Volk
32c0d08928 ircd::ctx: Minor cleanup. 2018-08-19 15:53:10 -07:00
Jason Volk
adee757303 ircd::fs: Add fsync()/fdsync() w/ AIO. 2018-08-18 23:02:34 -07:00
Jason Volk
9165c71afd ircd::db: Concurrent row seek. 2018-08-18 20:59:28 -07:00
Jason Volk
89e920fdd4 ircd::db: Add column cache check util. 2018-08-18 20:40:23 -07:00
Jason Volk
0a822212e1 ircd::ctx: Add latch (concurrency TS). 2018-08-18 19:29:00 -07:00
Jason Volk
1b7e3af966 ircd::db: Simplify internal seek stack; minor cleanup. 2018-08-18 18:41:22 -07:00
Jason Volk
8537cca439 ircd::db: Improvements to cache interface. 2018-08-18 17:59:31 -07:00
Jason Volk
a7f43fe48d ircd::buffer: Support release() for unique_buffer. 2018-08-18 17:43:59 -07:00
Jason Volk
6f75a1c8f8 ircd::buffer: Add copy-from-buffer ctor to unique_buffer. 2018-08-18 17:42:02 -07:00
Jason Volk
a33b4b05de ircd::ctx: Proper condition variable exclusion semantics. 2018-08-17 13:30:04 -07:00
Jason Volk
5326f434d9 ircd::db: No need to start pools with more than 0 ctxs. 2018-08-17 12:51:50 -07:00
Jason Volk
af2418b1f5 ircd::mods: Minor cleanup. 2018-08-17 12:51:49 -07:00
Jason Volk
61fade178e ircd::m/modules/key: Various reorg / modularization. 2018-08-17 12:51:49 -07:00
Jason Volk
d7075d73e5 ircd::fs: Additional make_path() overload. 2018-08-17 12:51:49 -07:00
Jason Volk
31ff4f68cb ircd::db: Plug env::random_access_file into AIO. 2018-08-17 12:51:48 -07:00
Jason Volk
6db0659c06 ircd::db: Enable port; minimal context pool state. 2018-08-17 12:51:48 -07:00
Jason Volk
570f715c87 ircd::net: Improve listener to-string related. 2018-08-17 12:51:48 -07:00
Jason Volk
4199d5026c ircd: Factor out the ircd::BUFSIZE; remove stale ircd::config extern. 2018-08-17 12:51:48 -07:00
Jason Volk
3ed2a32555 ircd::util: Add README blerb to directory. 2018-08-17 12:51:48 -07:00
Jason Volk
8603ccf16b ircd:Ⓜ️ Extend import check-and-reload to reference operator related. 2018-08-15 23:13:25 -07:00
Jason Volk
fd36e553d5 ircd::util: Add suite to util::params for fetch-by-name. 2018-08-15 23:00:42 -07:00
Jason Volk
69e1c3478f ircd::util: Add index() util. 2018-08-15 23:00:42 -07:00
Jason Volk
83cbfea75d ircd::ctx: Minor cleanup. 2018-08-15 08:21:03 -07:00
Jason Volk
c442954e12 ircd:Ⓜ️ Various init reorg related. 2018-08-14 16:47:42 -07:00
Jason Volk
19b4e58944 ircd:Ⓜ️ Rename modules map to imports. 2018-08-14 15:51:57 -07:00
Jason Volk
c00d27d7ea ircd::conf: Simplify conf related; add \brief blerb. 2018-08-13 14:51:06 -07:00
Jason Volk
d1944c6006 construct/ircd: Use hostname-based init from command line params. 2018-08-13 14:36:50 -07:00
Jason Volk
951cd4ad63 ircd::fs: Update/fix syspaths related. 2018-08-12 16:46:52 -07:00
Jason Volk
8fb580aaf5 configure/ircd: Overhaul install system directory related. 2018-08-12 16:30:51 -07:00
Jason Volk
e388d28585 configure: Add exemplary app-specific withval for maximum length of mxid. 2018-08-12 10:16:00 -07:00
Jason Volk
de2de7a5bf ircd::magic: Minor cleanup. 2018-08-11 00:42:08 -07:00
Jason Volk
1d11659c43 ircd::js: Remove xdr. 2018-08-11 00:42:08 -07:00
Jason Volk
9aedac4461 ircd: Move preliminary cbor into directory. 2018-08-11 00:42:08 -07:00
Jason Volk
e5834065ed ircd::net: Unionize datagram for bidirections. 2018-07-07 22:10:29 -07:00
Jason Volk
fe0bd19763 ircd::net: Add udp listener. 2018-07-07 21:33:23 -07:00
Jason Volk
8abfe6adf5 ircd::net: Inherit from closer net::error for listener::error. 2018-07-07 19:44:45 -07:00
Jason Volk
ed0e25406c ircd::server: Clarify comment. 2018-07-06 19:29:49 -07:00
Jason Volk
02fcdc8635 ircd::net::listener: Add callback-action for proper abstraction. 2018-07-06 18:38:08 -07:00
Jason Volk
a98bd357df construct/ircd: Add -pitrecdb option to allow point-in-time recovery. 2018-07-06 17:09:33 -07:00
Jason Volk
668d12bf72 ircd::ctx: Fix future_state test grate. 2018-07-06 16:33:53 -07:00
Jason Volk
e2edd13a33 ircd: Remove ircd::strand related. 2018-07-06 00:44:24 -07:00
Jason Volk
da5d767431 ircd::ctx: Fix pointer punning in promise / shared_state. 2018-07-06 00:26:34 -07:00
Jason Volk
8fcd6379a4 construct/ircd: Add -nojs option to not init js engine. 2018-07-05 16:57:47 -07:00
Jason Volk
96da6a3486 ircd::buffer: Export begin()/end() ADL's down to ircd::. 2018-07-04 21:48:15 -07:00
Jason Volk
b80468d6c8 ircd::js: Checkpoint corrections to XDR layout. 2018-07-04 21:44:45 -07:00
Jason Volk
da04032cc4 ircd::js: Checkpoint corrections to XDR; esr52. 2018-07-03 18:50:05 -07:00
Jason Volk
9a579c8dcb ircd::js: Support JS::SetBuildIdOp context callback. 2018-07-03 16:49:08 -07:00
Jason Volk
ae5678269c ircd::js: Fixes for js bitrot / maintenance cleanup. 2018-07-03 15:44:44 -07:00
Jason Volk
b6f7a64c4c ircd::cbor: checkpoint; item header size and value counter gauge. 2018-07-02 01:31:59 -07:00
Jason Volk
5e8c1ad52d ircd::buffer: Add const_buffer::insert() for boost::spirit compliance (noop). 2018-07-01 19:51:37 -07:00
Jason Volk
ac4ed03142 ircd::buffer: Add buffer_base::empty() for boost::spirit conceptual compliance. 2018-07-01 19:20:00 -07:00
Jason Volk
a96f2ae030 ircd::spirit: Import locals into namespace; minor cleanup. 2018-07-01 19:11:13 -07:00
Jason Volk
7624e36c7c ircd::spirit: Import binary parsers into spirit convenience namespace. 2018-07-01 18:42:56 -07:00
Jason Volk
d1c1fb931f ircd::util: Add specific endian bswaps e.g arpa/inet.h; minor cleanup. 2018-07-01 16:39:43 -07:00
Jason Volk
67bcbf628c ircd::mods: Replace allocated string metadata with string_view based on common usage. 2018-07-01 14:42:28 -07:00
Jason Volk
a3db6f2a95 ircd: Replace iostream include with iosfwd to elide inits in every unit. 2018-07-01 14:29:52 -07:00
Jason Volk
01d9ce038c ircd: Preliminary CBOR namespace and unit. 2018-07-01 02:09:35 -07:00
Jason Volk
08d45dc838 ircd:Ⓜ️ Generalize room::lonly into more efficient room::origins::only(origin). 2018-06-30 21:57:09 -07:00
Jason Volk
85d1c924a5 ircd:Ⓜ️ Add function to query if room only has our origin joined. 2018-06-30 18:49:03 -07:00
Jason Volk
7d4eb46a1a ircd:Ⓜ️ Interface/linkage to generate room account_data type string. 2018-06-19 21:47:26 -06:00
Jason Volk
f8763af509 ircd:Ⓜ️ Add user interface w/ linkage for room account data. 2018-06-19 21:33:03 -06:00
Jason Volk
4b5545f844 ircd: Make some fundamental string_view ADL's constexpr. 2018-06-19 21:30:29 -06:00
Jason Volk
c136e82a57 ircd:Ⓜ️ Temporary fixes for stale static initializations. 2018-06-16 23:00:47 -06:00
Jason Volk
13bee93ddc ircd: Split standard includes back into an stdinc.h. 2018-06-15 16:19:29 -06:00
Jason Volk
9601dac9cc ircd: Consolidate stdinc.h and ircd.h and fix precompiled headers. 2018-06-15 16:13:18 -06:00
Jason Volk
0d688b386b ircd::json: Perform unquote() in json::string ctor as described... 2018-06-12 01:00:15 -07:00
Jason Volk
912562f469 ircd:Ⓜ️:vm: Checkpoint phase-as-class skeleton. 2018-06-12 01:00:14 -07:00
Jason Volk
0da4dec13c ircd:Ⓜ️:event: Add topological before; improve prev iteration closure; reorg some util. 2018-06-09 14:37:31 -07:00
Jason Volk
3da5afdb85 ircd::allocator: Additional doc comment on profiler. 2018-06-09 14:37:31 -07:00
Jason Volk
acddfa77f8 ircd::allocator: Add mallinfo to string support w/ console command. 2018-06-09 14:37:31 -07:00
Jason Volk
feb1aa5d2f ircd::info: Add glibc related to info. 2018-06-09 13:42:35 -07:00
Jason Volk
960553f279 ircd::db: Checkpoint skeleton state structure for env. 2018-06-09 13:40:21 -07:00
Jason Volk
a077766812 ircd:Ⓜ️ Update README. 2018-06-09 13:37:04 -07:00
Jason Volk
55a8391e48 ircd::allocator: Add trim() if available. 2018-06-09 13:34:01 -07:00
Jason Volk
5146ddf67e ircd::json: Reduce iov interface; make conditional nodes evaluate conditionally. 2018-06-05 11:16:52 -07:00