0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-28 05:18:59 +02:00
Commit graph

3176 commits

Author SHA1 Message Date
Jason Volk 77a84b18d3 ircd::fs: Add offset to make_iov() suite. 2018-12-18 14:21:09 -08:00
Jason Volk 81ca6fecf4 ircd::fs: Add slice usage warning reasons; simplify conditional logic. 2018-12-17 16:20:54 -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 1e1c9c6a1e ircd::db: Add more information to some file-related env log messages. 2018-12-17 14:01:45 -08:00
Jason Volk beda5abc2a ircd:Ⓜ️:dbs: Add conf items for some buffer sizes. 2018-12-17 13:18:27 -08:00
Jason Volk 2c713cc9a5 ircd::ctx: Tweak interruption point to asio; add comments. 2018-12-17 12:16:04 -08:00
Jason Volk 495b70ec6d ircd::db: Improve shutdown sequence. 2018-12-16 18:37:51 -08:00
Jason Volk ba10948e9d ircd::ctx: Move principal interruption point into continuation. 2018-12-16 18:37:51 -08:00
Jason Volk 16ea21e9f3 ircd::db: Use appropriate log facility for bad news in events callbacks. 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 94518ded5f ircd::db: Move env::state related; minor cleanup. 2018-12-16 16:27:11 -08:00
Jason Volk 705033c459 ircd::db: Relax various write-lock and uninterruptible points. 2018-12-16 16:27:10 -08:00
Jason Volk d6e05aa826 ircd::db: Remove the write lock during manual range compaction. 2018-12-15 23:08:07 -08:00
Jason Volk d754af2f18 ircd::db: Disable interruption for port operations. 2018-12-15 23:07:42 -08:00
Jason Volk 67ce539759 ircd::db: Improve shutdown sequence for environment. 2018-12-15 23:06:33 -08:00
Jason Volk 9f458938db ircd: Gracefully ignore termination propagated from ircd::main(). 2018-12-15 20:51:57 -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 d96ddae133 ircd::db: Propagate all errors from db::init_directory(). 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 da97535713 ircd::db: Reduce the severity of the logmsg for ENOENT on a seqfile open(). 2018-12-15 20:29:54 -08:00
Jason Volk bb6ba69f0b ircd::db: Fix error handling for column_names(); add comments. 2018-12-15 20:29:54 -08:00
Jason Volk 5bba7b3f16 ircd: Remove make install hook to create db dir: already done in db::init. 2018-12-15 20:29:54 -08:00
Jason Volk f1948d38e0 ircd::log: Create log directory at runtime rather than install. 2018-12-15 20:29:54 -08:00
Jason Volk a8584f3336 ircd::fmt: Fix unconditional null termination regression. 2018-12-15 20:29:53 -08:00
Jason Volk d7891d91e8 ircd::mods: Improve dlopen()/handle construction accoutrements. 2018-12-15 20:29:53 -08:00
Jason Volk 5d7f971b89 ircd::mods: Disable interruption during dlopen() / static init. 2018-12-15 20:29:53 -08:00
Jason Volk 4216e939c8 ircd: Set runlevel to QUIT when ircd::quit() called in START state. 2018-12-15 18:18:00 -08:00
Jason Volk 98cb7693f3 ircd::ctx: Set context to NOINTERRUPT rather than clearing TERMINATED like an INTERRUPTED. 2018-12-15 18:18:00 -08:00
Jason Volk 7471bf54f4 ircd::ctx: Improve/conform some watchdog log messages. 2018-12-15 18:18:00 -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 68e91d9206 ircd::client: Broadcast the notify to this dock here. 2018-12-14 15:38:31 -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 a3613b1f4c ircd::ctx: Don't persist conf items for slice/stack assertions. 2018-12-13 16:25:42 -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 3df645fcfb ircd::ctx: Improve some prof log messages. 2018-12-13 15:19:26 -08:00
Jason Volk e2cb79e28d ircd::db: Minor cleanup; comments. 2018-12-13 13:44:37 -08:00
Jason Volk b68677cc28 ircd::db: Simplify error handling and translation for env. 2018-12-12 17:32:24 -08:00
Jason Volk 7792f00461 ircd::db: Add more info to log message. 2018-12-12 16:55:11 -08:00
Jason Volk a2892356d1 ircd::db: Compact range options package. 2018-12-12 16:02:31 -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 9236eeba75 ircd::db: Add dwarning for unaligned write w/ direct io. 2018-12-12 15:30:25 -08:00
Jason Volk a7a00287bb ircd::db: Assert the callback thread_id's match up with the current ircd::ctx. 2018-12-12 14:52:04 -08:00
Jason Volk 0b37c03c78 ircd::db: Simplify log message formats on callbacks. 2018-12-12 14:48:06 -08:00
Jason Volk 1cab1fda7e ircd::db: Use db logger rather than rog for event callbacks. 2018-12-12 13:24:47 -08:00
Jason Volk 8d9b0fb4b1 ircd::db: Options package checkpoint. 2018-12-12 13:16:47 -08:00
Jason Volk df36a6a4ac ircd::db: Use proper fs::sync() for sync requests. 2018-12-12 13:16:47 -08:00
Jason Volk b80735c575 ircd::fs: Add sync()/syncfs(). 2018-12-12 13:16:47 -08:00
Jason Volk c156266bd8 ircd::fs: Simplify error handling. 2018-12-12 13:16:47 -08:00
Jason Volk 6dc547f8f1 ircd::db: Simplify some rdb event log messages. 2018-12-12 10:42:11 -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 c9e9fd3621 ircd::db: Use non-allocating message string for exception translation. 2018-12-12 10:12:24 -08:00
Jason Volk a3f831e64f ircd::net: Simplify various log messages with loghead(). 2018-12-12 10:12:24 -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 f667b73dac ircd::db: Minor move database::column closer to database in the unit. 2018-12-12 08:03:59 -08:00
Jason Volk 24d8665695 ircd::db: Convey better compaction compression option. 2018-12-11 16:42:18 -08:00
Jason Volk a03d28c6a1 ircd::db: Allow < -1 target level to indicate no level change at all. 2018-12-11 16:30:28 -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 638a629151 ircd::fs: Translate boost to std for exceptions out of stdin::readline. 2018-12-11 14:32:51 -08:00
Jason Volk 2a437347cb ircd:Ⓜ️:dbs: Relax assertion. 2018-12-10 15:56:09 -08:00
Jason Volk cfbf31c587 ircd::db: Fix log msg fmt consistency. 2018-12-10 15:18:27 -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 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 313bffffc2 ircd::fs: Add path to error message thrown from ls() et al. 2018-12-08 15:50:08 -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 caf1190c91 ircd::db: Tweak interruption point related. 2018-12-07 12:48:54 -08:00
Jason Volk 41602087f4 ircd::ctx: Simplify flags type; fix flags test. 2018-12-07 12:45:05 -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 418bbc0441 ircd::ctx: Minor simplify type elaborations. 2018-12-07 11:01:16 -08:00
Jason Volk 3af70e75c3 ircd::ctx: Minor cleanup / struct packing / type. 2018-12-07 10:13:29 -08:00
Jason Volk caa92a98c3 ircd::ctx: Don't execute an interrupt handler for uninterruptible ctx. 2018-12-06 19:07:36 -08:00
Jason Volk bacfa6de95 ircd::ctx: Assert interruption points aren't useless calls. 2018-12-06 19:04:31 -08:00
Jason Volk 086f92f989 ircd::rfc3986: Type checking on form encoding from json::members. 2018-12-06 17:31:22 -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 b9974bf4ab ircd::http: Allow empty chunk header to indicate a zero length. 2018-12-05 15:15:49 -08:00
Jason Volk 10b8db0bb3 ircd::http: Add format string construction for http::error. 2018-12-05 15:15:26 -08:00
Jason Volk d6241c66de ircd: Add synchronization for runlevel changes. 2018-12-05 14:31:05 -08:00
Jason Volk 760bd0f19c ircd::db: Workaround allow_fallocate options issue. 2018-12-03 14:31:48 -08:00
Jason Volk 0250c0f2ec ircd::db: Disable fallocate() use for now. 2018-12-03 13:01:36 -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 6d80be2d7a ircd::db: Cleanup / comment db options initialization. 2018-12-03 11:54:35 -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 c1d915db7a ircd::db: Fix pragma. 2018-12-02 17:16:32 -08:00
Jason Volk b45b25bdcd ircd::db: Dressing for C99 array on stack here. 2018-12-01 17:07:15 -08:00
Jason Volk b31432aae1 ircd::db: Checkpoint some table options for compression. 2018-12-01 16:11:32 -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 2dc36775a8 ircd::fs: Check IOV_MAX limits for make_iov(). 2018-12-01 15:21:06 -08:00
Jason Volk 62053e66e2 ircd::db: Minor interruption point tweaks. 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 f9def72a89 ircd::db: Fix propagation of column's compression type to compaction options. 2018-11-30 15:19:49 -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 c451571108 ircd::db: Fix finding supported compression error. 2018-11-30 15:07:51 -08:00
Jason Volk 17817db656 ircd:Ⓜ️:dbs: Add back the deprecated _event_bad descriptor marked for drop. 2018-11-30 14:44:16 -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 b0bfd87e9f ircd::net: Support interruption of UDP listening. 2018-11-29 19:16:05 -08:00
Jason Volk 13bce714ab ircd::rfc1035: Add constant for name buffer size. 2018-11-29 18:04:19 -08:00
Jason Volk 5db6447c4f ircd::db: Disable thread tracking; add compression to column open log msg. 2018-11-29 16:47:17 -08:00
Jason Volk d1bfba2204 ircd::db: Remove critical assertion here and add note. 2018-11-29 16:18:29 -08:00
Jason Volk c74debac01 ircd::ctx: Cleanup / fixes for critical assertion related. 2018-11-29 16:12:33 -08:00
Jason Volk 60dd8c0eea ircd::db: Enable block alignment based on compression; Enable O_DIRECT writes. 2018-11-29 15:41:42 -08:00
Jason Volk 4d9027088f ircd:Ⓜ️:state: No throwing when state node is not found here. 2018-11-29 15:24:39 -08:00
Jason Volk 0b0d20884d ircd:Ⓜ️:state: Eliminate remaining test-protocol iterations. 2018-11-29 15:10:51 -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 731c154b19 ircd::db: Disable AIO for fsync related for now. 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 fde8dbc69d ircd::fmt: Cleanup/reorg definition namespace scoping. 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 5cdd2e6376 ircd::fs::aio: Add statistics for AIO subsystem w/ console cmd. 2018-11-27 19:54:24 -08:00
Jason Volk 12cf8c8772 ircd::fs::aio: Add additional assertions. 2018-11-27 19:53:32 -08:00
Jason Volk 0451dfd925 ircd::fs::aio: Add iovec bytes counter. 2018-11-27 19:53:05 -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 adf2de8aed ircd::buffer: Add include-conditioned zero() fallback and improve return semantic. 2018-11-16 14:28:03 -08:00
Jason Volk 49354027a6 ircd::db: Various cleanup; simplify. 2018-11-15 20:54:50 -08:00
Jason Volk ae1c6cc680 ircd::net: Catch std::system_error rather than boost here. 2018-11-14 18:57:42 -08:00
Jason Volk 46690f433c ircd::ctx: Condition rdtsc linkage based on x86intrin availability. 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 9222de0b34 ircd::ctx: Add access to rdtsc through ctx::prof; minor comments. 2018-11-14 16:55:46 -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 19ef3cfb67 ircd::fpe: Condition experimental asynchronous exception use. 2018-11-12 18:55:00 -08:00
Jason Volk aee34ec734 ircd::allocator: Remove erroneous assertions. 2018-11-11 20:00:11 -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 5d36bdf476 ircd: Remove redundant flag from Makefile. 2018-11-11 18:28:28 -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 c0de9b2e76 ircd: Propagate the ec message here. 2018-11-11 15:52:48 -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 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 86ab32e664 ircd: Minor section markings in exception.cc. 2018-11-08 17:10:56 -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 26d7e4e6de ircd::db: Remove unused path from flush-begin log message. 2018-11-07 00:57:11 -08:00
Jason Volk c5b8276840 ircd::resource: Improve stack to gather accurate internal error counts. 2018-11-07 00:24:18 -08:00
Jason Volk 7d47ee4d5a ircd::resource: Return BAD_REQUEST rather than NOT_FOUND for required JSON missing. 2018-11-06 21:36:51 -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 7c815116a6 ircd::ctx: Fix comment typo. 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 d49b3ba7dd ircd::resource: Minor reorg class layout / opts. 2018-11-05 19:14:53 -08:00
Jason Volk cbbfbcac72 ircd::db: Optimize away one of the row ctor's vector heap allocations. 2018-11-05 17:12:29 -08:00
Jason Volk e03d36aa48 ircd::allocator: Add allocator::scope device. 2018-11-05 16:45:08 -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 5236790228 ircd:Ⓜ️ Handle json::not_found on index() for more descriptive error. 2018-11-02 19:42:20 -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 a5955fc9ae ircd:Ⓜ️:dbs: Options package; configuration tweak. 2018-11-02 19:15:57 -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 49bad9f01d ircd::db: Check for posix_fadvise(); implement InvalidateCache for environment if not direct IO. 2018-11-02 01:30:15 -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 95d42686f3 ircd::db: Add reflection for WriteLifeTimeHint. 2018-11-02 01:07:09 -07:00
Jason Volk 7b798645a4 ircd::db: Downgrade error severity to allow administrative resume. 2018-11-02 00:05:21 -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 916a5b26ea ircd: Additional ircd::terminate() output and flushing. 2018-11-01 22:25:10 -07:00
Jason Volk 8db063bfc4 ircd::fs: Remove internal alignment paddings. 2018-11-01 22:23:04 -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 6b6106499f ircd::fs: Add write_options.alignment; padding out to alignment for aio write. 2018-10-31 17:00:17 -07:00
Jason Volk 88be871149 ircd::aio: Switch to PREADV/PWRITEV iovector operations. 2018-10-31 16:29:20 -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 5da7f20a9a ircd::db: Add and use reflection for Status::Severity. 2018-10-31 14:48:14 -07:00
Jason Volk ac01ae0936 ircd::db: Move reflections for WriteStall- and BackgroundError- related. 2018-10-31 14:40:00 -07:00
Jason Volk ee670af436 ircd::db: Fix WriteStallInfo reflection and log message. 2018-10-31 14:22:31 -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 fec935463b Merge branch 'libressl' of https://github.com/DanySpin97/charybdis 2018-10-30 13:58:18 -07:00
Jason Volk 22d06a4670 Merge branch 'libressl-2' of https://github.com/DanySpin97/charybdis 2018-10-30 13:38:14 -07:00
Jason Volk a91cdeec0c ircd::ctx: Reorg / abstract / deinline promise related. 2018-10-30 12:18:16 -07:00
Danilo Spinella 4e1be6d1fd Drop const modifier for libressl 2018-10-29 15:37:51 +00:00
Danilo Spinella 0258ea7999 Add ASN1_TIME_seconds method for LibreSSL
Credits to https://github.com/Castaglia.
a3d65e8683
2018-10-29 15:28:18 +00:00
Jason Volk 0ea1ba2968 ircd:Ⓜ️:room::power: Simplify level_event / level_state interface related. 2018-10-27 14:27:53 -07:00
Jason Volk 01ec851b4d ircd:Ⓜ️:dbs: Improve some column description strings. 2018-10-27 13:44:40 -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 7d489a40e7 ircd:Ⓜ️🪝 Adjust hook matching to condition event.membership and event.content.membership. 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 30d938530a ircd::client: Tweak log message format. 2018-10-24 19:06:35 -07:00
Jason Volk d65c22fd9f ircd: Use resource log facility for HTTP status related; add path to log msg. 2018-10-24 18:24:51 -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 3a36bbfca5 ircd::server: Fix dangling-type exception_ptr in peer::err by clearing peers here.
This will destruct the exception first before the module which introduced the
exception's type unloads. On daemon shutdown, the module will unload and if
an instance of the exception is still held by peer::err bad things happen.
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 59adeb839c ircd::mods: Minor reorg: move internal section to top; cleanup terminate handler. 2018-10-24 12:16:08 -07:00
Jason Volk b5b52d5ee3 ircd:Ⓜ️:room: Reduce state iteration stack codepaths. 2018-10-23 18:11:56 -07:00
Jason Volk da322fc048 ircd:Ⓜ️ Conditional reuse of state key format stack paths. 2018-10-23 18:04:21 -07:00
Jason Volk 0f1d5bac76 ircd:Ⓜ️:room::members: Fix closure return value in iteration. 2018-10-23 14:45:22 -07:00
Jason Volk c9426a3616 ircd:Ⓜ️:room: Conditional reuse of keys for_each path. 2018-10-23 14:45:16 -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 002dea97ec modules/client/user: Move user create to m_user. 2018-10-23 13:22:08 -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 5fa42b5afd ircd::mods: Use forward_list for mod::loading state. 2018-10-23 10:54:56 -07:00
Jason Volk e6dd4beaaa ircd::ctx: Harder default interruption on context dtor. 2018-10-23 10:16:15 -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 c83d17396b modules: Rename vm_fetch to s_fetch. 2018-10-23 09:13:48 -07:00
Jason Volk 94fe5090f5 ircd::db: Strict block size deviation; relax read amplification bitmap 2018-10-22 13:53:02 -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 5544da61b8 ircd::db: Move column alignment check outside of DB::Open ctor closure. 2018-10-22 04:34:05 -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 7b4b6c479c ircd::db: Use dead branch rather than comment for has() regression for now. 2018-10-21 04:41:21 -07:00
Jason Volk 3ffb91d0fd ircd::ctx: Deinline to_asio continuation ctor. 2018-10-21 01:09:07 -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 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 f9fca347d8 ircd::db: Reverse the compaction priority strategy. 2018-10-18 17:32:18 -07:00
Jason Volk c31b29307b ircd:Ⓜ️:state: Fix fallback path for empty type in count(). 2018-10-18 17:32:18 -07:00
Jason Volk a63cfa86a2 ircd:Ⓜ️:room::state: Simplify count() stack. 2018-10-18 17:32:18 -07:00
Jason Volk 6713aa54eb ircd:Ⓜ️:room::state: Fix empty type argument fallback path. 2018-10-18 17:32:18 -07:00
Jason Volk 0787246e23 ircd::log: Make buffer tls. 2018-10-18 17:32:18 -07:00
Jason Volk 0d6b49a0b6 ircd: Add pretty() human readable time utils. 2018-10-18 17:31:43 -07:00
Jason Volk e540ad1412 ircd::fs: Better results for read buffer alignments. 2018-10-18 09:44:34 -07:00
Jason Volk 4c95b39ce5 configure: Add missing sys/stat.h sys/statvfs.h header checks. 2018-10-18 09:28:01 -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 c0058aa53c ircd::db: Fix debug variable name error. 2018-10-18 08:00:57 -07:00
Jason Volk bd6f46f488 ircd::db: Column options package; meta column block sizes tweak. 2018-10-17 22:12:41 -07:00
Jason Volk 8ce716b384 ircd:Ⓜ️:dbs: Tweak metablock default sizes. 2018-10-17 10:07:58 -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 fbad6072df ircd:Ⓜ️:dbs: Relax the bloom filter bitcounts; add some bloom on _state_node. 2018-10-16 09:13:53 -07:00
Jason Volk df4ad6daca ircd::db: Column table options package post rocksdb v5.15 upgrade. 2018-10-16 09:13:53 -07:00
Jason Volk 167eb18470 ircd::db: Disable use of rocksdb KeyMayExist in db::has() due to regression. 2018-10-16 09:13:53 -07:00
Jason Volk 0ad41ea0ff ircd::db: Assert no context switch on iterator creation calls. 2018-10-16 09:13:53 -07:00
Jason Volk bed1d49b6e ircd::db: Condition filter check on if used for column (rocksdb regression workaround). 2018-10-16 09:13:53 -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 37b55e4b11 ircd::db: Options package for table metadata. 2018-10-14 08:53:46 -07:00
Jason Volk d4d121f6c3 ircd::http: Minor definition section labels. 2018-10-14 02:40:22 -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 f68926e526 ircd:Ⓜ️🪝 Minor fixes for hook unmapper. 2018-10-09 20:48:07 -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 0df3eafea2 modules/s_dns: Simplify/breakdown callback stack related. 2018-10-03 14:33:53 -07:00
Jason Volk 58c7a4885b ircd::server: Remove redundant strings; minor cleanup. 2018-10-02 22:37:07 -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 a893c1e0a7 ircd::rfc3986: Rename some rules in the grammar. 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 450ec3523e modules/s_dns: Consolidate DNS related into units of a single module. 2018-10-01 13:56:00 -07:00
Jason Volk 0e6221b8dc ircd::net::dns: Move closure chains out to modules/s_dns; minor reorg. 2018-10-01 12:47:49 -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 0813adca32 ircd::client: Use socket ID rather than address for loghead. 2018-09-29 19:56:40 -07:00
Jason Volk ccaaf22cac ircd::net::dns: Use conf item for resolver servers. 2018-09-29 19:56:22 -07:00
Jason Volk 33a8430661 ircd::net: Reduce string allocations from various log compositions. 2018-09-29 17:40:45 -07:00
Jason Volk d1c28abf7e ircd::net: Minor cleanup various log calls. 2018-09-29 17:28:11 -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 8d7bf8dc88 ircd::client: Simplify/dedup error handling switch. 2018-09-29 17:09:07 -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 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 cedfff720a ircd:Ⓜ️ Fix return value for index(event_id). 2018-09-27 17:10:54 -07:00
Jason Volk 4b142de177 ircd:Ⓜ️ Fix prototype for pretty prev. 2018-09-27 17:10:22 -07:00
Jason Volk 771ecaef7e ircd::client: Simplify log calls with single loghead() string. 2018-09-27 17:05:19 -07:00
Jason Volk b93b4e31f6 ircd::client: Move dock into client namespace. 2018-09-27 16:36:50 -07:00
Jason Volk f023d05e66 ircd::allocator: Pretty IEC units for memory info. 2018-09-27 01:53:03 -07:00
Jason Volk 2c054ec9ca ircd::db: Comment with TODO about cache bloom filtering here. 2018-09-26 19:02:09 -07:00
Jason Volk e542ef76fb ircd::db: Add per-cache statistics. 2018-09-26 18:00:18 -07:00
Jason Volk d9dc597c1c ircd::db: Set a default high priority cache reserve percentage. 2018-09-26 02:44:20 -07:00
Jason Volk 3421667a45 ircd::db: Interface to get cache pinned usage. 2018-09-26 02:34:47 -07:00
Jason Volk da46a2ac48 ircd::db: Do our own default sharding calc based on request context contention. 2018-09-26 02:03:31 -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 a806ce2762 ircd:Ⓜ️:dbs: Update cache size defaults. 2018-09-25 21:14:11 -07:00
Jason Volk 5bd367df35 ircd::client: Recondition to avoid unnecessary log spam here. 2018-09-25 17:31:56 -07:00
Jason Volk 4c0f06aaa3 ircd:Ⓜ️:feds: Fix missing linkage definition for feds::state. 2018-09-25 17:14:48 -07:00
Jason Volk c90b530656 ircd:Ⓜ️:feds: Add central interface linkage for feds head. 2018-09-25 17:14:48 -07:00
Jason Volk 295a08fc07 ircd::db: Checkpoint these level hard-values for now. 2018-09-25 16:38:19 -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 f54e05b7f0 ircd:Ⓜ️:room: Passthru as wildcard for empty type string. 2018-09-25 16:09:46 -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 32496af5da ircd::db: Ensure default init on int prop retval. 2018-09-25 15:07:56 -07:00
Jason Volk 8b27f7089d ircd::db: Supply an insertion hint prefix extractor. 2018-09-25 02:37:29 -07:00
Jason Volk 15b907167d ircd::client: Refuse to enqueue client request in unfavorable runlevel; tweaks shutdown. 2018-09-25 00:33:40 -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 ca8082d01b ircd::net: Relax this assertion with a log warning. 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 66e5a19751 ircd::db: Move the port define; explain. 2018-09-24 21:34:08 -07:00
Jason Volk 1959c8556c ircd::db: Disable interruption in these frames fwiw. 2018-09-22 16:01:10 -07:00