0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-10 20:48:34 +02:00
Commit graph

2610 commits

Author SHA1 Message Date
Jason Volk 0c5ebde1fc ircd::fs::aio: Add blocking point to manage io_submit's in flight; various reorg. 2018-12-27 14:58:03 -08:00
Jason Volk 69ae8308e5 ircd::fs::aio: Various improvements; fix cancel w/ queue; class member queues rather than tls. 2018-12-27 14:58:03 -08:00
Jason Volk e58a975750 ircd::fs: Use a nice-style value for request priority; default to zero. 2018-12-27 14:58:03 -08:00
Jason Volk 2f5d175957 ircd::db: Add cached membership test to row interface. 2018-12-26 19:45:04 -08:00
Jason Volk 38920719de ircd:Ⓜ️ Add suite to check if event is cached. 2018-12-26 19:01:13 -08:00
Jason Volk 4c5891e354 ircd::ctx: Block the caller after submit when parallel saturated. 2018-12-26 17:35:49 -08:00
Jason Volk d80a39097c ircd: Tweak vector_view construction semantics. 2018-12-26 17:19:03 -08:00
Jason Volk b0d5e5d4c8 ircd::ctx: Improve ctx::parallel template. 2018-12-26 17:19:03 -08:00
Jason Volk 444000faf1 ircd::fs: Add a nodelay option on reads. 2018-12-26 15:42:23 -08:00
Jason Volk 3d79c94bb2 ircd::ctx: Add ctx::parallel device. 2018-12-24 18:36:56 -08:00
Jason Volk 9f70ce1b28 ircd::ctx: Add pool::min() convenience. 2018-12-24 16:20:03 -08:00
Jason Volk c1c11b4aed ircd::db: Enrich seek(row) opts; add proper error handling and propagation. 2018-12-24 14:33:35 -08:00
Jason Volk b035bb9824 ircd::db: No need to copy gopts in db::cell related. 2018-12-24 14:32:33 -08:00
Jason Volk 171f5ff623 ircd::fs: Use string_view for error fmt string args. 2018-12-24 13:34:59 -08:00
Jason Volk 2876398c04 ircd::db: Simplify/Consolidate error hierarchy. 2018-12-24 13:32:22 -08:00
Jason Volk aa166d0c5d ircd::json::stack: Add noexcept for non-throwers called during stack unwinds. 2018-12-24 12:06:57 -08:00
Jason Volk 387e8b8eed ircd::ctx: Improve pool loop; improve log msg; add interruption point. 2018-12-24 12:06:05 -08:00
Jason Volk b8fd399bf4 ircd::ctx: Remove this export down to ircd::. 2018-12-23 15:23:53 -08:00
Jason Volk 29e7fa3515 ircd::ctx: Use closure for continuation. 2018-12-22 21:03:14 -08:00
Jason Volk 37ba013413 ircd::ctx: Simplify continuation; eliminate to_asio derived type. 2018-12-22 20:11:00 -08:00
Jason Volk c2b344b74e ircd: Allow exceptions to propagate from various interruptors. 2018-12-22 17:24:48 -08:00
Jason Volk 365cf865d0 ircd::ctx: Various improvements/reorg of continuation/to_asio. 2018-12-22 17:24:48 -08:00
Jason Volk d5ffc6b0de ircd::ctx: Improve prof related; add full ticker of counters. 2018-12-22 15:17:18 -08:00
Jason Volk 39d4f2fb83 ircd::ctx: Expose the profile state struct in the prof:: interface. 2018-12-22 13:47:13 -08:00
Jason Volk a590ad1a03 ircd::ctx: Another attempt at using continuation dtor as an interruption point. 2018-12-22 13:36:48 -08:00
Jason Volk 3c4591b121 ircd::fs: Fix fs::error template. 2018-12-21 15:32:12 -08:00
Jason Volk 31ffcfa859 ircd:Ⓜ️🆔 De-template grammars and assume iterator type; minor fixes. 2018-12-21 13:55:11 -08:00
Jason Volk a5ebc28928 ircd::fs::aio: Reorganize with symbol overriding; add conf items. 2018-12-21 13:04:57 -08:00
Jason Volk c3d95aa8de ircd::fs: Remove the thread_local convenience for make_iov(). 2018-12-21 12:57:58 -08:00
Jason Volk 2f36fec41a ircd::fs: Cleanup the duplicate support state indicators. 2018-12-21 12:09:44 -08:00
Jason Volk f9ee616a9a ircd::ctx::prof: Use a profile instance as a totals counter. 2018-12-21 11:55:43 -08:00
Jason Volk 2c5d6bb7ba ircd::fs::aio: Preliminary io_submit queue to leverage disk controller optimizations. 2018-12-21 10:36:05 -08:00
Jason Volk 9d7a53ae49 ircd::ctx: Move resume-interruption point to this_ctx::wait() suite. 2018-12-20 13:27:21 -08:00
Jason Volk 009979a544 ircd:Ⓜ️ Increase error buffer size. 2018-12-19 15:57:23 -08:00
Jason Volk 605cce9ed1 ircd::db: Propagate the FlushOptions.allow_write_stall option; improve sort cmd. 2018-12-19 13:58:09 -08:00
Jason Volk 5a0a9989e4 ircd::log: Rename facility to level. 2018-12-19 12:52:08 -08:00
Jason Volk b4910319e0 ircd: Add various comments / documentations. 2018-12-19 12:35:21 -08:00
Jason Volk 0017a942e2 ircd::info: Reorganize info. 2018-12-19 12:35:21 -08:00
Jason Volk 566c2ef4ec ircd::conf: Add int32 conf items. 2018-12-18 17:00:11 -08:00
Jason Volk bd5ecceb65 ircd::info: Reorg / add some more info. 2018-12-18 16:01:45 -08:00
Jason Volk 3afce36dd4 ircd::info: Get sysconf() for maximum AIO operations. 2018-12-18 15:44:43 -08:00
Jason Volk 582628fb71 ircd::fs: Add read/write options to restart operation on EINTR. 2018-12-18 14:44:25 -08:00
Jason Volk 254d5ccb50 ircd::fs: Add 'all' write option with internal loop. 2018-12-18 14:44:25 -08:00
Jason Volk c312f07893 ircd::buffer: Export buffers:: down to ircd::. 2018-12-18 14:44:25 -08:00
Jason Volk 541b020a19 ircd::db: Add read options for 'aio' and 'all' to file env classes. 2018-12-18 14:44:25 -08:00
Jason Volk bb3a68a95e ircd::fs: Handle partial reads internally with 'all' option. 2018-12-18 14:44:25 -08:00
Jason Volk 77a84b18d3 ircd::fs: Add offset to make_iov() suite. 2018-12-18 14:21:09 -08:00
Jason Volk a7b2f76c11 ircd::ctx: Add slice_usage_warning device. 2018-12-17 16:20:53 -08:00
Jason Volk 4686139f8e ircd::ctx: Rework the prof stack to make a public test interface. 2018-12-17 15:24:41 -08:00
Jason Volk beda5abc2a ircd:Ⓜ️:dbs: Add conf items for some buffer sizes. 2018-12-17 13:18:27 -08:00
Jason Volk ba10948e9d ircd::ctx: Move principal interruption point into continuation. 2018-12-16 18:37:51 -08:00
Jason Volk fae947d433 ircd::db: Add a background cancel interface w/ console cmd. 2018-12-16 18:37:51 -08:00
Jason Volk 55023041b8 ircd::db: Reorg environment task pool related. 2018-12-16 18:37:51 -08:00
Jason Volk 2a23d9e6dd ircd::ctx: Add more interface access to pool/queue; various cleanup. 2018-12-16 16:27:11 -08:00
Jason Volk 72859c650b ircd::ctx: Convert various name character strings to string_view. 2018-12-16 16:27:11 -08:00
Jason Volk a513ba9cf3 ircd::db: Deinline some env::state related. 2018-12-16 16:27:11 -08:00
Jason Volk e22162f505 ircd::db: Add noexcept specifiers to all port interfaces. 2018-12-16 16:27:11 -08:00
Jason Volk ad46a3e49a ircd::ctx: Relax object permissions. 2018-12-15 23:05:48 -08:00
Jason Volk a2a66eb314 ircd::fs: Deinline various error ctor; simplify various error handling. 2018-12-15 20:50:32 -08:00
Jason Volk 3fd689931c ircd::db: Add state and conditions for AIO operations on sequential_file. 2018-12-15 20:29:54 -08:00
Jason Volk 2cc7831770 ircd::fs: Add option to bypass AIO for specific operations. 2018-12-15 18:17:59 -08:00
Jason Volk 70d4b32c3d ircd::db: Add interface for pause/continue of background work w/ console cmd. 2018-12-14 17:27:48 -08:00
Jason Volk 2eaf5c74c2 ircd::fmt: Minor simplify; cleanup. 2018-12-14 15:51:12 -08:00
Jason Volk c4d5f03725 ircd::fs: Add compat interface for range flush()/sync(). 2018-12-13 18:04:48 -08:00
Jason Volk 5e8d5562da ircd::fs: Simplify interface. 2018-12-13 17:46:08 -08:00
Jason Volk 9d423f84d8 ircd:;fs: Rename various fsync/sync related. 2018-12-13 16:54:09 -08:00
Jason Volk 399198deac ircd::ctx: Add flags for slice and stack usage watchdog exemption. 2018-12-13 16:21:54 -08:00
Jason Volk e2cb79e28d ircd::db: Minor cleanup; comments. 2018-12-13 13:44:37 -08:00
Jason Volk 04f3dc4d17 ircd::fs: Make fs::error inherit from std::system_error. 2018-12-12 17:32:24 -08:00
Jason Volk 62874ff498 ircd::db: Add src and dst level arguments to db::compact files interface. 2018-12-12 15:53:16 -08:00
Jason Volk b80735c575 ircd::fs: Add sync()/syncfs(). 2018-12-12 13:16:47 -08:00
Jason Volk 41fd658b24 ircd::db: Add interface to get column and database options. 2018-12-12 10:17:47 -08:00
Jason Volk a133235f82 ircd::db: Move database::options to db::options. 2018-12-12 10:17:47 -08:00
Jason Volk e97742ef39 ircd::net: Add loghead() similar to client::loghead(). 2018-12-12 10:12:24 -08:00
Jason Volk d7da57e073 ircd::db: Add log level interface w/ console cmd. 2018-12-12 10:12:23 -08:00
Jason Volk 76ac576f53 ircd::log: Improve reflection related; add reverse reflection. 2018-12-12 08:47:13 -08:00
Jason Volk 8e11620100 ircd::db: Distinguish range compact from files compact in interface. 2018-12-11 16:30:28 -08:00
Jason Volk 31798dd09a ircd: Add fwd decl for boost::asio::signal_set. 2018-12-11 14:55:10 -08:00
Jason Volk 8d6c7e3576 ircd::db: Add WAL information interface w/ console cmd. 2018-12-10 14:14:55 -08:00
Jason Volk c3560d4890 ircd::db: Rename database::logs to database::logger. 2018-12-10 13:26:46 -08:00
Jason Volk 97b3003280 ircd: Convert various exception format string arguments to string_view. 2018-12-10 13:14:39 -08:00
Jason Volk 19f1929b1f ircd::log: Use string_view for format string arguments. 2018-12-10 13:02:17 -08:00
Jason Volk f5b431005d deps: Upgrade RocksDB. 2018-12-10 11:29:38 -08:00
Jason Volk 8cad778565 ircd:Ⓜ️ Add README for m::room directory. 2018-12-10 11:29:32 -08:00
Jason Volk 45bf911952 ircd::conf: Add feature to toggle whether conf item is persisted in a db. 2018-12-08 16:27:32 -08:00
Jason Volk 8739ef90ce ircd::db: Minor cleanup. 2018-12-08 15:37:18 -08:00
Jason Volk 1ba22a21ba ircd: Disperse accumulated global options as conf items in namespaces. 2018-12-08 15:36:34 -08:00
Jason Volk 0c0c3b1f41 ircd: Split runlevel related into header and unit. 2018-12-08 15:15:31 -08:00
Jason Volk 6408ac4592 ircd: Remove the legacy AFP() / AFGP() macros. 2018-12-08 13:51:33 -08:00
Jason Volk 4a2ad1c186 ircd::ctx: Reorg continuation for core wakeup conditions. 2018-12-07 12:31:30 -08:00
Jason Volk 9eabd745f5 ircd::ctx: Minor cleanup. 2018-12-07 12:03:25 -08:00
Jason Volk 3af70e75c3 ircd::ctx: Minor cleanup / struct packing / type. 2018-12-07 10:13:29 -08:00
Jason Volk 4e01d2c0a4 ircd::ctx: Remove local typedef to use outer ircd:: typedef. 2018-12-07 10:13:14 -08:00
Jason Volk ce237e0b10 ircd::ctx: Export this_ctx:: to ircd. 2018-12-06 19:16:47 -08:00
Jason Volk 6de17431ff ircd: Reverse arguments for url::encode()/decode(); minor reorg. 2018-12-06 16:41:47 -08:00
Jason Volk 2caf425fde ircd::rfc3986: Add form_encode() composer from json::members. 2018-12-06 16:27:05 -08:00
Jason Volk e4922772f4 ircd::server: Fix issues with non-matrix peer construction. 2018-12-05 19:38:40 -08:00
Jason Volk 3f939367c0 ircd::log: Add console_enable/disable for all facilities. 2018-12-05 19:00:10 -08:00
Jason Volk 99001a4ea5 ircd: Initial ap. 2018-12-05 15:17:00 -08:00
Jason Volk 0c4e39b023 ircd::ctx: Relax assertion. 2018-12-05 15:15:36 -08:00
Jason Volk 10b8db0bb3 ircd::http: Add format string construction for http::error. 2018-12-05 15:15:26 -08:00
Jason Volk 24e423c714 ircd::fs: Add support test for fallocate(). 2018-12-03 12:58:42 -08:00
Jason Volk 47d6fbb35f ircd::fs: Consolidate support tests and indications into namespace. 2018-12-03 12:55:52 -08:00
Jason Volk f2ecf617ba ircd::db: Stub a place to put the runtime loaded library version information. 2018-12-03 12:30:59 -08:00
Jason Volk 041f6c16c3 ircd::db: Split out header for pos.h from main db.h 2018-12-03 12:20:55 -08:00
Jason Volk 402f0f91f1 ircd::db: Create DBOptions earlier for use when reading column names. 2018-12-02 17:45:36 -08:00
Jason Volk e8088ce52a ircd::db: Assert synchronization for sequential file operations; update offset on PositionedRead(). 2018-12-02 17:19:13 -08:00
Jason Volk b088ebf228 ircd:Ⓜ️:app: Add initial application service registration structure; start app handler directory. 2018-12-02 16:50:26 -08:00
Jason Volk b45b25bdcd ircd::db: Dressing for C99 array on stack here. 2018-12-01 17:07:15 -08:00
Jason Volk 711dfacd9a ircd::fs: Improve strategy for AIO fsync/fdsync related. 2018-12-01 16:10:53 -08:00
Jason Volk ca525b081f ircd: Add noaio global flag; add command line option. 2018-12-01 15:55:53 -08:00
Jason Volk 965ecd16e5 ircd::fs: Break apart / improve make_iov() related stack / cleanup typedefs. 2018-12-01 15:46:38 -08:00
Jason Volk 24e031a810 ircd:Ⓜ️ Reorg event / room include related. 2018-12-01 15:05:50 -08:00
Jason Volk 5e41ece0e3 ircd:Ⓜ️ Split up event header. 2018-12-01 14:55:38 -08:00
Jason Volk 36b4e3cabe ircd: Add init parameters for different origin and hostname strings. 2018-12-01 14:55:38 -08:00
Jason Volk 0081985676 ircd::db: Promote LZ4 as default compression above Snappy. 2018-11-30 15:20:35 -08:00
Jason Volk ea0ad518ea ircd::db: Fix interface / linkage for getting ColumnFamilyOptions ref from database::column. 2018-11-30 15:19:00 -08:00
Jason Volk 3f6ae85f8f ircd::db: Add automated column drop support; update existing descriptors. 2018-11-30 14:43:51 -08:00
Jason Volk 13bce714ab ircd::rfc1035: Add constant for name buffer size. 2018-11-29 18:04:19 -08:00
Jason Volk c74debac01 ircd::ctx: Cleanup / fixes for critical assertion related. 2018-11-29 16:12:33 -08:00
Jason Volk 0b0d20884d ircd:Ⓜ️:state: Eliminate remaining test-protocol iterations. 2018-11-29 15:10:51 -08:00
Jason Volk 209aa550b3 ircd:Ⓜ️ Split up room.h header into directory. 2018-11-29 14:54:50 -08:00
Jason Volk d35dad46c2 configure: Add EXTRA_LIBS rather than modifying LIBS here. 2018-11-29 13:46:45 -08:00
Jason Volk 3ab6d4df79 ircd::fs::aio: Improve stats related. 2018-11-29 13:46:44 -08:00
Jason Volk eead379f36 ircd::json: Minor cleanup. 2018-11-29 13:08:37 -08:00
Jason Volk 58d80ddc53 ircd::fs: Add option to toggle AIO for fsync related. 2018-11-29 10:18:43 -08:00
Jason Volk 44bf18d4df ircd::fs: Integrate read(iov) suite. 2018-11-28 17:26:25 -08:00
Jason Volk 466ad228b0 ircd::fs: Integrate an overwrite() iov suite. 2018-11-28 17:26:06 -08:00
Jason Volk 20fe537409 ircd::fs: Integrate append() iov suite. 2018-11-28 17:21:28 -08:00
Jason Volk db36ea6255 ircd::fs: fs::write() stack based on pwritev() using iov. 2018-11-28 17:10:48 -08:00
Jason Volk c9b10bd841 ircd::fs: Use better typedefs for vector_view of buffers. 2018-11-28 17:10:17 -08:00
Jason Volk 322e25e725 ircd::info: Add runtime sysconf to get IOV_MAX. 2018-11-28 16:53:59 -08:00
Jason Volk eff4c475e3 ircd::fs: Add iov util header; make aio interface to fs exclusively iov. 2018-11-28 16:53:04 -08:00
Jason Volk 67772facef ircd::fs::aio: Add specific read and write stat counters. 2018-11-28 15:01:00 -08:00
Jason Volk a70d65f171 ircd::util: Allow custom format string for pretty() suite. 2018-11-28 14:41:27 -08:00
Jason Volk 24ad230aed ircd::fmt: Modernize buffering, cleanup, comment various. 2018-11-28 14:41:27 -08:00
Jason Volk ad5305f151 ircd::util: Use tuple rather than pair for va_rtti value_type. 2018-11-28 13:15:42 -08:00
Jason Volk 5cdd2e6376 ircd::fs::aio: Add statistics for AIO subsystem w/ console cmd. 2018-11-27 19:54:24 -08:00
Jason Volk 062906143f ircd::fs: Add an fs/aio.h header. Reorg various aio namespace related. 2018-11-27 18:09:12 -08:00
Jason Volk 0de55ce111 ircd::db: Attempt at direct IO writable_file (append) implementation. 2018-11-27 17:30:59 -08:00
Jason Volk 26ed0ee0e4 ircd::buffer: Add an alignment check util. 2018-11-16 19:22:44 -08:00
Jason Volk adf2de8aed ircd::buffer: Add include-conditioned zero() fallback and improve return semantic. 2018-11-16 14:28:03 -08:00
Jason Volk c891b82ebd ircd::ctx: Relayout members for package. 2018-11-15 18:46:40 -08:00
Jason Volk 76913eb6ab ircd:📅 Add typedef; minor cleanup. 2018-11-14 18:45:10 -08:00
Jason Volk 28115730de ircd::info: Get the RLIMIT_RTTIME on startup info. 2018-11-14 18:45:10 -08:00
Jason Volk 48a15e026b ircd::ctx::prof: Convert the settings into conf items. 2018-11-14 18:45:10 -08:00
Jason Volk 895768837f ircd::conf: Add support for double/float through lex_castable. 2018-11-14 18:45:10 -08:00
Jason Volk fb230a6630 ircd::conf: Fix assumptional integer type. 2018-11-14 18:45:10 -08:00
Jason Volk 9222de0b34 ircd::ctx: Add access to rdtsc through ctx::prof; minor comments. 2018-11-14 16:55:46 -08:00
Jason Volk 6576406123 ircd::json: Various tuple cleanup; split tuple transform suites into files. 2018-11-14 00:58:55 -08:00
Jason Volk 4dd8f5ab3a ircd::buffer: Minor move misplaced buffer base cast operators. 2018-11-14 00:31:55 -08:00
Jason Volk 1f9eadc058 ircd::mods: Minor cleanup; reuse calls in stack. 2018-11-14 00:16:19 -08:00
Jason Volk fea02ba300 ircd::ctx::latch: Minor rename; add explicit move semantic. 2018-11-13 19:05:16 -08:00
Jason Volk 67e6c63580 ircd::ctx: Add additional shared_mutex timed functionality. 2018-11-13 19:05:16 -08:00
Jason Volk fe45b08f8a ircd::ctx: Refactor mutexes to reuse ctx::dock for queueing. 2018-11-13 19:05:16 -08:00
Jason Volk 8cbb354c64 ircd::ctx: Fix move assignment semantics. 2018-11-13 19:05:16 -08:00
Jason Volk 70099d70a2 ircd:Ⓜ️:room::messages: Add depth convenience; return parsed event_idx value. 2018-11-13 17:04:57 -08:00
Jason Volk d589ce2c61 ircd::tokens: Add default argument for tokens_after/before position. 2018-11-13 10:40:00 -08:00
Jason Volk 19ef3cfb67 ircd::fpe: Condition experimental asynchronous exception use. 2018-11-12 18:55:00 -08:00
Jason Volk 2ab314e687 ircd::buffer: Improve exceptions thrown from aligned_alloc(). 2018-11-12 16:49:06 -08:00
Jason Volk 47732a0075 ircd::fpe: Add experimental exception-throwing SIGFPE w/ -fnon-call-exceptions. 2018-11-11 20:00:11 -08:00
Jason Volk 6967ad1faa ircd::fpe: Add floating point environment suite; error scoping device. 2018-11-11 18:28:28 -08:00
Jason Volk bbe676a392 ircd::ctx: Split this_ctx devices into files; minor interface tweaks. 2018-11-11 14:13:37 -08:00
Jason Volk e90f1729f0 ircd::db: Split writable_file into writable_file_direct using vtable for functionality. 2018-11-09 18:24:51 -08:00
Jason Volk 382dc67ca1 ircd::buffer: Use runtime alignment for unique_buffer rather than template value. 2018-11-09 15:55:20 -08:00
Jason Volk 9e97ac0564 ircd: Simplify system_category / posix errno code test. 2018-11-09 00:29:31 -08:00
Jason Volk af93d55927 ircd: Minor cleanup: simplify decl; fix comment; relax log level. 2018-11-08 23:05:12 -08:00
Jason Volk 36bb0d3175 ircd: Integrate all boost::system::system_error with stdlib. 2018-11-08 23:05:11 -08:00
Jason Volk 4c85f11a02 ircd: Add suite for equating std::system_category() with boost::system. 2018-11-08 23:05:11 -08:00
Jason Volk cfcbbad0c0 ircd: Additional completeness overloads for make_system_error. 2018-11-08 18:07:22 -08:00
Jason Volk a7e4acc519 ircd: Split and reorg ircd::hash/ircd::crh related headers and units. 2018-11-08 17:04:15 -08:00
Jason Volk 1f9afbd09c ircd::resource: Improve method stats gathered. 2018-11-06 21:36:36 -08:00
Jason Volk 8b9b27d8bc ircd::resource: Simplify the resource entry interface. 2018-11-06 21:35:30 -08:00
Jason Volk fdff7428ce ircd::client: Add request counting stats; console cmd related. 2018-11-06 21:34:28 -08:00
Jason Volk 7c0b4dcbe8 ircd::json: Remove cruft. 2018-11-06 19:48:06 -08:00
Jason Volk cc818f15b6 ircd::resource: Add stats for methods. 2018-11-05 20:45:30 -08:00
Jason Volk 8217b51526 ircd::resource: Reorg resource/method handler stack; devirtualize resource. 2018-11-05 20:45:30 -08:00
Jason Volk 308bbf854d ircd::resource: Devirtualize resource::method. 2018-11-05 19:16:11 -08:00
Jason Volk d49b3ba7dd ircd::resource: Minor reorg class layout / opts. 2018-11-05 19:14:53 -08:00
Jason Volk e03d36aa48 ircd::allocator: Add allocator::scope device. 2018-11-05 16:45:08 -08:00
Jason Volk 2d2e708264 ircd::allocator: Fix fixed allocator template name conflicts. 2018-11-04 18:00:24 -08:00
Jason Volk 2914487aad ircd::json: Add more explicit integer ctors to value; minor reorg ctors. 2018-11-04 18:00:24 -08:00
Jason Volk 9299b0df9f ircd: Make ircd::terminate / ircd::assertion funcjects. 2018-11-04 18:00:24 -08:00
Jason Volk 9d7032e29e ircd:Ⓜ️:room: Make the state iteration readahead value a conf item. 2018-11-02 20:05:11 -07:00
Jason Volk 8af997ab2e ircd:Ⓜ️:room: Add conf item to disable all state btree history queries. 2018-11-02 20:04:17 -07:00
Jason Volk 6b1fd6c559 ircd:Ⓜ️:dbs: Remove the _event_bad column; patch event exists/good/bad stack. 2018-11-02 19:42:20 -07:00
Jason Volk 25e6cd1332 ircd::db: Add compression string option to column descriptor. 2018-11-02 18:32:47 -07:00
Jason Volk 8311c1e7ff ircd::db: Improve supported compressions listing w/ console cmd. 2018-11-02 18:02:27 -07:00
Jason Volk ad003a0d66 ircd:Ⓜ️:dbs: Add conf items for bloom filters. 2018-11-02 18:01:03 -07:00
Jason Volk f2a08426c5 ircd:Ⓜ️:dbs: Add conf item for meta block size of all direct event columns. 2018-11-02 09:01:23 -07:00
Jason Volk 1d03747da3 ircd::db: Toward O_DIRECT writes from writable_file environment. 2018-11-02 01:11:36 -07:00
Jason Volk 94bfe39ec6 ircd::fs: Save the std openmode in the fd::opts struct. 2018-11-01 23:35:52 -07:00
Jason Volk 10cf8e798c ircd::buffer: Abstract the aligned_alloc() out of the unique_buffer template. 2018-11-01 23:27:51 -07:00
Jason Volk 8db063bfc4 ircd::fs: Remove internal alignment paddings. 2018-11-01 22:23:04 -07:00
Jason Volk a62469a9d6 ircd::fs: Add additional write_opts comments. 2018-11-01 20:26:31 -07:00
Jason Volk 13e6e02901 ircd::fs: Improve request priority value related; get sysconf info. 2018-11-01 20:19:55 -07:00
Jason Volk 3385d25c97 ircd::info: Improve various version information gathering. 2018-11-01 20:14:00 -07:00
Jason Volk c0e92eb2a1 ircd::fs: Add boolean operators for fd. 2018-10-31 17:54:57 -07:00
Jason Volk 6b6106499f ircd::fs: Add write_options.alignment; padding out to alignment for aio write. 2018-10-31 17:00:17 -07:00
Jason Volk 5dcc7cd93b ircd::db: Add error report state w/ interface w/ console cmd. 2018-10-31 15:53:43 -07:00
Jason Volk 0f7e17a519 ircd::db: Add resume from error interface w/ console cmd. 2018-10-31 15:03:32 -07:00
Jason Volk 34e330d77b ircd::db: Simplify buffer alignment callback related; fix log message. 2018-10-31 14:09:10 -07:00
Jason Volk f46886e0b8 ircd::db: Support future CanKeysWithDifferentByteContentsBeEqual feature. 2018-10-31 11:25:07 -07:00
Jason Volk 941b4ff8eb ircd::db: Support passthru stub for comparator feature. 2018-10-31 11:23:55 -07:00
Jason Volk 895c52694e ircd::db: Deinline database::comparator ctor. 2018-10-31 11:23:30 -07:00
Jason Volk a91cdeec0c ircd::ctx: Reorg / abstract / deinline promise related. 2018-10-30 12:18:16 -07:00
Jason Volk 0ea1ba2968 ircd:Ⓜ️:room::power: Simplify level_event / level_state interface related. 2018-10-27 14:27:53 -07:00
Jason Volk 3447a1cc45 ircd:Ⓜ️:room::power: Support power for state events in the interface. 2018-10-25 18:19:54 -07:00
Jason Volk 39eb015565 ircd:Ⓜ️:room: Add join_rule query convenience suite. 2018-10-25 18:19:53 -07:00
Jason Volk 61016b479b ircd:Ⓜ️:room::power: Support defaulting level for the room creator. 2018-10-25 18:09:31 -07:00
Jason Volk 8733e16ca4 ircd:Ⓜ️ Add convenience suite to get or check the room creator's user id. 2018-10-25 18:09:31 -07:00
Jason Volk e209d1661b ircd:Ⓜ️:room::state: Improve the present() state query. 2018-10-25 18:09:31 -07:00
Jason Volk 13f38782f5 ircd::util: Deinline various utils; minor cleanup. 2018-10-25 13:39:41 -07:00
Jason Volk d19edbda98 ircd::mods: Improve MAPI header layout; various cleanup. 2018-10-25 13:03:07 -07:00
Jason Volk 133cb4825c ircd:Ⓜ️:rooms: Add central linkage to send a summary to !public. 2018-10-24 18:08:46 -07:00
Jason Volk 72bfd645da ircd:Ⓜ️:rooms: Retype and rekey the state in !public organized by server. 2018-10-24 17:31:22 -07:00
Jason Volk e85917abb1 ircd:Ⓜ️:rooms: Add public rooms count for total_room_count_estimate; cleanup. 2018-10-24 17:31:21 -07:00
Jason Volk f7c7850465 ircd:Ⓜ️:rooms: Add and use interface for publicrooms iteration. 2018-10-24 17:31:21 -07:00
Jason Volk 0291a0d83e ircd:Ⓜ️:rooms: Move iteration base to module; fix interface return types. 2018-10-24 17:31:21 -07:00
Jason Volk 62177dca20 modules: Start an m_rooms unit; move publicrooms summary chunk generation. 2018-10-24 17:31:21 -07:00
Jason Volk 6f2c9631a1 ircd::resource: Add snomask'ed log facility. 2018-10-24 12:44:13 -07:00
Jason Volk dacbbbb051 ircd::client: Add snomask'ed log facility. 2018-10-24 12:44:00 -07:00
Jason Volk 16ac997220 ircd:Ⓜ️:users: Add lower_bounding for_each; prefix search to users console cmd. 2018-10-23 14:17:42 -07:00
Jason Volk ba70c1b128 ircd:Ⓜ️:room: Add lower_bound state_key only iteration to interface. 2018-10-23 14:16:36 -07:00
Jason Volk 537b7e26aa ircd:Ⓜ️:state: Add unmake_key() inverse convenience to make_key(). 2018-10-23 13:48:23 -07:00
Jason Volk 33aea3fd19 ircd:Ⓜ️ Start a users coarse convenience interface. 2018-10-23 13:32:00 -07:00
Jason Volk bfa76efbc1 ircd::mods: Reorg primary interface / addl utils. 2018-10-23 11:15:21 -07:00
Jason Volk 15b300657f ircd::mods: Add unloading state; add public interface for loading()/unloading() query. 2018-10-23 11:03:57 -07:00
Jason Volk 242516c853 ircd:Ⓜ️ Add central interface for room state prefetch; add console cmd; apply to client sync. 2018-10-23 10:01:36 -07:00
Jason Volk 8be65012ec ircd::db: Refactor column indexing and state to handle dropped columns. 2018-10-22 07:09:55 -07:00
Jason Volk 183be76a3a ircd::db: Use reference to descriptor in database::column object. 2018-10-22 07:09:16 -07:00
Jason Volk d3e61abe7d ircd::db: Implement interface for column dropping. 2018-10-22 04:34:05 -07:00
Jason Volk 87feb65615 ircd::db: Integrate more detailed rocksdb::TableProperties into db::sst::info. 2018-10-21 09:26:02 -07:00
Jason Volk b1bbbfe50b ircd::db: Convert sst::info ctors to assignment operators. 2018-10-21 09:15:30 -07:00
Jason Volk 100325b5a8 ircd::server: deinline peer::err ctor. 2018-10-21 05:35:02 -07:00
Jason Volk 3ffb91d0fd ircd::ctx: Deinline to_asio continuation ctor. 2018-10-21 01:09:07 -07:00
Jason Volk 10d59dec9a ircd::ctx::dock: Make notify() an unconditional notify rather than direct jump. 2018-10-21 01:00:41 -07:00
Jason Volk 045a944911 ircd: Move a2u / pretty() suites from lex_cast to util::; start util.cc unit. 2018-10-21 01:00:41 -07:00
Jason Volk 50acb06dcf ircd: Add missing using std::chrono::duration in stdinc main imports. 2018-10-21 00:55:33 -07:00
Jason Volk 66a936233a ircd::ctx::queue: Add waiter counter. 2018-10-21 00:44:07 -07:00
Jason Volk 337810d7e0 ircd:Ⓜ️:dbs: Add meta block size confs for select direct columns; tweak block sizes. 2018-10-21 00:20:02 -07:00
Jason Volk 5a82a2e4e5 ircd::db: Move stats ticker hostpoint from database::cache to database::column. 2018-10-20 23:30:27 -07:00
Jason Volk 0d6b49a0b6 ircd: Add pretty() human readable time utils. 2018-10-18 17:31:43 -07:00
Jason Volk 5eacd22866 ircd::buffer: Enable the templated value for unique_buffer alignment. 2018-10-18 09:01:25 -07:00
Jason Volk 9da3d20e5c ircd::db: Precache required buffer alignment of random access file for repeat calls. 2018-10-18 08:27:03 -07:00
Jason Volk 02f64c7f34 ircd: Add ios unit to provide a more central control point for asio. 2018-10-17 05:12:10 -07:00
Jason Volk 9833b50551 ircd:Ⓜ️:dbs: Add metadata block size conf items for various meta columns. 2018-10-16 15:53:47 -07:00
Jason Volk 468c7e6f07 ircd::db: Add metadata block size parameter to the descriptor. 2018-10-16 13:39:43 -07:00
Jason Volk a24270d2bb deps: RocksDB to v5.15.10. 2018-10-15 22:31:29 -07:00
Jason Volk ca11351692 ircd: Add assertion() overload taking message string. 2018-10-15 22:31:28 -07:00
Jason Volk f216f60583 ircd:Ⓜ️:vm: Add more options for fine-grained hook call control during eval. 2018-10-11 01:30:31 -07:00
Jason Volk 9aa6e2b768 ircd:Ⓜ️ Rename most vm.notify hooks to vm.effect; Refactor vm::accept related. 2018-10-09 20:56:12 -07:00
Jason Volk f369af944b ircd::ctx: Remove unused peek. 2018-10-06 22:16:37 -07:00
Jason Volk efd8a8c640 ircd::buffer: Make shared_buffer work. 2018-10-04 15:42:24 -07:00
Jason Volk 0e5f8141c3 ircd::net: Add more tls cert verification exceptions w/ conf. 2018-10-04 15:16:15 -07:00
Jason Volk 66ab3d85a5 ircd::net: Use ip to test ipport falsiness; typedef a resource record vector. 2018-10-03 14:17:27 -07:00
Jason Volk 95c6f69e5d ircd::net::dns: Add explicit qtype to opts and integrate w/ query stack. 2018-10-02 22:53:23 -07:00
Jason Volk 14a1be0aaf ircd::net: Add validations on hostport constructions. 2018-10-02 18:39:34 -07:00
Jason Volk 67a759ac21 ircd::rfc3986: Add validation suite for hostname strings related. 2018-10-02 18:11:50 -07:00
Jason Volk 1cf0b629cb ircd::spirit: Add a template for the common expectation failure rethrow integration. 2018-10-02 18:11:50 -07:00
Jason Volk b9aa697206 ircd::resource: Make Access-Control-Allow-Origin response header a conf item. 2018-10-02 15:58:03 -07:00
Jason Volk fdb3f9bc4a ircd::conf: Disambiguate string item access via cast conversion. 2018-10-02 15:58:03 -07:00
Jason Volk 450ec3523e modules/s_dns: Consolidate DNS related into units of a single module. 2018-10-01 13:56:00 -07:00
Jason Volk 5b7cf5a8eb ircd::net::dns: Reorg namespace structure related. 2018-10-01 12:03:31 -07:00
Jason Volk cbf96969db ircd::http: Support 524 "A Timeout Occurred" 2018-10-01 11:30:34 -07:00
Jason Volk 05cc6ddf83 ircd::net: Move resolver service out to modules/s_resolver. 2018-09-30 20:18:32 -07:00
Jason Volk b43b094f2c ircd::rfc1035: Add reverse qtype mapping. 2018-09-30 20:18:32 -07:00
Jason Volk 5a627efaad ircd::net::dns: Move cache related out to modules/s_dns. 2018-09-30 20:18:32 -07:00
Jason Volk da8beda0c3 ircd:Ⓜ️🆔 Support intuitive constructions of m::node::id. 2018-09-30 17:58:16 -07:00
Jason Volk 4f3f729d9b ircd:Ⓜ️🆔 Minor cleanup. 2018-09-30 17:37:24 -07:00
Jason Volk ccaaf22cac ircd::net::dns: Use conf item for resolver servers. 2018-09-29 19:56:22 -07:00
Jason Volk cb6f0032a4 ircd::net: Expose interface to get socket counter as an ID. 2018-09-29 17:15:45 -07:00
Jason Volk 0c25852109 ircd::client: Simplify instance_multimap related; keep state for local/remote addrs in client. 2018-09-29 16:52:54 -07:00
Jason Volk a220891800 ircd::util: Support comparator in instance_multimap template. 2018-09-29 16:46:55 -07:00
Jason Volk 5f37100236 ircd::net: Add some specific comparators for ipport. 2018-09-29 16:46:02 -07:00
Jason Volk b4e4f0165f ircd::net: Deinline some ipport ctors. 2018-09-29 16:39:14 -07:00
Jason Volk 771ecaef7e ircd::client: Simplify log calls with single loghead() string. 2018-09-27 17:05:19 -07:00
Jason Volk 0d4013536a ircd::util: Add overload to ircd::string() to pubsetbuf() a provided buffer. 2018-09-27 17:00:15 -07:00
Jason Volk b93b4e31f6 ircd::client: Move dock into client namespace. 2018-09-27 16:36:50 -07:00
Jason Volk e542ef76fb ircd::db: Add per-cache statistics. 2018-09-26 18:00:18 -07:00
Jason Volk 45c215eb8d ircd::db: Comment to clarify txn iface. 2018-09-26 15:28:36 -07:00
Jason Volk 3421667a45 ircd::db: Interface to get cache pinned usage. 2018-09-26 02:34:47 -07:00
Jason Volk 65f52b0610 ircd::db: Remove the row pos seek. 2018-09-25 23:30:54 -07:00
Jason Volk 533d129322 ircd::db: Enable histogram interface; partial data tally. 2018-09-25 22:18:37 -07:00
Jason Volk e5a96aab93 ircd::db: Deinline stats ctor; zero-init histogram; implement Reset(). 2018-09-25 21:20:02 -07:00
Jason Volk c90b530656 ircd:Ⓜ️:feds: Add central interface linkage for feds head. 2018-09-25 17:14:48 -07:00
Jason Volk cf783d2729 ircd:Ⓜ️:room: Refactor out additional test protocol iterations; minor reorg. 2018-09-25 16:37:07 -07:00
Jason Volk 64ccbea79d ircd:Ⓜ️:room: Refactor out remaining "test protocol" iterations from state interface. 2018-09-25 16:02:19 -07:00
Jason Volk 4788ac4e86 ircd:Ⓜ️ Redeclare is_sigil() suite for clarity. 2018-09-25 15:26:38 -07:00
Jason Volk 580a041ab5 ircd: Improve human readable unit tool suite. 2018-09-24 23:56:29 -07:00
Jason Volk 4e3efb73d3 ircd::db: Use cfmd rather than live-files way to get column family metadata. 2018-09-24 23:10:27 -07:00
Jason Volk 2f3c461664 ircd::db: Place linkage for db comparators so they have one address. 2018-09-24 22:00:21 -07:00
Jason Volk e0bed2dc3e ircd::db: Add sst dump writer; move sst tool. 2018-09-22 15:04:38 -07:00
Jason Volk 99ff78f5c7 ircd::db: Create an sst utility space; move fileinfo into sst. 2018-09-22 13:28:44 -07:00
Jason Volk f7da7d9be8 ircd::db: Support SST dump tooling. 2018-09-21 17:33:34 -07:00
Jason Volk 7834c86360 ircd::db: Add support for direct SST file ingestion. 2018-09-21 15:08:57 -07:00
Jason Volk 452f9a9abb ircd:Ⓜ️ Reorg init/fini sequence. 2018-09-21 15:07:28 -07:00
Jason Volk ae36485d13 ircd::db: Add back the target level to range compact. 2018-09-20 23:30:51 -07:00
Jason Volk 4214977b78 ircd: Rename; use precision for pretty_iec(). 2018-09-20 23:30:50 -07:00
Jason Volk 5e158e37a5 ircd: Add pretty IEC unit printing utils. 2018-09-20 23:30:50 -07:00