0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-29 10:12:39 +01:00
Commit graph

3018 commits

Author SHA1 Message Date
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
Jason Volk
e745697448 ircd::db: Checkpoint some options related. 2018-09-22 16:01:10 -07:00
Jason Volk
3de9464058 ircd::db: Tweak/automake ingestion options related. 2018-09-22 15:04:39 -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
795d62b1c7 ircd::db: Don't override uuid gen. 2018-09-20 23:30:51 -07:00
Jason Volk
9c64ae50e4 ircd:Ⓜ️ Reuse index query path. 2018-09-20 23:30:51 -07:00
Jason Volk
aea6659154 ircd:Ⓜ️ Reuse query path. 2018-09-20 23:30:51 -07:00
Jason Volk
9cced19111 ircd::client: Close sockets before terminating contexts on shutdown. 2018-09-20 23:30:50 -07:00
Jason Volk
4214977b78 ircd: Rename; use precision for pretty_iec(). 2018-09-20 23:30:50 -07:00
Jason Volk
34e969d01e ircd::fmt: Support long double; Add precision to double format specifier. 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
Jason Volk
db9d1dcb99 ircd: Minor cleanup. 2018-09-20 23:30:50 -07:00
Jason Volk
7676bd0944 ircd::db: Add a fileinfo wrapping interface. 2018-09-20 15:57:15 -07:00
Jason Volk
f80aaa7904 ircd::db: Add util to get file list for specific column. 2018-09-20 15:56:46 -07:00
Jason Volk
c1a2e44ce0 ircd::db: Mask interruption; noexcept in filter overrides. 2018-09-19 17:16:08 -07:00
Jason Volk
7427ec991c ircd::db: Add closure on manual compaction arguments. 2018-09-19 17:16:08 -07:00
Jason Volk
9afac08e40 ircd::db: Simplify compaction callback argument requirements w/ struct. 2018-09-19 17:16:07 -07:00
Jason Volk
53651ad808 ircd::db: Move database::descriptor out to db::descriptor. 2018-09-19 15:38:37 -07:00
Jason Volk
3abfb6b949 ircd::db: Some auto-compaction hard values for now. 2018-09-19 00:12:55 -07:00
Jason Volk
c53e02428d ircd: Reuse path for error code string. 2018-09-19 00:02:47 -07:00
Jason Volk
2e245dacd1 ircd::server: Minor move handler binding. 2018-09-18 23:47:52 -07:00
Jason Volk
0e7a55d3b3 ircd::ctx::pool: Use queue push() instead of emplace(). 2018-09-18 21:56:36 -07:00
Jason Volk
5a32754937 ircd::server: Catch anything at these handlers. 2018-09-18 21:48:40 -07:00
Jason Volk
3b960d2576 ircd: Add misc assertions. 2018-09-18 21:24:19 -07:00
Jason Volk
b979426f7a ircd::db: Update event-listener related. 2018-09-18 18:37:46 -07:00
Jason Volk
5698637dd6 ircd::ctx::pool: Use ctx::queue for pool's queue. 2018-09-18 16:45:04 -07:00
Jason Volk
dadf237bb5 ircd::server: Minor cleanup; modernize some log calls. 2018-09-18 15:10:10 -07:00
Jason Volk
fc09ba81af ircd::db: Add compaction callback interface. 2018-09-18 15:07:09 -07:00
Jason Volk
4660619f4a modules/media/media: Disable bloom; ircd:Ⓜ️:dbs: Disable state_node bloom. 2018-09-17 23:51:55 -07:00
Jason Volk
75ea43885b ircd:Ⓜ️:dbs: Add conf items for column block sizes. 2018-09-17 23:42:25 -07:00
Jason Volk
8d435305d0 ircd::net: Wait for pending resolver tags to complete on shutdown. 2018-09-17 21:31:23 -07:00
Jason Volk
176e70d2c7 ircd::db: Add table block_size setting to column descriptor. 2018-09-17 21:26:55 -07:00
Jason Volk
a4f8cf83f6 ircd::server: Handle unfavorable runlevel in resolver callback. 2018-09-17 21:06:38 -07:00
Jason Volk
0ed617c889 ircd:Ⓜ️🪝 Add option for propagating exceptions. 2018-09-17 20:45:05 -07:00
Jason Volk
439e8618d6 ircd: Simplify/cleanup the coarse controls for client/server subsystems. 2018-09-17 16:47:36 -07:00
Jason Volk
3188b03943 ircd:Ⓜ️:typing: Add an iteration of typist state w/ console cmd. 2018-09-16 20:55:12 -07:00
Jason Volk
46cb5aee41 modules/m_typing: Move non-handler related from client/rooms/typing. 2018-09-16 20:55:12 -07:00
Jason Volk
be8b9fece0 ircd::client: Query for remote which throws if d/c'ed here. 2018-09-15 06:50:06 -07:00
Jason Volk
d0bfe4fd8f ircd::conf: Use lex_cast for item<bool> setter. 2018-09-15 06:41:34 -07:00
Jason Volk
9bc4f4ef58 ircd::conf: Support environmental variables overriding conf item values. 2018-09-15 06:41:34 -07:00
Jason Volk
ba401ee815 ircd:Ⓜ️:dbs: Add conf items for all caches enable/disable. 2018-09-15 06:41:34 -07:00
Jason Volk
71d772a80c ircd::conf: Enforce a max length on name strings. 2018-09-15 02:20:48 -07:00
Jason Volk
1711df33a9 ircd::conf: Use util::callbacks here. 2018-09-15 00:38:45 -07:00
Jason Volk
fe26b5e0c0 modules: thread_local mods::import cannot be used or the module gets stuck. 2018-09-14 07:44:44 -07:00
Jason Volk
d6d1deccc6 ircd::resource: Tweak resource path search and fallback to webroot. 2018-09-13 23:34:40 -07:00
Jason Volk
8900c7d95e Add datadir (share) configure, Makefile and ircd::fs related. 2018-09-13 22:02:52 -07:00
Jason Volk
71edf65c7c ircd:Ⓜ️:vm: Remove the depends aborted depends map fetus. 2018-09-13 19:49:25 -07:00
Jason Volk
d97a5ac571 ircd:Ⓜ️:vm: Remove the vm::phase; create fetch_hook. 2018-09-13 18:30:40 -07:00
Jason Volk
11948e47ac ircd: Move m::import to mods::import where it is more appropriate. 2018-09-13 18:19:27 -07:00
Jason Volk
08d9f2c606 ircd:Ⓜ️ Remove the room::state::tuple contraption. 2018-09-13 07:53:51 -07:00
Jason Volk
81d7ba8c39 ircd: Various string_view conversion fixes. 2018-09-13 06:47:52 -07:00
Jason Volk
7d94b1c17b ircd: Relax noexcept in std::function template declarations. 2018-09-13 05:12:25 -07:00
Jason Volk
09529ae311 ircd: Fix std::ios::openmode name. 2018-09-13 05:12:01 -07:00
Jason Volk
5e06c4795b ircd: Replace any std::uncaught_exception() -> std::uncaught_exceptions(). 2018-09-13 05:02:24 -07:00
Jason Volk
65f87b58bc ircd:Ⓜ️ Use better constexpr for room_id() stack buffer size. 2018-09-13 05:02:24 -07:00
Jason Volk
d3766ee0e5 ircd:Ⓜ️ Add room federate query w/ console indicator. 2018-09-12 23:31:32 -07:00
Jason Volk
2ae2bb0eef ircd:Ⓜ️ Add room version query w/ console cmd. 2018-09-12 23:26:15 -07:00
Jason Volk
5c879bd380 ircd:Ⓜ️🧾 Start central interface to get receipt information. 2018-09-12 22:32:00 -07:00
Jason Volk
f4831c863a modules/m_room: Add interface to count events in a room between two arguments. 2018-09-12 22:32:00 -07:00
Jason Volk
632278e607 ircd:Ⓜ️:room: Finesse a messages::seek_idx() into the seek stack. 2018-09-07 06:19:21 -07:00
Jason Volk
f7bb1f9360 ircd::info: Fix some informational timestamps. 2018-09-05 23:32:52 -07:00
Jason Volk
5ac5a26f83 ircd::json: Conditions for which string grammar to invoke. 2018-09-05 23:23:26 -07:00
Jason Volk
8593d09c80 ircd::json: Enforce string type for member key on constructions. 2018-09-05 23:23:26 -07:00
Jason Volk
6858ea2bb1 ircd:Ⓜ️:vm: Add commitopts (copts) to vm::accepted structure. 2018-09-05 19:43:09 -07:00
Jason Volk
cffe958d2b ircd::json: Add splice operations over json::strung. 2018-09-05 19:37:59 -07:00
Jason Volk
d3493e5901 ircd::json: Split strung into file. 2018-09-05 18:45:25 -07:00
Jason Volk
66edb4a7fb ircd::db: Add custom cache stats ticker. 2018-09-05 03:13:05 -07:00
Jason Volk
4067809a9a ircd:Ⓜ️:state: Add addl rep util; checkpoint remove stub. 2018-09-05 01:36:44 -07:00
Jason Volk
ace2a990b5 ircd::json: Change condition order. 2018-09-05 00:55:55 -07:00
Jason Volk
6dc3f4044a modules: Checkpoint vm_fetch fwiw (disabled from active eval codepaths). 2018-09-04 23:27:01 -07:00
Jason Volk
e48750e6aa ircd:Ⓜ️ Just disable MISSING_PREV_STATE check here. 2018-09-04 23:24:05 -07:00
Jason Volk
2140f42cd7 ircd::resource: Internalize the buffering boilerplate used with json::stack. 2018-09-04 22:03:12 -07:00
Jason Volk
bc88a4cf6d ircd::server: Assertion on tag removal. 2018-09-04 20:27:30 -07:00
Jason Volk
a806b2d60b modules/m_event: Add modules; move pretty() suite out of ircd:Ⓜ️:. 2018-09-04 20:27:30 -07:00
Jason Volk
aeb41e7341 ircd:Ⓜ️ Add pretty_msgline() suite. 2018-09-04 06:35:10 -07:00
Jason Volk
7f43da8a07 ircd::db: Test if directory for db::available() listing. 2018-09-04 02:32:12 -07:00
Jason Volk
f7fbd0f5d2 ircd::db: Detect O_DIRECT possible for database directory on init. 2018-09-04 02:32:12 -07:00
Jason Volk
3426fc650f ircd::fs: Test if O_DIRECT possible on path target. 2018-09-04 01:43:21 -07:00
Jason Volk
4f55dac071 ircd::db: Minor cleanup. 2018-09-03 21:43:31 -07:00
Jason Volk
60a0694853 construct: Add program option to disable direct IO. 2018-09-03 07:59:05 -07:00
Jason Volk
80d0db9f26 ircd::db: Remove unnecessary default to O_DIRECT. 2018-09-03 07:48:23 -07:00
Jason Volk
be84bf83de ircd::conf: Add item init callback. 2018-09-03 04:41:14 -07:00
Jason Volk
ff7fbdf99e ircd::rfc1035: Relax SRV rdata assertion. 2018-09-03 03:36:23 -07:00
Jason Volk
b0e9107870 ircd::db: Cache size cannot be strict here. 2018-09-03 03:24:37 -07:00
Jason Volk
c980ce464f configure: Rework the SSL support sections. 2018-09-03 03:05:09 -07:00
Jason Volk
a0f8fef153 ircd:Ⓜ️:request: Runtime exception for request which is too large. 2018-09-03 00:37:11 -07:00
Jason Volk
08a35bdc6a ircd::conf: Add reset() suite to rexecute item callbacks. 2018-09-02 21:16:49 -07:00
Jason Volk
6f940ab51e ircd::db: Improve debug msg on column init. 2018-09-02 21:16:49 -07:00
Jason Volk
795beb2ad2 ircd:Ⓜ️:dbs: Checkpoint these column descriptions in order already used. 2018-09-02 21:16:49 -07:00
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