0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-08-24 02:24:47 +02:00
Commit graph

2733 commits

Author SHA1 Message Date
Jason Volk 7145af512d ircd:Ⓜ️:dbs: Update some bloom filter default values. 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 107e4b59af ircd::fs: Use the gnu_dev_*() suite rather than sys/types macros. 2018-09-01 23:51:54 -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 bbc26ebb75 ircd::net: Minor cleanup. 2018-09-01 22:21:42 -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 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 ca1ee19a47 ircd::db: Minor simplify. 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 4a1e498059 ircd::openssl: Increase default generated certificate duration value. 2018-08-31 21:53:35 -07:00
Jason Volk 3ee9186173 ircd:Ⓜ️ Improve safe init exception propagation. 2018-08-30 21:55:20 -07:00
Jason Volk 140c4a5143 ircd:Ⓜ️ Only set ircd offline presence on clean ~init. 2018-08-30 21:55:20 -07:00
Jason Volk 32a67c82c9 ircd::mods: Minor cleanup. 2018-08-30 21:55:19 -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 83edde639f ircd::http: Improve query::string::at() error message to show key name. 2018-08-30 10:58:32 -07:00
Jason Volk ac3b45604a ircd::db: Move comment. 2018-08-30 07:21:44 -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 b1aa733d95 ircd::db: Additional critical exclusion and interruption zones. 2018-08-28 21:53:17 -07:00
Jason Volk e8e2ca4850 ircd::fs: Reorg some #include statements. 2018-08-28 20:15:40 -07:00
Jason Volk 5c6874c790 ircd::db: Get better required alignments for direct IO. 2018-08-28 20:15:40 -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 76e48b3ef3 ircd::ctx: Test for valid then() before calling from here. 2018-08-28 18:58:09 -07:00
Jason Volk d70ef25711 ircd::db: Simplify port entry checks. 2018-08-28 15:57:49 -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 89fbab2d7a ircd::openssl: Add yield points to genprime routine. 2018-08-28 13:15:26 -07:00
Jason Volk 0787b5ff71 ircd::openssl: Add dhparam generator suite. 2018-08-28 13:01:10 -07:00
Jason Volk 0dcaedabff ircd::openssl: Move genrsa_cb to genprime_cb for abstractive reuse. 2018-08-28 12:53:34 -07:00
Jason Volk 8340f005da ircd::db: Use terminate() on the request pool on ~init(); log messages. 2018-08-28 12:06:56 -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 2a11c33c9f ircd::ctx: More list assertions. 2018-08-27 01:45:31 -07:00
Jason Volk cd74a39330 ircd::db: Move the write mutex to a global and lock for compaction points too. 2018-08-26 20:46:59 -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 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 2424208a01 ircd::json: Reverse number's <alternative>. 2018-08-25 15:06:17 -07:00
Jason Volk 41dd3cca29 ircd::resource: Better debug log indication of chunked encoding response. 2018-08-25 13:59:22 -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 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 0b98144cfe ircd::db: Minor cleanup; assertions. 2018-08-24 10:59:22 -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 84f4cbd359 ircd::db: Serialize entry to rdb's write impl to circumvent pthread deadlock. 2018-08-24 03:40:37 -07:00
Jason Volk c94b6f02ca ircd::db: Options package; no DIO writes 2018-08-24 03:40:25 -07:00
Jason Volk 5825b21231 ircd::fs: Disable fsync()/fdatasync() via AIO for now. 2018-08-24 00:40:35 -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 6f2eeaec67 ircd::db: Full dressing on the environment. 2018-08-23 23:08:41 -07:00
Jason Volk f666728d37 ircd::fs: Add assertion; minor. 2018-08-23 23:08:41 -07:00
Jason Volk e3827124e9 ircd::fs: Use lseek() for size(fd) overload. 2018-08-23 23:08:22 -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 ec0670262e ircd::db: Give some env callbacks handlers. 2018-08-23 18:57:24 -07:00
Jason Volk bbcddbcf5b ircd::db: Use our fs::size() for file sizing env callback. 2018-08-23 05:37:32 -07:00
Jason Volk 29d4ec71d5 ircd::db: Update env exception handlers to propagate to rocksdb. 2018-08-23 04:20:16 -07:00
Jason Volk f630c28439 ircd::db: Add error_to_status conversion for rocksdb::Status. 2018-08-23 04:19:32 -07:00
Jason Volk 585f6c97c3 ircd::db: Minor cleanup. 2018-08-23 04:16:49 -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 671170afb4 ircd::db: Use an ircd::assertive so failure happens in optimized mode here. 2018-08-23 02:19:28 -07:00
Jason Volk 824e3305a4 ircd::db: Implement WaitForJoin() to wait on all ctx pool joins. 2018-08-23 02:16:44 -07:00
Jason Volk d01430e64a ircd::db: Replace default sleep() callback with ctx::sleep(). 2018-08-23 02:14:50 -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 f48ec4a6a4 ircd::resource: Minor cleanup. 2018-08-22 15:17:55 -07:00
Jason Volk 2b4a727671 ircd::client: Client pool conf item notify callback to effect update. 2018-08-22 14:37:52 -07:00
Jason Volk b753637385 ircd::db: request pool conf item set callback. 2018-08-22 14:37:52 -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 b964f9520f ircd::db: max_open_files must NOT be 0 or files are open/close too often. 2018-08-22 13:13:03 -07:00
Jason Volk de973740e3 ircd::db: Additional db env debug log. 2018-08-22 12:56:17 -07:00
Jason Volk 23d0c7384d ircd::db: Catch everything here because there's nowhere else to go. 2018-08-21 08:49:11 -07:00
Jason Volk a4e1162ae2 ircd:Ⓜ️:room: Pass db get options to the iterations. 2018-08-21 08:48:42 -07:00
Jason Volk 3a4817354e ircd:Ⓜ️ Add room state types iteration. 2018-08-21 08:37:44 -07:00
Jason Volk 7fb2a825a1 ircd::ctx: Minor cleanup. 2018-08-21 08:10:37 -07:00
Jason Volk 57ea362daa ircd::ctx: Fix stale comment. 2018-08-21 04:57:36 -07:00
Jason Volk b3ff44d0fb ircd::db: Fix the cache insert misapprehensions. 2018-08-21 00:49:40 -07:00
Jason Volk 6d3eb3ae85 fixup! ircd::db: Fix cache iteration interpretation. 2018-08-21 00:42:13 -07:00
Jason Volk ca0dcd36e4 ircd::db: Supply fs::uuid in this env callback. 2018-08-21 00:21:06 -07:00
Jason Volk 1f8a756f23 ircd::db: Comment / minor cleanup. 2018-08-21 00:20:54 -07:00
Jason Volk 0f021e09d4 ircd::db: Fix cache iteration interpretation. 2018-08-21 00:20:30 -07:00
Jason Volk 11f266aa37 ircd::db: Fix exclusion and lock option required for cache iteration. 2018-08-21 00:19:53 -07:00
Jason Volk 35a0f1ea51 ircd::aio: Various cleanup. 2018-08-20 22:57:33 -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 99ed82f52d ircd:Ⓜ️ Remove the listeners first on deinit. 2018-08-19 20:19:43 -07:00
Jason Volk 85d4a4f5ed ircd::ctx: Further tweak interruption masking semantics. 2018-08-19 20:11:41 -07:00
Jason Volk d4c51a2d45 ircd::db: Disable interruption for rocksdb entry surface. 2018-08-19 20:11:41 -07:00
Jason Volk ff66bc441c ircd::ctx: Stack uninterruptible's gracefully; assume context. 2018-08-19 20:11:41 -07:00
Jason Volk c7080bf144 ircd::db: Disable interruption for these env surfaces. 2018-08-19 20:11:40 -07:00
Jason Volk d4b98e04e9 ircd::db: Minor cleanup. 2018-08-19 18:35:42 -07:00
Jason Volk 10434c96c5 ircd::ctx: Consistent use of interruption. 2018-08-19 18:29:46 -07:00
Jason Volk 38c5679b5a ircd::ctx: Use terminate() rather than interrupt() during ~context(). 2018-08-19 18:18:15 -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 1492770f6b ircd::ctx: Various minor fixes. 2018-08-19 18:09:04 -07:00
Jason Volk ccf5b79e6a ircd::ctx: Allow this_ctx::interruption toggle to no-op if no ctx. 2018-08-19 17:43:25 -07:00
Jason Volk b796668a77 ircd::ctx: Minor movement/cleanup. 2018-08-19 16:21:33 -07:00
Jason Volk f4a4674daa ircd::ctx::pool: Add a terminate(); cleanup del(). 2018-08-19 15:55:35 -07:00
Jason Volk 0dd075ab78 ircd::db: Checkin some options related. 2018-08-19 01:16:49 -07:00
Jason Volk b8936261b5 ircd::db: Add some exception handlers on these envs. 2018-08-19 01:14:54 -07:00
Jason Volk b5c2270e8c ircd::fs: Add prefetch skeleton linkage. 2018-08-18 23:08:55 -07:00
Jason Volk adee757303 ircd::fs: Add fsync()/fdsync() w/ AIO. 2018-08-18 23:02:34 -07:00
Jason Volk 6e0f53c00d ircd::aio: Minor cleanup / reorg interface definition location. 2018-08-18 22:52:08 -07:00
Jason Volk e620965d4c ircd::db: Make request pool size a conf item. 2018-08-18 22:10:39 -07:00
Jason Volk ff4e20d948 ircd::db: Minor commentary on interruption. 2018-08-18 21:02:42 -07:00
Jason Volk c2c68e386d ircd::db: Fix these missing retvals. 2018-08-18 20:59:42 -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 65b18ae7a6 ircd::db: Concurrent row requests. 2018-08-18 19:30:25 -07:00
Jason Volk 1b7e3af966 ircd::db: Simplify internal seek stack; minor cleanup. 2018-08-18 18:41:22 -07:00
Jason Volk e2c17d2595 ircd::db: Add some arbitrary sanity checks on port structures. 2018-08-18 18:20:38 -07:00
Jason Volk 8537cca439 ircd::db: Improvements to cache interface. 2018-08-18 17:59:31 -07:00
Jason Volk 141f4e1c0a ircd::ctx: Move this branch condition. 2018-08-17 21:31:54 -07:00
Jason Volk 9cee6a40c9 construct: Interruption point after command. 2018-08-17 14:26:44 -07:00
Jason Volk bf429e0c9e ircd::db: Mask interruption for compaction operations. 2018-08-17 14:13:27 -07:00
Jason Volk eca3a5b85b ircd::db: No need for adopt_lock here. 2018-08-17 13:38:32 -07:00
Jason Volk fe69a41255 ircd::ctx::pool: Fix dtor; use terminate() rather than interrupt(). 2018-08-17 12:51:49 -07:00
Jason Volk ff050ae7b0 ircd: Simplify runlevels on shutdown. 2018-08-17 12:51:49 -07:00
Jason Volk e8e8d282b2 ircd: Minor cleanup. 2018-08-17 12:51:49 -07:00
Jason Volk e1c5e55737 ircd: Pass hostname from init(). 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 4fc728540e ircd::exception: Minor cleanup. 2018-08-17 12:51:49 -07:00
Jason Volk 682c4651d2 eircd::aio: Update some assumptions; minor cleanup. 2018-08-17 12:51:49 -07:00
Jason Volk 850fd0238a ircd::db: Remove offload shenanigans. 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 26a856acb8 ircd::db: Appropriately case these reflections. 2018-08-17 12:51:48 -07:00
Jason Volk 928e40ada0 ircd::db: Minor cleanup; add additional env log msg. 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 3f064ed172 ircd::log: Eliminate stack buffers; simplify w/ error directory to stderr. 2018-08-17 12:51:48 -07:00
Jason Volk 9a08305bc4 ircd:Ⓜ️ Partial listen init / init related. 2018-08-14 20:09:20 -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 32b6e018c9 ircd::fs: Show path in rethrown errmsg. 2018-08-12 16:42:50 -07:00
Jason Volk 9ae4e225d3 ircd::fs: Automatic -p behavior for mkdir(). 2018-08-12 16:38:50 -07:00
Jason Volk ccefb9d354 ircd::log: Remove old cruft. 2018-08-12 16:30:51 -07:00
Jason Volk 8fb580aaf5 configure/ircd: Overhaul install system directory related. 2018-08-12 16:30:51 -07:00
Jason Volk a8a2015ec9 ircd: Cleanup runlevel change routine. 2018-08-11 00:42:09 -07:00
Jason Volk f51fde206a ircd:Ⓜ️ Remove unused event_id to optimize query. 2018-08-11 00:42:09 -07:00
Jason Volk 2d04d51cdc ircd: Prevent nulls in the output buffer of u2a(). 2018-08-11 00:42:09 -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 6dddf9135d ircd:Ⓜ️:dbs: Minor simplify. 2018-07-22 12:05:24 -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 1c6a4bc8d1 ircd::net: Ensure flag happens before cancel. 2018-07-06 18:40:58 -07:00
Jason Volk dd037988f3 ircd::m/modules: Update various client listeners w/ callback. 2018-07-06 18:40:15 -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 712b343017 ircd: Remove internal main_exit callback. 2018-07-06 00:44:24 -07:00
Jason Volk e2edd13a33 ircd: Remove ircd::strand related. 2018-07-06 00:44:24 -07:00
Jason Volk 0f0ed1ba08 ircd: Fix width of string to not assume and case for implicit null. 2018-07-05 19:05:00 -07:00
Jason Volk 7de1c38d0e ircd: Use std snprintf() in u2a(). 2018-07-05 18:57:58 -07:00
Jason Volk e7ede89884 ircd::js: Use fixed-width integer buildId like version number. 2018-07-05 16:57:47 -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 b80468d6c8 ircd::js: Checkpoint corrections to XDR layout. 2018-07-04 21:44:45 -07:00
Jason Volk 3ba3ef46af ircd::db: Fix SST file creation on open; disable sst mgr to remove extra thread spawn. 2018-07-04 16:47:11 -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 cc85c1cd35 ircd::js: Fix the JS_EncodeScript -> JS::EncodeScript for latest esr52. 2018-07-03 16:32:15 -07:00
Jason Volk 6ddbe2b25d ircd::info: Add js::version() to appropriate logged info string. 2018-07-03 15:48:13 -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 c26255290b ircd:Ⓜ️:room::members: Allow empty membership string to count() all members. 2018-07-01 14:49:24 -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 d3f8a84ca8 ircd::net::listener: Add default generated paths for some ssl options. 2018-07-01 02:16:00 -07:00
Jason Volk e03f50c427 ircd: Clarify type of ircd::strand instance pointer. 2018-07-01 02:14:34 -07:00
Jason Volk 7cafbc972a ircd::net: Listener defaults to all interfaces. 2018-07-01 02:13:29 -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 8038faf8e0 ircd:Ⓜ️ Add conditionals to bootstrap() operations. 2018-06-30 18:49:38 -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 c136e82a57 ircd:Ⓜ️ Temporary fixes for stale static initializations. 2018-06-16 23:00:47 -06:00
Jason Volk c5d11b7b07 ircd:Ⓜ️ Defaults for some initial config related. 2018-06-16 20:45:28 -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 383f97cdb7 ircd: Promote info init before conf init; minor cleanup. 2018-06-15 15:24:49 -06:00
Jason Volk fefe965149 ircd:Ⓜ️:init: Improve some conf related defaults; ctor error log cleanup. 2018-06-15 15:22:27 -06:00
Jason Volk 4c39840352 ircd:Ⓜ️:state: Checkpoint relaxed assumptions about creating new tree roots. 2018-06-12 01:00:15 -07:00
Jason Volk e889c54bc3 ircd:Ⓜ️:dbs: Checkpoint changes to default cache sizes (un-conf'ed) for now. 2018-06-12 01:00:15 -07:00
Jason Volk d912400f32 ircd:Ⓜ️:vm: Move vm submodules ctor/dtor into libircd for recursive issues for now. 2018-06-12 01:00:15 -07:00
Jason Volk 5ab8b9bdae ircd::db: Add init warning for no compression; minor reorg inits. 2018-06-12 01:00:15 -07:00
Jason Volk b4e7bb062c modules: Rename root to webroot. 2018-06-12 01:00:14 -07:00
Jason Volk 912562f469 ircd:Ⓜ️:vm: Checkpoint phase-as-class skeleton. 2018-06-12 01:00:14 -07:00
Jason Volk 6236cf230f ircd::util: Better to return the input symbol rather than throwing not_mangled. 2018-06-11 00:26:20 -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 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 55a8391e48 ircd::allocator: Add trim() if available. 2018-06-09 13:34:01 -07:00
Jason Volk de07d32afd ircd/modules: Update various conditional json::iov nodes. 2018-06-05 11:19:40 -07:00
Jason Volk 5146ddf67e ircd::json: Reduce iov interface; make conditional nodes evaluate conditionally. 2018-06-05 11:16:52 -07:00
Jason Volk 1a12b7331d ircd::json: Add conditioned-closure iov::add_if. 2018-06-04 23:17:29 -07:00
Jason Volk 7c841e6bdb configure/Makefile: Add formal support for libsnappy. 2018-06-04 14:48:04 -07:00
Jason Volk 6d0161d791 ircd/Makefile: Add missing LZ4 related from configure. 2018-06-04 14:43:20 -07:00
Jason Volk f2acc304c5 ircd:Ⓜ️:room: Add power levels convenience interface (query side). 2018-06-04 14:23:39 -07:00
Jason Volk 2d7b011bba ircd:Ⓜ️:v1: Add frontfill request. 2018-06-03 19:17:03 -07:00
Jason Volk 50835ce7bd ircd:Ⓜ️:room::messages: Adhere to room.event_id in ctor if given. 2018-06-03 14:50:42 -07:00
Jason Volk c58e60c122 modules/vm: Move vm::log out of module back to libircd. 2018-06-03 09:58:45 -07:00
Jason Volk 57bfe311c6 ircd::fs: Add experimental stdin::tty support. 2018-06-03 09:49:00 -07:00
Jason Volk 2b654d13c5 configure: Reorg various third-party sections; add lz4 support. 2018-06-03 08:35:44 -07:00
Jason Volk a24d0e387e ircd:Ⓜ️:room::messages: Ret false rather than throw for seek(event_id) not_found. 2018-06-03 07:44:37 -07:00
Jason Volk 7743198601 ircd:Ⓜ️:room: Optimize the room::membership query fix. 2018-06-02 22:18:45 -07:00
Jason Volk 49ef5af3e5 ircd:Ⓜ️:room: Fix the membership query for missing memberships. 2018-06-02 18:24:39 -07:00
Jason Volk 79b2bdfb42 ircd::fs: Add prefetch(). 2018-06-02 11:44:53 -07:00
Jason Volk 4ce6b69f69 ircd::db: Additional env debug messages. 2018-06-02 09:18:01 -07:00
Jason Volk 0abda3e175 ircd::rfc1035: Fix typo. 2018-06-01 14:16:07 -07:00
Jason Volk fd41a3b9c1 ircd::db: Add db env debug log msg to WaitForJoin. 2018-06-01 12:36:46 -07:00
Jason Volk 7e25d99cc6 ircd::db: Convert rocksdb::port from pthread to ircd::ctx. 2018-06-01 12:36:46 -07:00
Jason Volk d56c856573 ircd::db: Reorg to group all thread related env callbacks together. 2018-06-01 06:23:39 -07:00
Jason Volk abe921c3ad ircd::net: Add conf item for default close opts. 2018-06-01 04:08:20 -07:00
Jason Volk 8c5b47950f ircd::net: Add conf items for default open_opts. 2018-06-01 04:05:19 -07:00
Jason Volk f41c50af5b Makefile: ld.gold arguments package. 2018-05-31 16:32:55 -07:00
Jason Volk 7461de8b3d ircd::db: Condition to check database from ircd::checkdb via -checkdb command line option. 2018-05-31 12:47:37 -07:00
Jason Volk ae3eede730 ircd::fmt: Support width-aligned signed and unsigned integers. 2018-05-31 10:23:29 -07:00
Jason Volk 1ab3489977 ircd::fmt: Add width-aligned string format specifiers. 2018-05-31 10:18:37 -07:00
Jason Volk 467441e83c ircd:Ⓜ️:room: Optimize the membership convenience query. 2018-05-31 06:39:36 -07:00
Jason Volk 0d642aae31 ircd::aio: More appropriate cast here. 2018-05-31 06:14:39 -07:00
Jason Volk 4ef10e9f9e ircd::resource: Optimize access_token -> user_id query on auth. 2018-05-31 04:49:21 -07:00
Jason Volk 1f0225ecdc ircd::resource: Reorg token / x-matrix checks; always try to resolve token if supplied. 2018-05-31 04:49:21 -07:00
Jason Volk 6671122997 ircd:Ⓜ️ Rework visibility interface for empty mxid's as part of a public test. 2018-05-31 04:25:04 -07:00
Jason Volk 7825114281 ircd::fmt: Internalize specifier related; various cleanup. 2018-05-30 09:05:15 -07:00
Jason Volk b5104d6504 ircd::fmt: Remove cruft. 2018-05-30 08:45:11 -07:00
Jason Volk 45155d5e4d ircd::fs: Add fd::opts nocreate open() option. 2018-05-30 04:59:05 -07:00
Jason Volk 8395a7844c ircd::fs: Add fd::opts direct and cloexec flags; reorg fd ctor related. 2018-05-30 04:59:05 -07:00
Jason Volk 0f4270e91a ircd::client: Condition to suppress log warning; minor cleanup. 2018-05-30 04:59:04 -07:00
Jason Volk f8ea91cdee ircd::fs: Add append(fd) with explicit lseek(SEEK_END). 2018-05-30 04:59:04 -07:00
Jason Volk ead2a567ad ircd::fs: Refactor fs::write stack for fs::fd. 2018-05-30 04:59:04 -07:00
Jason Volk 501e82e8aa ircd::fs: Refactor fs::read stack for fs::fd. 2018-05-30 04:59:04 -07:00
Jason Volk a9e73d898c ircd::fs: Add size(fd) from sys stat(). 2018-05-30 04:59:04 -07:00
Jason Volk 955d8921b9 ircd::fs: Add basic fd wrapper object. 2018-05-30 04:59:04 -07:00
Jason Volk 73fc596cb6 ircd::db: Add experimental port linktime override suite. 2018-05-30 04:59:04 -07:00
Jason Volk c93166f9e4 ircd::allocator: Add returns_nonnull attribute to the profiler's operator new. 2018-05-29 23:05:19 -07:00
Jason Volk 355c1845e3 ircd/Makefile: Add gold linker option --dynamic-list-data. 2018-05-29 23:03:39 -07:00
Jason Volk 1cafbef10e ircd::allocator: Add comment for RB_PROF_ALLOC. 2018-05-29 23:03:19 -07:00
Jason Volk 879c531ae9 ircd::info: Tighten the boost include required for this tru. 2018-05-29 22:46:05 -07:00
Jason Volk b13193611d ircd::server: Rename peer::interrupt() to peer::cancel(). 2018-05-29 11:53:37 -07:00
Jason Volk de8e7b5908 ircd:Ⓜ️:vm: Move eval entry related into modules/vm; convert phase to struct. 2018-05-29 04:05:50 -07:00
Jason Volk 0766000b20 ircd::lexical: Eliminate allocation on lex_cast(string) conversions. 2018-05-29 02:52:47 -07:00
Jason Volk b32a5b6a61 ircd/Makefile: Move allocator unit up in the order. 2018-05-29 02:52:47 -07:00
Jason Volk 3e6fdbd93d ircd::db: Use #defines rather than comments for excessive log calls. 2018-05-29 02:52:47 -07:00
Jason Volk 4dd0b6c7b2 ircd::db: Minor syntax cleanups. 2018-05-29 01:42:04 -07:00
Jason Volk c8902654a0 ircd::ctx: Detach context in dtor on main/async stacks. 2018-05-28 07:04:06 -07:00
Jason Volk a2c98d3be5 ircd::client: Join request pool after client list empty. 2018-05-28 01:36:40 -07:00
Jason Volk 2ba495eb8b modules/m_presence: Move some externs from client/presence; update linkages. 2018-05-28 01:31:45 -07:00
Jason Volk 54f08c0351 ircd::resource: Involve a request context interrupt on timeout. 2018-05-28 00:33:21 -07:00
Jason Volk 9714d1ee15 ircd:Ⓜ️ Reorg event visibility interface; update linkages. 2018-05-28 00:33:21 -07:00
Jason Volk 377276432b ircd:Ⓜ️ Add back non-essential fields after essential stripping here. 2018-05-27 08:39:49 -07:00
Jason Volk 3ec0a1c7c8 ircd:Ⓜ️ Further overload the event::hashes stack; use proper return types. 2018-05-27 08:39:49 -07:00
Jason Volk 0d833cda4f ircd:Ⓜ️ Add templated payload for hook. 2018-05-26 22:12:11 -07:00
Jason Volk 5b52ac3103 ircd::ctx: Remove argument from continuation ctor. 2018-05-25 23:50:20 -07:00
Jason Volk 37f8868afc ircd:Ⓜ️:init: Run a conf update after all modules have loaded [disabled] 2018-05-25 23:48:07 -07:00
Jason Volk e11973fb40 ircd:Ⓜ️:init: Provide some partial load ordering based on module prefix. 2018-05-25 21:07:29 -07:00
Jason Volk 422206794f ircd::conf: Add conf::exists(key); minor cleanup. 2018-05-25 20:45:30 -07:00
Jason Volk 3746c25f20 ircd::ctx::ole: Add crude pooling. 2018-05-25 20:21:36 -07:00
Jason Volk 1309565506 ircd:Ⓜ️ Add essential key pruning for m.room.redaction sign and verify. 2018-05-25 18:35:40 -07:00
Jason Volk b69848b620 ircd::json: Add non-const iov::at(); minor cleanup. 2018-05-25 17:45:49 -07:00
Jason Volk d4c2ec6b22 ircd::db: Fix iterator invalidation from a cache-missing seek. 2018-05-25 06:21:03 -07:00
Jason Volk 2564b28743 ircd::db: Properly maintain db::gopts as iterator state. 2018-05-25 03:07:30 -07:00
Jason Volk a45365ee98 ircd::allocator: Add global allocator profiling suite. 2018-05-25 03:07:30 -07:00
Jason Volk c6bd9d63e8 ircd::allocator: Deinline non-template assets. 2018-05-25 00:15:49 -07:00
Jason Volk ee0ff2b1ad ircd:Ⓜ️ Basic internal db::gopts for events iteration. 2018-05-24 21:31:33 -07:00
Jason Volk ff21175036 ircd::db: Integrate checkpointing with database name and path schema. 2018-05-24 20:52:49 -07:00
Jason Volk 4cb6845ac1 ircd::fs: Use vector_view for make_path related. 2018-05-24 19:11:05 -07:00
Jason Volk 184684264b ircd:Ⓜ️🪝 Additional internal distillation of class components. 2018-05-24 18:31:47 -07:00
Jason Volk 4ce29f1d22 ircd::db: Add cache clear interface w/ console cmd. 2018-05-24 01:18:58 -07:00
Jason Volk 7bfe9e94a1 ircd::db: Default to no checksums on all reads; add conf item; adjust opts. 2018-05-23 18:45:27 -07:00
Jason Volk 5708d9c36b ircd::db: Consolidate various stats interfaces into header. 2018-05-23 17:04:02 -07:00
Jason Volk 77755a2ab4 ircd::db: Add interface to rocksdb iostats w/ console cmd. 2018-05-23 16:57:49 -07:00
Jason Volk 9da798145b ircd:Ⓜ️ Allow room opts passed through user::room ctor. 2018-05-23 16:44:16 -07:00
Jason Volk 1c20df652b ircd::db: Elaborate interface to the rocksdb perf_context. 2018-05-23 16:27:44 -07:00
Jason Volk f641076072 ircd::json: Antipodal undefined number; add assert that it's not zero. 2018-05-23 00:32:37 -07:00
Jason Volk 956c67beca ircd::ctx: Use dock for better adjoindre semantics. 2018-05-22 18:06:18 -07:00
Jason Volk f68f3bbb9c ircd::ctx: Organize stack and profile related into specific structures. 2018-05-22 18:03:18 -07:00
Jason Volk 8b15512849 ircd::db: Add database's unique id string interface. 2018-05-22 17:01:01 -07:00
Jason Volk 9d5afc8e87 ircd::db: Add separate check(database); Add log notice when checking on open. 2018-05-22 16:52:34 -07:00
Jason Volk eda5822700 Move boost coroutine deprecation suppression define to configure.ac from Makefile.am. 2018-05-22 16:31:30 -07:00
Jason Volk 0e169fe4a4 ircd::ctx: Stop interrupt propagation at pool function base. 2018-05-22 05:49:38 -07:00
Jason Volk d901257745 ircd::ctx: Use NOINTERRUPT flag for termination suppression as well. 2018-05-22 00:24:48 -07:00
Jason Volk f17f9685ec ircd::ctx::ole: Use interrupt suppression scope while offloaded. 2018-05-22 00:22:57 -07:00
Jason Volk 7e8ec1ca63 ircd::ctx: Support interrupt suppression; suite. 2018-05-22 00:22:56 -07:00
Jason Volk fd13e71684 ircd:Ⓜ️:dbs: Add equality comparator to optimize events__room_events. 2018-05-21 19:52:47 -07:00
Jason Volk 1afba986b3 ircd::db: Support additional rdb comparator features. 2018-05-21 19:52:18 -07:00
Jason Volk 6be37c7aa6 ircd:Ⓜ️ Add event::fetch::opts overrider to room::messages; simplify overrider on room::state. 2018-05-21 17:36:16 -07:00
Jason Volk 0d489d6ffb ircd::http: Add 504 Gateway Timeout status. 2018-05-21 15:56:13 -07:00
Jason Volk bc26a8f9b3 ircd:Ⓜ️ Optimize user::rooms iteration event query. 2018-05-21 00:19:27 -07:00
Jason Volk 2755d779c9 ircd:Ⓜ️ Simplify user::rooms iteration callstack. 2018-05-21 00:19:08 -07:00
Jason Volk 559c2f008c ircd:Ⓜ️ Optimize room::members::count w/ event::fetch::opts keys select. 2018-05-20 20:30:25 -07:00
Jason Volk 65b516e4c0 ircd:Ⓜ️ Use proper m::membership(event) test and deoptimize accordingly. 2018-05-20 20:26:12 -07:00
Jason Volk db026147b7 ircd:Ⓜ️ Optimize query for room::members::for_each w/ user_id closure. 2018-05-20 20:17:45 -07:00
Jason Volk 67b7a58f42 ircd:Ⓜ️ Additional event/room visibility linkage and preliminary hook. 2018-05-20 20:15:50 -07:00
Jason Volk a66928572b ircd:Ⓜ️ Elaborate room::state ctor for easier custom fopts. 2018-05-20 20:14:44 -07:00
Jason Volk 6e7d5aec3b ircd:Ⓜ️ Rename room opts to copts for consistency. 2018-05-20 20:14:12 -07:00
Jason Volk 32549bc9ae ircd::conf: Deinline some specialized definitions. 2018-05-20 18:39:33 -07:00
Jason Volk c88ce8168b Revert "ircd:Ⓜ️ Convert hook to template."
This reverts commit 915076296f.
2018-05-20 18:39:32 -07:00
Jason Volk 67744cf73e ircd:Ⓜ️ Remove the room::state::opts. 2018-05-20 05:11:30 -07:00
Jason Volk 7e5b9b69ed ircd:Ⓜ️ Integrate fetch::opts with room queries. 2018-05-20 04:35:17 -07:00
Jason Volk 79371780f3 ircd:Ⓜ️ Add fetch::opts with keys and db::gopts. 2018-05-20 04:34:31 -07:00
Jason Volk 163106bb72 ircd:Ⓜ️ Simplify the event::fetch ctor stack w/ default selection. 2018-05-20 01:48:47 -07:00
Jason Volk c2b45aacc3 ircd::db: Use better column count in row ctor. 2018-05-19 23:13:54 -07:00
Jason Volk 2f48b69102 ircd:Ⓜ️ Add event::fetch seekless ctor w/ selection. 2018-05-19 22:55:03 -07:00
Jason Volk 2b71ad8a04 ircd::json: Various cleanup. 2018-05-19 22:55:03 -07:00
Jason Volk 208a0198c0 ircd::json: Add specific extern undefined number. 2018-05-19 22:55:03 -07:00
Jason Volk 6150637537 ircd:Ⓜ️ event::fetch keys selection. 2018-05-19 22:55:03 -07:00
Jason Volk 16c86f9a76 ircd::fmt: Fix copying / nulling / assertions. 2018-05-19 20:53:40 -07:00
Jason Volk 8140130a3a ircd::http: date_buf off stack. 2018-05-19 20:04:53 -07:00
Jason Volk 69e9c9bbc6 ircd::server: Fix peer hostname string discrepancy. 2018-05-19 18:49:08 -07:00
Jason Volk 5a058be4ba ircd::net: Use specific canon service/port variables. 2018-05-19 18:49:08 -07:00
Jason Volk e395e4d85e ircd:Ⓜ️ Fix hook deletion while iterating set. 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 fc3fd6a8b2 ircd::resource: Add a node_id to the resource request struct. 2018-05-19 18:49:07 -07:00
Jason Volk ba4b3fa145 ircd: Minor comments / minor cleanup. 2018-05-19 18:49:07 -07:00
Jason Volk eb5f2475a3 ircd:Ⓜ️ Add preliminary skeleton linkage for room/event visibilty related. 2018-05-19 18:49:07 -07:00
Jason Volk 986f591caa ircd:Ⓜ️ Ignore my_host's signature when adding signatures. 2018-05-19 18:49:07 -07:00
Jason Volk aada1c9f17 ircd:Ⓜ️ Slightly improve state tuple pretty(). 2018-05-19 18:49:07 -07:00
Jason Volk 997da91477 ircd:Ⓜ️ Complete the room state tuple buffer constructor. 2018-05-19 18:49:07 -07:00
Jason Volk 31d0f9daed ircd:Ⓜ️:dbs: Rename opts.idx to opts.event_idx; split internal related. 2018-05-19 18:49:07 -07:00
Jason Volk 3e47fbb388 ircd::client: Remove unnecessary exception test assertion here. 2018-05-19 18:49:06 -07:00
Jason Volk 2626e14543 ircd:Ⓜ️:dbs: Copy root_in to root_out buffer for intuitive behavior. 2018-05-19 18:49:06 -07:00
Jason Volk 296eff7c5d ircd::db: Removed unused cell features. 2018-05-19 18:49:06 -07:00
Jason Volk e3a85fa523 ircd::resource: Consistent rstrip of trailing path solidus. 2018-05-19 18:49:06 -07:00
Jason Volk a62f453e58 ircd:Ⓜ️ Add signature appending routine. 2018-05-19 18:49:05 -07:00
Jason Volk 7e512eecdc ircd:Ⓜ️ Move signatures field nulling to essential keys function. 2018-05-19 18:49:05 -07:00
Jason Volk e5da1a82e7 ircd::openssl: Update exception type. 2018-05-19 18:49:05 -07:00
Jason Volk 82fbbad8e3 ircd:Ⓜ️ Simplify b64 buffer sizing. 2018-05-19 18:49:05 -07:00
Jason Volk 8fefae157a ircd:Ⓜ️ Fix event::idx argument typing in events:: iterations. 2018-05-19 18:49:05 -07:00
Jason Volk a7b0246830 ircd::net: Increase default acceptor timeout for spinapps friends. 2018-05-19 18:49:05 -07:00
Jason Volk 1d582f65d6 ircd:Ⓜ️:dbs: Add a descriptor for the default column with no cache alloc. 2018-05-19 18:49:05 -07:00