0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-27 17:22:36 +01:00
Commit graph

3151 commits

Author SHA1 Message Date
Jason Volk
8395a7844c ircd::fs: Add fd::opts direct and cloexec flags; reorg fd ctor related. 2018-05-30 04:59:05 -07:00
Jason Volk
f8ea91cdee ircd::fs: Add append(fd) with explicit lseek(SEEK_END). 2018-05-30 04:59:04 -07:00
Jason Volk
ead2a567ad ircd::fs: Refactor fs::write stack for fs::fd. 2018-05-30 04:59:04 -07:00
Jason Volk
501e82e8aa ircd::fs: Refactor fs::read stack for fs::fd. 2018-05-30 04:59:04 -07:00
Jason Volk
a9e73d898c ircd::fs: Add size(fd) from sys stat(). 2018-05-30 04:59:04 -07:00
Jason Volk
955d8921b9 ircd::fs: Add basic fd wrapper object. 2018-05-30 04:59:04 -07:00
Jason Volk
73fc596cb6 ircd::db: Add experimental port linktime override suite. 2018-05-30 04:59:04 -07:00
Jason Volk
b13193611d ircd::server: Rename peer::interrupt() to peer::cancel(). 2018-05-29 11:53:37 -07:00
Jason Volk
702c290d10 ircd::buffer: Minor cleanup/simplify. 2018-05-29 09:33:07 -07:00
Jason Volk
de8e7b5908 ircd:Ⓜ️:vm: Move eval entry related into modules/vm; convert phase to struct. 2018-05-29 04:05:50 -07:00
Jason Volk
46aec8bc8f ircd::allocator: Minor remove unused declaration. 2018-05-29 02:52:47 -07:00
Jason Volk
9714d1ee15 ircd:Ⓜ️ Reorg event visibility interface; update linkages. 2018-05-28 00:33:21 -07:00
Jason Volk
88d3026cc7 ircd:Ⓜ️:vm: More granular notification broadcast options. 2018-05-27 19:56:04 -07:00
Jason Volk
3ec0a1c7c8 ircd:Ⓜ️ Further overload the event::hashes stack; use proper return types. 2018-05-27 08:39:49 -07:00
Jason Volk
0d833cda4f ircd:Ⓜ️ Add templated payload for hook. 2018-05-26 22:12:11 -07:00
Jason Volk
5b52ac3103 ircd::ctx: Remove argument from continuation ctor. 2018-05-25 23:50:20 -07:00
Jason Volk
a1e1272d9c ircd::mods: Fix sym_ptr boolean test. 2018-05-25 23:47:59 -07:00
Jason Volk
422206794f ircd::conf: Add conf::exists(key); minor cleanup. 2018-05-25 20:45:30 -07:00
Jason Volk
b69848b620 ircd::json: Add non-const iov::at(); minor cleanup. 2018-05-25 17:45:49 -07:00
Jason Volk
2564b28743 ircd::db: Properly maintain db::gopts as iterator state. 2018-05-25 03:07:30 -07:00
Jason Volk
a45365ee98 ircd::allocator: Add global allocator profiling suite. 2018-05-25 03:07:30 -07:00
Jason Volk
c6bd9d63e8 ircd::allocator: Deinline non-template assets. 2018-05-25 00:15:49 -07:00
Jason Volk
ff21175036 ircd::db: Integrate checkpointing with database name and path schema. 2018-05-24 20:52:49 -07:00
Jason Volk
4cb6845ac1 ircd::fs: Use vector_view for make_path related. 2018-05-24 19:11:05 -07:00
Jason Volk
184684264b ircd:Ⓜ️🪝 Additional internal distillation of class components. 2018-05-24 18:31:47 -07:00
Jason Volk
4ce29f1d22 ircd::db: Add cache clear interface w/ console cmd. 2018-05-24 01:18:58 -07:00
Jason Volk
7bfe9e94a1 ircd::db: Default to no checksums on all reads; add conf item; adjust opts. 2018-05-23 18:45:27 -07:00
Jason Volk
92b91fc307 ircd: Make timestr()'s buffer default a template param; reorg; add comments. 2018-05-23 18:14:42 -07:00
Jason Volk
31dfee9bf3 ircd: Add template ostream convenience for std::chrono::durations. 2018-05-23 17:58:11 -07:00
Jason Volk
5708d9c36b ircd::db: Consolidate various stats interfaces into header. 2018-05-23 17:04:02 -07:00
Jason Volk
77755a2ab4 ircd::db: Add interface to rocksdb iostats w/ console cmd. 2018-05-23 16:57:49 -07:00
Jason Volk
9da798145b ircd:Ⓜ️ Allow room opts passed through user::room ctor. 2018-05-23 16:44:16 -07:00
Jason Volk
1c20df652b ircd::db: Elaborate interface to the rocksdb perf_context. 2018-05-23 16:27:44 -07:00
Jason Volk
8b15512849 ircd::db: Add database's unique id string interface. 2018-05-22 17:01:01 -07:00
Jason Volk
9d5afc8e87 ircd::db: Add separate check(database); Add log notice when checking on open. 2018-05-22 16:52:34 -07:00
Jason Volk
7e8ec1ca63 ircd::ctx: Support interrupt suppression; suite. 2018-05-22 00:22:56 -07:00
Jason Volk
1afba986b3 ircd::db: Support additional rdb comparator features. 2018-05-21 19:52:18 -07:00
Jason Volk
6be37c7aa6 ircd:Ⓜ️ Add event::fetch::opts overrider to room::messages; simplify overrider on room::state. 2018-05-21 17:36:16 -07:00
Jason Volk
a2b80db1ad configure.ac/ircd: Add granular configure-time log level control. 2018-05-21 16:59:28 -07:00
Jason Volk
fcb1df34da ircd::log: Re-number log levels. 2018-05-21 16:14:59 -07:00
Jason Volk
0d489d6ffb ircd::http: Add 504 Gateway Timeout status. 2018-05-21 15:56:13 -07:00
Jason Volk
0808058ccd ircd: Add various missing top-level \briefs. 2018-05-21 03:01:50 -07:00
Jason Volk
67b7a58f42 ircd:Ⓜ️ Additional event/room visibility linkage and preliminary hook. 2018-05-20 20:15:50 -07:00
Jason Volk
a66928572b ircd:Ⓜ️ Elaborate room::state ctor for easier custom fopts. 2018-05-20 20:14:44 -07:00
Jason Volk
6e7d5aec3b ircd:Ⓜ️ Rename room opts to copts for consistency. 2018-05-20 20:14:12 -07:00
Jason Volk
32549bc9ae ircd::conf: Deinline some specialized definitions. 2018-05-20 18:39:33 -07:00
Jason Volk
f4acce9c91 ircd::conf: Add bool conf item template specialization. 2018-05-20 18:39:33 -07:00
Jason Volk
c88ce8168b Revert "ircd:Ⓜ️ Convert hook to template."
This reverts commit 915076296f.
2018-05-20 18:39:32 -07:00
Jason Volk
5da82c7e93 ircd::http: Minor cleanup: move the code enum. 2018-05-20 17:37:50 -07:00
Jason Volk
67744cf73e ircd:Ⓜ️ Remove the room::state::opts. 2018-05-20 05:11:30 -07:00
Jason Volk
7e5b9b69ed ircd:Ⓜ️ Integrate fetch::opts with room queries. 2018-05-20 04:35:17 -07:00
Jason Volk
79371780f3 ircd:Ⓜ️ Add fetch::opts with keys and db::gopts. 2018-05-20 04:34:31 -07:00
Jason Volk
163106bb72 ircd:Ⓜ️ Simplify the event::fetch ctor stack w/ default selection. 2018-05-20 01:48:47 -07:00
Jason Volk
1efe069a56 ircd::db: Remove the row tuple template constructor. 2018-05-20 01:48:47 -07:00
Jason Volk
fb1c7236ac ircd::json: Default selection to all keys. 2018-05-20 01:48:47 -07:00
Jason Volk
2f48b69102 ircd:Ⓜ️ Add event::fetch seekless ctor w/ selection. 2018-05-19 22:55:03 -07:00
Jason Volk
208a0198c0 ircd::json: Add specific extern undefined number. 2018-05-19 22:55:03 -07:00
Jason Volk
df348bccaf ircd::db: Condition to not assign cell with null column pointer. 2018-05-19 22:55:03 -07:00
Jason Volk
6150637537 ircd:Ⓜ️ event::fetch keys selection. 2018-05-19 22:55:03 -07:00
Jason Volk
fdadd57f6f ircd::db: Fix row from tuple template. 2018-05-19 22:55:02 -07:00
Jason Volk
d30aa971e5 ircd::json: Additional initializer list convenience constructors for keys. 2018-05-19 22:55:02 -07:00
Jason Volk
16c86f9a76 ircd::fmt: Fix copying / nulling / assertions. 2018-05-19 20:53:40 -07:00
Jason Volk
2991144b38 ircd::json: Use vector_view for keys selectors. 2018-05-19 19:17:07 -07:00
Jason Volk
64170b6fef ircd::json: Add tuple keys vector_view convenience conversion. 2018-05-19 18:52:50 -07:00
Jason Volk
5a058be4ba ircd::net: Use specific canon service/port variables. 2018-05-19 18:49:08 -07:00
Jason Volk
52de335c8f ircd::json: Split tuple key() suite. 2018-05-19 18:49:08 -07:00
Jason Volk
9d2a796f17 ircd::json: Elaborate on keys interface; cleanup; add comments. 2018-05-19 18:49:08 -07:00
Jason Volk
39e403c1d2 ircd::json: Add template to get tuple key string with runtime index. 2018-05-19 18:49:07 -07:00
Jason Volk
65f7adc8c6 ircd::server: Internalize more references to the peer instance; various cleanup. 2018-05-19 18:49:07 -07:00
Jason Volk
fc3fd6a8b2 ircd::resource: Add a node_id to the resource request struct. 2018-05-19 18:49:07 -07:00
Jason Volk
eb5f2475a3 ircd:Ⓜ️ Add preliminary skeleton linkage for room/event visibilty related. 2018-05-19 18:49:07 -07:00
Jason Volk
31d0f9daed ircd:Ⓜ️:dbs: Rename opts.idx to opts.event_idx; split internal related. 2018-05-19 18:49:07 -07:00
Jason Volk
296eff7c5d ircd::db: Removed unused cell features. 2018-05-19 18:49:06 -07:00
Jason Volk
a62f453e58 ircd:Ⓜ️ Add signature appending routine. 2018-05-19 18:49:05 -07:00
Jason Volk
8fefae157a ircd:Ⓜ️ Fix event::idx argument typing in events:: iterations. 2018-05-19 18:49:05 -07:00
Jason Volk
48f4c22cce ircd:Ⓜ️ Expose an init::close() for ircd::main() to stop listening. 2018-05-19 18:49:04 -07:00
Jason Volk
47b28d9295 ircd::db: Add cache key remover. 2018-05-19 18:49:04 -07:00
Jason Volk
9e0acde5cf ircd::db: Add cache entry iteration (experimental). 2018-05-19 18:49:04 -07:00
Jason Volk
8f40fd574a ircd::db: Interface to test if cache entry exists. 2018-05-19 18:49:04 -07:00
Jason Volk
f97c9fff99 ircd::db: Add interface to database & column caches. 2018-05-19 18:49:04 -07:00
Jason Volk
507b8e4f1c ircd::db: Minor cleanup. 2018-05-19 18:49:04 -07:00
Jason Volk
915076296f ircd:Ⓜ️ Convert hook to template. 2018-05-19 18:49:04 -07:00
Jason Volk
af74329e4a ircd:Ⓜ️:name: Add missing contains_name property string. 2018-05-19 18:49:03 -07:00
Jason Volk
ced6ef96f6 ircd:Ⓜ️🆔 Fix id::buf construction semantics. 2018-05-19 18:49:03 -07:00
Jason Volk
471c3af367 ircd: Relax assertion. 2018-05-19 18:49:03 -07:00
Jason Volk
77d2c06ded ircd:Ⓜ️🪝 Add the always matching vector. 2018-05-19 18:49:03 -07:00
Jason Volk
1cea146098 ircd:Ⓜ️🪝 Add hook matcher count; use mapping closure. 2018-05-19 18:49:03 -07:00
Jason Volk
24797bfa22 ircd:Ⓜ️🪝 Add call counter. 2018-05-19 18:49:03 -07:00
Jason Volk
58ffceec4c ircd::db: Simplify row columns from tuple transform. 2018-05-19 18:49:03 -07:00
Jason Volk
52976d3faf ircd::json: Fix tuple _key_transform constexpressness. 2018-05-19 18:49:03 -07:00
Jason Volk
9388e65250 ircd::db: Fix constness of colname vector values. 2018-05-19 18:49:02 -07:00
Jason Volk
1d7fce8368 ircd:Ⓜ️ Reorg filter interface and linkage related. 2018-05-19 18:49:02 -07:00
Jason Volk
ea73700103 ircd:Ⓜ️ Add contains_url to filter tuple. 2018-05-19 18:49:02 -07:00
Jason Volk
08c3058fbc ircd:Ⓜ️:vm: Rename some commit opts. 2018-05-19 18:49:02 -07:00
Jason Volk
6379c215bd ircd:Ⓜ️:vm: Proper doc comments for commit opts. 2018-05-19 18:49:02 -07:00
Jason Volk
a1c3788c38 ircd:Ⓜ️ Add single-property getter interface for event. 2018-05-19 18:49:02 -07:00
Jason Volk
d9b5a7d26a ircd:Ⓜ️ Improve various keys interfaces. 2018-05-19 18:49:01 -07:00
Jason Volk
42b8d41e58 ircd:Ⓜ️:v1:🔑 Add overload for key_id in uri. 2018-05-11 02:02:46 -07:00
Jason Volk
169f714b25 ircd:#️⃣ Fix static constexpr linkages. 2018-05-10 21:01:23 -07:00
Jason Volk
3e877ebad3 ircd::net: Elaborate the peer_cert stack: add sha256; add b64 of sha256. 2018-05-10 21:00:32 -07:00
Jason Volk
f160963c02 ircd::db: Split column compact range and files operations for interface. 2018-05-10 17:06:35 -07:00
Jason Volk
6feaa95d4b ircd::resource: Add MIME type requirement option for methods. 2018-05-09 17:47:09 -07:00
Jason Volk
cb2c95ceb6 ircd::http: Add 406 / 415 codes to enumerations. 2018-05-09 17:19:43 -07:00
Jason Volk
dcbbaf2579 ircd::server: Add opts::prio value; special case prio value in link selection. 2018-05-09 17:07:37 -07:00
Jason Volk
c14f268559 ircd:Ⓜ️ ADL the event::fetch::index() suite. 2018-05-09 16:38:11 -07:00
Jason Volk
6b0c011535 ircd::server: Copies of the link pointers must be on stack. 2018-05-08 16:03:56 -07:00
Jason Volk
c47324f741 ircd::net::dns: Add retries. 2018-05-08 16:03:56 -07:00
Jason Volk
477fe01e40 ircd::net::dns: Write question into tag buffer; add send_burst conf item. 2018-05-08 16:03:55 -07:00
Jason Volk
618fc8a95e ircd::net::dns: Tweak reference prototypes. 2018-05-08 14:29:44 -07:00
Jason Volk
070f359707 ircd::util: Add output iterator bounded pointers transform. 2018-05-08 14:28:43 -07:00
Jason Volk
39b49599e5 ircd:Ⓜ️:user: Add mitsein::count() interface. 2018-05-08 00:44:23 -07:00
Jason Volk
ce6c4d357e ircd::json: Add flush watermarking to json::stack. 2018-05-07 23:48:31 -07:00
Jason Volk
51d0f1a6a4 ircd::server: Use fixed tls vector for copying link pointers. 2018-05-07 23:24:51 -07:00
Jason Volk
63d77c2392 ircd::util: Split what(); use default param of std::current_exception(). 2018-05-07 19:20:59 -07:00
Jason Volk
9792cb1435 ircd:Ⓜ️:vm: Add preliminary phase state; minor movements. 2018-05-07 16:34:59 -07:00
Jason Volk
fd80a13b15 modules/key/keys: Refactoring of key queries to use m::v1 requests and interface. 2018-05-07 16:34:59 -07:00
Jason Volk
7e66e79715 ircd:Ⓜ️:v1: Split key request into server/query requests. 2018-05-07 16:34:59 -07:00
Jason Volk
9821d7f333 ircd:Ⓜ️:v1: Add key query request. 2018-05-07 14:58:29 -07:00
Jason Volk
213826d06c ircd::buffer: Add convenience closure overload to window_buffer. 2018-05-07 14:44:31 -07:00
Jason Volk
e205755d5e ircd::ctx: Add ctx::critical_indicator. 2018-05-07 12:38:24 -07:00
Jason Volk
e15ac0d1d3 ircd::ctx: Add state for counting context switches. 2018-05-07 12:36:33 -07:00
Jason Volk
08be1cb010 ircd::util: Elaborate the object semantics for instance_list instances. 2018-05-06 22:28:18 -07:00
Jason Volk
4c71ab8fd0 ircd:Ⓜ️🪝 Simplify collections with instance_lists. 2018-05-06 22:28:17 -07:00
Jason Volk
671622d778 ircd::json: Preliminary rough splitup of tuple headers. 2018-05-06 22:28:17 -07:00
Jason Volk
456f8e7ac1 ircd:Ⓜ️ Move vm eval definitions into module. 2018-05-06 22:28:17 -07:00
Jason Volk
a04a3e840e ircd:Ⓜ️:vm: Add pointers to access the evaluation data at issue. 2018-05-06 18:10:01 -07:00
Jason Volk
989441677f ircd:Ⓜ️:vm: Add additional identifications to eval instance. 2018-05-06 18:02:34 -07:00
Jason Volk
820284f2d0 ircd:Ⓜ️:vm: Give eval the instance_list. 2018-05-06 18:02:33 -07:00
Jason Volk
671053de74 ircd::util: Remove impossible semantics for instance_list. 2018-05-06 18:02:33 -07:00
Jason Volk
68c863e7f9 ircd:Ⓜ️:vm: Reorg commit stack; move room commit thing to m::vm. 2018-05-06 18:02:33 -07:00
Jason Volk
e90603b762 ircd:Ⓜ️🪝 Support arbitrary creation and deletion of hook::site instances. 2018-05-06 14:53:39 -07:00
Jason Volk
48055cb276 ircd::ctx: Add special termination interruption to yanagiba the stack. 2018-05-06 02:06:08 -07:00
Jason Volk
1059688d02 ircd::ctx: Add state for stack usage profiling; clarify some interfaces. 2018-05-05 23:14:11 -07:00
Jason Volk
f55304e0a1 ircd::ctx: Add slice total counter; move check_stack after timing sample. 2018-05-05 22:42:25 -07:00
Jason Volk
ea42490b4e ircd::ctx: Consolidate slice timing to tsc; add public interfacing. 2018-05-05 22:24:25 -07:00
Jason Volk
dd04a50743 ircd:Ⓜ️:dbs: Expose the internal indexer interface. 2018-05-05 18:54:02 -07:00
Jason Volk
2ed18d38c2 ircd: Further modernize vintage strl* suite. 2018-05-05 16:31:57 -07:00
Jason Volk
f08b1053b4 ircd:Ⓜ️:room: Add condition for present state optimization even w/ supplied event_id. 2018-05-05 03:39:33 -07:00
Jason Volk
ad2f823056 ircd:Ⓜ️:room: Add head::has() existential test. 2018-05-05 03:36:47 -07:00
Jason Volk
4cd0570d56 ircd::ctx: Resolve proper future::state() in when() templates. 2018-05-05 02:00:11 -07:00
Jason Volk
ab2490ce73 ircd:Ⓜ️:vm: Add vmopts for room_head related. 2018-05-04 20:57:28 -07:00
Jason Volk
35fee056f9 ircd:Ⓜ️:room: Add preliminary head interface. 2018-05-04 20:57:28 -07:00
Jason Volk
ae8fe6b49e ircd:Ⓜ️:room: Update various comments. 2018-05-04 20:57:28 -07:00
Jason Volk
36b43b8607 ircd:Ⓜ️:dbs: Add indexing sequence for _room_head. 2018-05-04 20:57:28 -07:00
Jason Volk
e12863d091 ircd:Ⓜ️:dbs: Add room_head column. 2018-05-04 20:43:05 -07:00
Jason Volk
bcece15c54 ircd::ctx: Add README blerb on context switching. 2018-05-04 20:43:05 -07:00
Jason Volk
ca45e84908 ircd:Ⓜ️ Add bad(event_id) query interface. 2018-05-04 20:43:05 -07:00
Jason Volk
f34ebec1cf ircd::db: Add convenience read(column) nothrow overloads. 2018-05-04 20:43:05 -07:00
Jason Volk
7ca2e8797d ircd:Ⓜ️:dbs: Add interface to manipulate the blacklist column. 2018-05-04 20:43:04 -07:00
Jason Volk
66a4d52a93 ircd:Ⓜ️:dbs: Add event_bad column for blacklisting. 2018-05-04 16:38:45 -07:00
Jason Volk
f77b3aae7e ircd:Ⓜ️ Reorg event util related; break up pretty(event) around ostream argument. 2018-05-04 14:30:51 -07:00
Jason Volk
9df433e283 ircd:Ⓜ️:dbs: Comment hints on the metadata column layouts. 2018-05-04 13:59:54 -07:00
Jason Volk
3a73abef8d ircd::server: Enforce object semantics on peer / link. 2018-05-02 11:29:13 -07:00
Jason Volk
fb53069c6f ircd::net::dns Include query in callback arguments to prevent any stale captures. 2018-05-01 18:56:22 -07:00
Jason Volk
39ad36e3ed ircd:Ⓜ️ Fix linkages of various constants. 2018-05-01 16:51:35 -07:00
Jason Volk
9af649f739 ircd::db: Consolidate write(column) overloads. 2018-04-30 07:18:06 -07:00
Jason Volk
2b7358aa60 ircd:Ⓜ️:dbs: Conditional indexer; pass db::op from opts for indexer. 2018-04-28 19:05:17 -07:00
Jason Volk
12146cd39a ircd::rfc1035: Provide remaining default construction values. 2018-04-28 18:33:57 -07:00
Jason Volk
3f2320c49e ircd::net::dns: Strip the cached-error SRV target of its prefix; minor fixes. 2018-04-28 17:47:59 -07:00
Jason Volk
30d8c0b961 ircd::net::dns: Allocate separate reply buffer in resolver. 2018-04-28 17:47:59 -07:00
Jason Volk
4e796c896a ircd::net::dns: Allow an exception to calling back with nxdomain as an exception. 2018-04-28 17:47:58 -07:00
Jason Volk
1d408173dc ircd::net: Return pointer to cached error record for put_error(). 2018-04-28 16:25:20 -07:00
Jason Volk
48abece29b ircd::net: Improve dns::resolver instance init/fini. 2018-04-28 15:31:07 -07:00
Jason Volk
0f161f98e8 ircd::ctx::list: Fix misleading reference. 2018-04-28 03:26:07 -07:00
Jason Volk
dc5ac7c2ac ircd::ctx: #ifdef away linkages for ctx assertions in NDEBUG builds. 2018-04-27 19:16:56 -07:00
Jason Volk
3fcb8a1236 ircd::ctx: Simplify promise notify continuation for now. 2018-04-27 19:09:26 -07:00
Jason Volk
09c282fd8e ircd::ctx: Add stack_usage_assertion; move stack_usage_here() into this_ctx::. 2018-04-27 19:09:26 -07:00
Jason Volk
70f962de4e ircd:Ⓜ️ Elaborate presence interface to fetch full event from user's room. 2018-04-27 15:26:17 -07:00
Jason Volk
38d15a7f0c ircd:Ⓜ️:filter: Use signed long limit value in tuples. 2018-04-26 21:45:43 -07:00
Jason Volk
75b67e11fc ircd:Ⓜ️ Add state_root() to room messages iterator. 2018-04-26 21:35:55 -07:00
Jason Volk
8083a5d71c ircd::db: Add WAL fflush; move table flushes to "sort()"; adjust interfaces. 2018-04-26 17:19:29 -07:00
Jason Volk
69f6d1fe54 ircd:Ⓜ️:vm: Remove rogue vm::events interface. 2018-04-26 15:48:02 -07:00
Jason Volk
523bf19f30 ircd:Ⓜ️🪝 Add a set to track all hooks for a site. 2018-04-26 15:17:28 -07:00
Jason Volk
6add3e9952 ircd::server: Limit recursion of chunk head parses. 2018-04-25 20:52:27 -07:00
Jason Volk
e2568457f4 ircd::server: Add dynamic chunk vectoring. 2018-04-25 20:52:26 -07:00
Jason Volk
7e32d3cbaa ircd::server: Checkpoint preliminary chunk vectoring; state, options. 2018-04-25 15:10:04 -07:00
Jason Volk
ba61369027 ircd:Ⓜ️:dbs: Use buffer size constants for query key generations. 2018-04-24 19:32:32 -07:00
Jason Volk
12592cd22c ircd:Ⓜ️🆔 Improve size constants and range enforcements. 2018-04-24 19:22:07 -07:00
Jason Volk
bf445492db ircd::fs: Use const_buffer rather than string_view in various returns. 2018-04-24 18:34:46 -07:00
Jason Volk
6b4e188682 ircd:Ⓜ️ Enable transparent comparator for m::modules map. 2018-04-24 17:13:02 -07:00
Jason Volk
c3e07cb9cb ircd: Fix allocator construction in tokens template. 2018-04-24 17:08:43 -07:00
Jason Volk
47dc4c2afa ircd::util: Split various from util.h 2018-04-24 17:01:11 -07:00
Jason Volk
db21df0c31 ircd: Move mapi.h into mods/. 2018-04-24 01:21:16 -07:00
Jason Volk
90348f4265 ircd:Ⓜ️ Add interface to get origin names of user's rooms. 2018-04-23 19:39:50 -07:00
Jason Volk
243b0b7918 ircd::resource: Fix resource false matching issue; cleanup. 2018-04-23 19:17:03 -07:00
Jason Volk
48c38f4282 ircd::log: Add logf to complement vlog. 2018-04-23 17:44:49 -07:00
Jason Volk
2e3e8bc0d5 ircd::log: Add masking by name; various improvements. 2018-04-23 17:20:00 -07:00
Jason Volk
ca138a4338 ircd::log: Give log::log the instance list w/ construction checks. 2018-04-23 17:20:00 -07:00
Jason Volk
c30531a77e ircd::log: Allow specifying named logger as first param to the extern facilities. 2018-04-23 17:20:00 -07:00
Jason Volk
d2eda8a4bf ircd::log: #ifdef over the full structure. 2018-04-23 17:20:00 -07:00
Jason Volk
27ff5e9be1 ircd::log: Objectify mark / vlog related. 2018-04-23 17:20:00 -07:00
Jason Volk
e598a27d7a ircd::log: Use string_view for named log instance due to dominant use-case. 2018-04-23 17:20:00 -07:00
Jason Volk
3b57971f54 ircd::net: Add port number argument after service in ctor. 2018-04-23 00:07:55 -07:00
Jason Volk
a5c6fb87d8 ircd::resource: Copy authenticated user_id to buffer in request. 2018-04-22 16:26:54 -07:00
Jason Volk
f808a28664 ircd: Add m/m.h to stdinc.h 2018-04-22 16:22:02 -07:00
Jason Volk
87bd9bc429 ircd:Ⓜ️ Add conf init sequence for m::self related. 2018-04-22 15:18:05 -07:00
Jason Volk
a3bcd2dbf3 ircd: Add b64 <-> b58 convenience conversion suite. 2018-04-22 14:24:37 -07:00
Jason Volk
3badab59a5 ircd: Add some b64 size expression utils. 2018-04-22 14:22:34 -07:00
Jason Volk
6b32da764d ircd::client: Remove the asynchronous longpoll state. 2018-04-20 19:54:18 -07:00
Jason Volk
6de7fb7b8c ircd::db: Adjust destruction sequence for rocksdb DB::Close() call. 2018-04-20 17:03:20 -07:00
Jason Volk
e3b2bcf19d ircd::db: Maintain SST file manager instance. 2018-04-20 15:45:57 -07:00
Jason Volk
532f987bd6 ircd::db: Move column compact()/flush() to more consistent place. 2018-04-20 15:22:50 -07:00
Jason Volk
666e509c97 ircd::db: Expose setoptions interface. 2018-04-20 15:22:50 -07:00
Jason Volk
f805344604 ircd::db: Options package for file growth, count and compaction related. 2018-04-20 15:22:50 -07:00
Jason Volk
88f5937559 ircd::log: Update the log::mark() argument to use string_view. 2018-04-20 15:22:50 -07:00
Jason Volk
1cd3e41e44 ircd::info: Distill out the logdump from init. 2018-04-20 15:22:50 -07:00
Jason Volk
09ff713743 ircd::info: Query the RLIMIT_NOFILE; minor fixes. 2018-04-20 15:22:50 -07:00
Jason Volk
fcf17db132 ircd: Various fixes / cleanup. 2018-04-20 15:22:49 -07:00
Jason Volk
7d64e6323b ircd::client: Use conf::item's for client related. 2018-04-20 00:44:45 -07:00
Jason Volk
1dcfff91a5 ircd::ctx: Expose stack_max() to public interface. 2018-04-19 21:42:54 -07:00
Jason Volk
35a1c62b1f ircd::ctx: Add ctx::running()/waiting() for interface completeness. 2018-04-19 21:42:54 -07:00
Jason Volk
3b32d2170e ircd::ctx: Give ctx::ctx the instance_list. 2018-04-19 21:42:54 -07:00
Jason Volk
281a9e1cfd ircd::ctx: Place ctx::list node pointers into structure in ctx. 2018-04-19 21:42:54 -07:00
Jason Volk
793c24ce9e ircd::ctx: Simplify list iteration API. 2018-04-19 14:47:56 -07:00
Jason Volk
1d451ca3ff ircd:Ⓜ️ Add additional filter convenience constructors. 2018-04-19 14:23:47 -07:00
Jason Volk
1397091b7c ircd:Ⓜ️:events: Add a filtered iteration. 2018-04-19 14:23:47 -07:00
Jason Volk
e57b85cb36 ircd:Ⓜ️ Add developer convenience constructor to event_filter. 2018-04-19 13:47:51 -07:00
Jason Volk
fbc78c9c60 ircd:Ⓜ️ Add head_idx(room) convenience to get one head event idx. 2018-04-18 15:09:13 -07:00
Jason Volk
02bc9032e8 ircd:Ⓜ️ Add event::idx to top() tuple. 2018-04-18 15:04:46 -07:00
Jason Volk
7659ef3acc ircd:Ⓜ️ Reorder top() tuple; use strong type template std::get'ers. 2018-04-18 15:03:42 -07:00
Jason Volk
d64adf8916 ircd:Ⓜ️ Rename event id generator function. 2018-04-18 14:26:25 -07:00
Jason Volk
7f3919dd17 ircd:Ⓜ️ Split events iterations into namespace. 2018-04-18 01:25:54 -07:00
Jason Volk
5a3f105afc ircd:Ⓜ️ Optimize away the event_seq column. 2018-04-18 00:28:05 -07:00
Jason Volk
e764747e17 ircd::db: Use actual gt operator for reverse integer less. 2018-04-18 00:25:02 -07:00
Jason Volk
eefc7430bc ircd:Ⓜ️ Convert db column keys to binary integers over a continuous sequence space. 2018-04-17 21:13:16 -07:00
Jason Volk
b95a588bc4 ircd::db: Comment/improve descriptor/column options. 2018-04-17 15:28:08 -07:00
Jason Volk
330fe74035 ircd::db: Add file_count and bytes aggregator for all columns in db. 2018-04-17 14:13:36 -07:00
Jason Volk
12957038f7 ircd::db: Create template for integer comparators. 2018-04-17 13:42:30 -07:00
Jason Volk
ad0f248b0f ircd: Update assumptions / assertions for byte_view. 2018-04-17 13:41:26 -07:00
Jason Volk
bcd704826c ircd:Ⓜ️:vm: Move db::txn to the stack; use automatic reserve option. 2018-04-16 17:28:26 -07:00
Jason Volk
d5cd5dea09 ircd:Ⓜ️:vm: Sequence iteration interface. 2018-04-16 15:58:02 -07:00
Jason Volk
b320d8ece1 ircd:Ⓜ️:vm: Integrate sequence counting. 2018-04-16 15:20:08 -07:00
Jason Volk
d5087f4e8f ircd:Ⓜ️:dbs: Add event sequence column. 2018-04-16 15:20:08 -07:00
Jason Volk
dcacc5af0a ircd:Ⓜ️:vm: Add db::txn allocation reservation options. 2018-04-16 15:20:08 -07:00
Jason Volk
e009d6763e ircd::db: Fix issues with txn interface. 2018-04-16 15:20:08 -07:00
Jason Volk
19d7e05605 ircd::resource: Allow each resource method to specify its timing. 2018-04-15 18:02:41 -07:00
Jason Volk
49d83de384 ircd::net: Propagate ctx interruption to socket. 2018-04-15 17:46:20 -07:00
Jason Volk
f4b2273a4b ircd::net: Add a semaphore to the socket timer to invalidate queued callbacks. 2018-04-15 17:46:20 -07:00
Jason Volk
5be18475df ircd::net: Move scope_timeout from socket:: to net:: w/ exposure. 2018-04-15 16:43:09 -07:00
Jason Volk
6d88ee339d ircd:Ⓜ️:dbs: Rename room_origins to room_joined. 2018-04-15 16:43:09 -07:00
Jason Volk
7b54dba291 ircd::db: Expose an interface for some counters; add ticker command. 2018-04-15 16:43:09 -07:00
Jason Volk
0c78bf7a9b ircd::db: Add compaction interface. 2018-04-15 02:42:57 -07:00
Jason Volk
0a3259afae ircd::db: Custom table opts; table cache; introduce the bloom filter. 2018-04-14 23:10:09 -07:00
Jason Volk
f37176d698 ircd::net::dns: Enforce min ttl for cache entries; add conf option. 2018-04-14 18:35:48 -07:00
Jason Volk
b9cf0c9796 ircd::rfc1035: Comparison operator suite for record types. 2018-04-14 17:34:07 -07:00
Jason Volk
1ad4d58e43 ircd::net::dns: Move cache interfaces into cache class. 2018-04-14 17:34:07 -07:00
Jason Volk
756840b42c ircd::client: Add unique client id monotonic counter. 2018-04-14 17:15:06 -07:00
Jason Volk
cf22eacfd3 ircd::net::dns: Add static fire-and-forget callbacks for prefetching. 2018-04-14 17:15:06 -07:00
Jason Volk
e3b97871f9 ircd: Add function to return daemon's uptime. 2018-04-14 17:15:06 -07:00
Jason Volk
deb1a0a979 ircd::resource: Add chunked encoding response suite. 2018-04-13 23:19:43 -07:00
Jason Volk
3f72b7ce19 ircd::db: Update gopts; add seqnum option; fix missing readahead. 2018-04-13 22:46:31 -07:00
Jason Volk
7c92eb2757 ircd::server: Use system time for error time state. 2018-04-13 20:02:48 -07:00
Jason Volk
7360999b30 ircd: Support the chrono types in the timef() date suite. 2018-04-13 20:02:47 -07:00
Jason Volk
6ca4f6eec5 ircd::net: Expose interface for socket stat counter. 2018-04-13 17:24:07 -07:00
Jason Volk
69aeddad61 ircd::client: Reference the client's request handling context via class member. 2018-04-13 17:03:17 -07:00
Jason Volk
dd69acbad3 ircd::json::stack: Handle and properly propagate flusher exception out of stack. 2018-04-13 16:03:34 -07:00
Jason Volk
45f8239f9b ircd:Ⓜ️:vm: Properly propagate a context interruption to the evaluator. 2018-04-12 23:07:46 -07:00
Jason Volk
cee7a17330 ircd:Ⓜ️:dbs: Purge old cruft; add various \briefs. 2018-04-12 23:07:45 -07:00
Jason Volk
0a1a35fdf4 ircd:Ⓜ️:room::members: Improve interface; add user::id specific iteration closure. 2018-04-12 14:10:03 -07:00
Jason Volk
f9ade26b24 ircd:Ⓜ️:dbs: Workaround issues with incorrect std::tuple references. 2018-04-12 14:08:48 -07:00
Jason Volk
8bf0b4d093 ircd::net: Assert proper socket object semantics. 2018-04-12 12:52:14 -07:00
Jason Volk
28488eb54b ircd:Ⓜ️ Add messages iteration convenience interface to m::room. 2018-04-12 02:14:10 -07:00
Jason Volk
54e3719097 ircd::json: Consolidate authority for value defined() semantics. 2018-04-11 23:40:31 -07:00
Jason Volk
97ec3a62ab ircd::json: Fix bugs related to bool type. 2018-04-11 23:40:30 -07:00
Jason Volk
b3b11fab7d ircd::util: Fix conditions for is_zero template test. 2018-04-11 23:40:30 -07:00
Jason Volk
b16aa7f55c ircd:Ⓜ️:state: Add get_node(nothrow) overload. 2018-04-11 23:40:30 -07:00
Jason Volk
f9ad2523a2 ircd:Ⓜ️:state: Add interface comment after \brief. 2018-04-11 23:40:30 -07:00
Jason Volk
82ef048d3f ircd:Ⓜ️ More complete presence interface getter interface stack. 2018-04-11 23:09:49 -07:00
Jason Volk
75fdf2f518 ircd:Ⓜ️:user: Add naive user commonality interface. 2018-04-11 23:09:49 -07:00
Jason Volk
33ca15e45d ircd:Ⓜ️:user::rooms: Add a count() interface. 2018-04-11 15:47:51 -07:00
Jason Volk
55e4a8fcaf ircd:Ⓜ️ Split user's rooms iteration into separate interface. 2018-04-11 15:38:01 -07:00
Jason Volk
66e81327d0 ircd:Ⓜ️ Order rooms.h below user.h; add alias interface for user's rooms. 2018-04-11 15:10:45 -07:00
Jason Volk
e305938b08 ircd:Ⓜ️ Typedef a user::closure. 2018-04-11 15:04:04 -07:00
Jason Volk
e9df8b699c ircd:Ⓜ️ Add user room membership convenience interface; apply. 2018-04-11 14:18:38 -07:00
Jason Volk
c3062e80f1 ircd::ctx: Fix bitrot in when_all() template. 2018-04-10 20:09:17 -07:00
Jason Volk
baf8b192b1 ircd::json: Add the stack flusher semantic. 2018-04-10 19:32:56 -07:00
Jason Volk
b1f613b5ac ircd::buffer: Add a data shifter for window_buffer. 2018-04-10 19:32:56 -07:00
Jason Volk
9270937957 ircd::json: Simplify internal stack appending; pass expected append size. 2018-04-10 17:00:57 -07:00
Jason Volk
102ef2cb47 ircd::json: Object semantics for json::stack classes. 2018-04-10 13:48:14 -07:00
Jason Volk
d457a26022 ircd::buffer: Default construction for window_buffer. 2018-04-10 13:33:07 -07:00
Jason Volk
fe90dd4d63 ircd:Ⓜ️ Add convenience interface for rooms / iterations. 2018-04-09 20:12:03 -07:00
Jason Volk
6dda8d70eb ircd::json: Streamline some strung conversions. 2018-04-09 19:27:39 -07:00
Jason Volk
952571a3ad ircd:Ⓜ️ Add key iteration to room::state interface. 2018-04-09 19:24:56 -07:00
Jason Volk
c354b6c1e4 ircd:Ⓜ️ Typedef room closure. 2018-04-09 19:24:12 -07:00
Jason Volk
963853ee10 ircd:Ⓜ️ Add init argument to pass dbopts. 2018-04-09 15:57:08 -07:00
Jason Volk
1268d90fb0 ircd::db: RocksDB to 5.12.2. 2018-04-09 15:57:05 -07:00
Jason Volk
7fb3047f68 ircd:Ⓜ️ 11.18.2.1 account_data w/ central linkage. 2018-04-08 22:11:29 -07:00
Jason Volk
8625823d23 ircd:Ⓜ️:v1: Add public_rooms requestor. 2018-04-08 22:11:28 -07:00
Jason Volk
9df6d127af ircd:Ⓜ️:v1: event_auth convenience conversion; fed event_auth output. 2018-04-08 12:45:05 -07:00
Jason Volk
7f7278187f ircd::allocate: Use std::aligned_storage for fixed allocator space. 2018-04-08 12:35:27 -07:00
Jason Volk
5621da53bc ircd:Ⓜ️:v1: Add event_auth requestor. 2018-04-08 12:35:27 -07:00
Jason Volk
65c8ab3ba7 ircd::allocator: Fix argument error. 2018-04-08 12:29:55 -07:00
Jason Volk
a9cdab1e49 ircd::allocator: Assertions on state bits. 2018-04-08 12:29:55 -07:00
Jason Volk
42242edd29 ircd::allocator: Set last state to dealloc pos for no-rotate reuse; minor cleanup. 2018-04-08 12:29:55 -07:00
Jason Volk
eb1d1c2482 ircd::openssl: Eliminate allocation of hashing ctx for oneshot ctor. 2018-04-08 12:29:55 -07:00
Jason Volk
c04ea62135 ircd:#️⃣ Deinline the abstract finalize() defaulter. 2018-04-08 12:29:29 -07:00
Jason Volk
5f441c417f ircd::openssl: Support ripemd160. 2018-04-08 12:29:25 -07:00
Jason Volk
8d91c90574 ircd::ctx: yield the promise-notifying ctx until any then() has posted. 2018-04-07 05:00:55 -07:00
Jason Volk
b0c687ea0e ircd::ctx: Assertions for calling then(). 2018-04-07 05:00:54 -07:00
Jason Volk
05fcdd458a ircd::util: Assert the stream didn't overflow our buffer. 2018-04-06 22:35:14 -07:00
Jason Volk
048ecf07bb ircd: Simplify some stringops. 2018-04-06 22:23:18 -07:00
Jason Volk
ccf9e993dd ircd:Ⓜ️:txn: Elaborate the txn generation stack. 2018-04-06 22:23:18 -07:00
Jason Volk
cfbe032af5 ircd:Ⓜ️ Add room_id() overload checking sigil to skip resolution. 2018-04-06 21:08:59 -07:00
Jason Volk
9863e2a1a3 ircd:Ⓜ️ Add event comparison operator suite. 2018-04-06 03:13:27 -07:00
Jason Volk
13c4a5b79b ircd:Ⓜ️:v1: Add convenience option for dynamic memory to all requests. 2018-04-06 00:21:32 -07:00
Jason Volk
d3e6b20f14 ircd:Ⓜ️:vm: Distill vm::opts::commit extension from vm::opts. 2018-04-05 23:14:30 -07:00
Jason Volk
0d42bf62f5 ircd:Ⓜ️:v1: Reduce all head fetches to specific call. 2018-04-05 22:16:32 -07:00
Jason Volk
c849a30aa1 ircd:Ⓜ️ Improve interface to current event convenience suite. 2018-04-05 22:16:32 -07:00
Jason Volk
8d0681e7b1 ircd::ctx: Eliminate the std future_status and simplify our real-use interfaces. 2018-04-05 22:16:32 -07:00
Jason Volk
b3ba8c6d4b ircd:Ⓜ️ Add convenience to room::state interface to return id buffer. 2018-04-04 22:54:58 -07:00
Jason Volk
93316f4692 ircd::json: Deinline various value related. 2018-04-04 22:54:58 -07:00
Jason Volk
43e77537c6 ircd::json: Improve value ctor suite; maintain type of object/array; copy std::string. 2018-04-04 14:28:27 -07:00
Jason Volk
c35d74b7fd ircd::json: Remove redundant member passthru. 2018-04-04 14:10:53 -07:00
Jason Volk
7438c558e3 ircd::json: Tweak callstack path for this transform. 2018-04-04 14:00:57 -07:00
Jason Volk
b675567314 ircd:Ⓜ️🆔 Report 0 if no port affixed to ID, 8448 not implied bc/ SRV. 2018-04-04 13:03:13 -07:00
Jason Volk
1755ca55da ircd:Ⓜ️:v1: Add invite requestor. 2018-04-03 17:18:19 -07:00
Jason Volk
b90d4230ca modules/client/rooms/invite: Add invite commit / handler w/ central linkage. 2018-04-03 12:56:46 -07:00
Jason Volk
59531912e4 ircd:Ⓜ️ Add origins::has() to query if origin is in room. 2018-04-03 12:49:34 -07:00
Jason Volk
8b5d27d1fc ircd:Ⓜ️:dbs: Add overload to generate partial origins prefix key. 2018-04-03 12:49:03 -07:00
Jason Volk
2bce600a60 ircd::db: Wrap interface to get db's file list. 2018-04-03 11:44:57 -07:00
Jason Volk
1dc2daa5e9 ircd::db: Wrap interface to toggle file deletions. 2018-04-03 11:30:37 -07:00
Jason Volk
cfb80085a8 ircd::db: Support map-based property retrieval. 2018-04-03 11:14:47 -07:00
Jason Volk
0bf6742ac9 ircd::db: Typedef / minor reorg property related interface. 2018-04-03 11:01:28 -07:00
Jason Volk
d5748ef1bd ircd::server: Minor main header cleanup; clarify comment. 2018-04-03 02:14:48 -07:00
Jason Volk
b9bb4b4a45 ircd::resource: Carry origin in the request object. 2018-04-02 23:20:50 -07:00
Jason Volk
7b38d216b4 ircd:Ⓜ️:v1: Fix user devices query and associated console cmd. 2018-04-02 18:40:52 -07:00
Jason Volk
e0130466e9 ircd:Ⓜ️:v1: Rename user::id to id::user to avoid local conflict. 2018-04-02 18:40:52 -07:00
Jason Volk
baccd4b767 ircd:Ⓜ️:v1: Support request to /state_ids/ as option in m::v1::state. 2018-04-02 18:40:52 -07:00
Jason Volk
31c3dea483 ircd::info: Gather information from rlimit if available. 2018-04-02 17:03:05 -07:00
Jason Volk
c54e7f5afe configure.ac: Gather more information from git during configure. 2018-04-02 16:50:51 -07:00
Jason Volk
4a1ca1a525 ircd::json: Deinline output validators from template. 2018-03-28 22:17:09 -07:00
Jason Volk
7ad99ab387 ircd::json: Add why() to specifically return err str from valid(). 2018-03-28 22:17:09 -07:00
Jason Volk
46ef2231ab ircd:Ⓜ️ Add a vm::opts* to m:room as a vehicle for opts to eval. 2018-03-28 22:17:09 -07:00
Jason Volk
4760d36847 ircd::ctx: Move unlock_guard from util:: to ctx::. 2018-03-28 22:17:09 -07:00
Jason Volk
1a02642aef ircd::json: Eliminate redundant sort for tuple. 2018-03-28 18:12:49 -07:00
Jason Volk
aca515a961 ircd:Ⓜ️ Add missing property 'data' name string. 2018-03-28 14:17:49 -07:00
Jason Volk
85bafcb7de ircd:Ⓜ️ Improve init ordering and process. 2018-03-28 14:11:33 -07:00
Jason Volk
43b92dc95d ircd:Ⓜ️ Minor cleanup. 2018-03-28 14:11:33 -07:00
Jason Volk
14b540c6a8 ircd:Ⓜ️ Add v1::groups namespace; add publicised requestor. 2018-03-28 01:29:58 -07:00
Jason Volk
7657fde5db ircd::db: Add function to get single txn into closure by seqnum. 2018-03-27 21:44:01 -07:00
Jason Volk
301b1d684b ircd::db: Adjust txn seq_closure to take seqnum reference. 2018-03-27 21:44:01 -07:00
Jason Volk
ff1fe4284d ircd:Ⓜ️ Add central linkage for join by alias; move bootstrap to rooms/join. 2018-03-27 21:44:01 -07:00
Jason Volk
543a1988b9 ircd::ctx: Candidate fixes for view sequencing. 2018-03-27 21:44:01 -07:00
Jason Volk
8f9caa33c3 ircd::ctx: Conclude the best name for function after deliberation. 2018-03-27 00:52:02 -07:00
Jason Volk
5b91cbdca1 ircd::ctx: Add share counter observer to shared_mutex. 2018-03-26 23:29:58 -07:00
Jason Volk
47edaed3a6 ircd::server: Add stats for total bytes up and down to peer and links. 2018-03-26 23:29:58 -07:00
Jason Volk
270120c922 ircd::server: Rename _total() to _size() for bytes accounting. 2018-03-26 23:29:58 -07:00
Jason Volk
807f3c4545 ircd::ctx: view::wait_until() needs to throw on timeout. 2018-03-26 23:29:58 -07:00
Jason Volk
26b33a1845 ircd::ctx: Remove the cv_status enum. 2018-03-26 23:29:58 -07:00
Jason Volk
c6b9c06302 ircd::ctx: Avoid any possible ambiguities with location of *current. 2018-03-26 23:29:57 -07:00
Jason Volk
85dab56f50 ircd::mods: Fix reference cast initialization. 2018-03-26 02:28:02 -07:00
Jason Volk
15c65924ee ircd::util: Abstract stringstream utils into template; add view hack. 2018-03-25 23:17:42 -07:00
Jason Volk
6574da4b22 ircd: Add tokens_before() to suite. 2018-03-25 17:32:57 -07:00
Jason Volk
34abaea046 ircd::mods: Move the call to the init function after the mod ctor. 2018-03-25 16:10:52 -07:00
Jason Volk
291b6dc286 ircd::mods: Add shared_from mod& sym_ptr ctor; adjust conversions. 2018-03-25 16:10:52 -07:00
Jason Volk
bdd5006f32 ircd: Add missing replace() stringops overload. 2018-03-25 14:57:09 -07:00
Jason Volk
f36af09789 ircd::mods: Interface modernization; various cleanup; reorg. 2018-03-25 14:32:24 -07:00
Jason Volk
a2eb756548 ircd::ctx: Split this_ctx:: from ctx.h; minor reorg. 2018-03-25 02:04:42 -07:00
Jason Volk
2a8f31c89c ircd:Ⓜ️:dbs: Add db::op to write_opts; support SET and DELETE write() via opts. 2018-03-24 23:29:46 -07:00
Jason Volk
d3c5845ee4 ircd::db: Support different db::op types in txn::append(tuple). 2018-03-24 23:29:46 -07:00
Jason Volk
f60aad8753 ircd: Add default construction for byte_view<string_view>. 2018-03-24 22:49:45 -07:00
Jason Volk
441a692dfc ircd::ctx: Device to allow context switching in exception handler. 2018-03-24 18:00:04 -07:00
Jason Volk
ecce9d0433 ircd::http: Allow default constructed sentinel error. 2018-03-24 16:42:42 -07:00
Jason Volk
e81908d1f8 ircd::log: Fix DCE not eliminating template parameter packs. 2018-03-24 14:55:53 -07:00
Jason Volk
4ac88356d9 ircd::ctx: Ignore strict aliasing for hacks we never dereference. 2018-03-23 23:11:03 -07:00
Jason Volk
d745e65ee1 ircd::mods: Split up; clean up; reorg. 2018-03-23 22:52:36 -07:00
Jason Volk
fe6f09d218 ircd::mods: Preliminary ADL wrappage of mods::mod. 2018-03-23 22:52:36 -07:00
Jason Volk
0dcf117910 ircd::mods: Provide a reference to the module's own handle inside the module. 2018-03-23 22:52:36 -07:00
Jason Volk
a08670cf48 ircd::fs: Support the yielding stdin readline in libircd. 2018-03-23 22:52:36 -07:00
Jason Volk
db8810e397 ircd::ctx: Integrate custom interruption action. 2018-03-23 22:17:10 -07:00
Jason Volk
980d24b38e ircd::net: Simplify listener config object. 2018-03-23 22:17:10 -07:00
Jason Volk
91c9737f29 ircd: Improve runlevel changed callback related. 2018-03-23 22:17:09 -07:00
Jason Volk
8ad264f72d ircd: Consolidate demangle related into interface / unit. 2018-03-23 22:17:09 -07:00
Jason Volk
e60370de75 ircd::json: Remove redundant. 2018-03-23 00:42:24 -07:00
Jason Volk
4cae80f9b6 ircd:Ⓜ️ Make event interface consistent with proper ADL participation. 2018-03-23 00:21:27 -07:00
Jason Volk
50b21edb1c ircd:Ⓜ️ Event hash checking stack. 2018-03-23 00:19:55 -07:00
Jason Volk
12e5a3ccea ircd::ctx: Update stale comment. 2018-03-22 22:27:12 -07:00
Jason Volk
83bdb7161c ircd::db: Add interface to iterate the database's txn log. 2018-03-22 20:52:14 -07:00
Jason Volk
2671f4eb90 ircd::db: Add txn ctor claiming a rocksdb::WriteBatch. 2018-03-22 20:52:14 -07:00
Jason Volk
d40b18633f ircd::db: Move txn::handler struct to db/database headers. 2018-03-22 20:47:46 -07:00
Jason Volk
fcbc2bf650 ircd::db: Add database checkpointing feature. 2018-03-22 20:08:50 -07:00
Jason Volk
421f2f5220 ircd::db: Util to flush all columns in db. 2018-03-22 19:55:15 -07:00
Jason Volk
cbfb105765 ircd::db: Minor cleanup; interface const consistency on our side. 2018-03-22 19:39:14 -07:00
Jason Volk
2116cf6254 ircd:Ⓜ️ Add user::profile suite w/ linkage to modules/client/profile. 2018-03-22 16:27:15 -07:00
Jason Volk
a68d97d22d ircd::util: Static assertion of va_rtti argument count. 2018-03-22 13:31:58 -07:00
Jason Volk
9c26c5facd ircd:Ⓜ️:vm: Option to verify origin signature on eval. 2018-03-22 01:31:17 -07:00
Jason Volk
ef0a3d6e6c ircd::http: Write fixed sized integer for chunk size. 2018-03-21 23:20:33 -07:00
Jason Volk
679f3e760a ircd::http: Add 411 Length Required. 2018-03-21 23:01:23 -07:00
Jason Volk
df605d5646 ircd::json: Add functions to determine if object members are sorted. 2018-03-21 12:33:43 -07:00
Jason Volk
5dc9bc3240 ircd::net: Update stale comment. 2018-03-21 01:33:30 -07:00
Jason Volk
615ccdc426 ircd::json: Hello, goodbye. 2018-03-20 23:51:14 -07:00
Jason Volk
fef1c0b1b8 ircd::json: Add stringify vector of object::member. 2018-03-20 23:40:31 -07:00
Jason Volk
9f256b9cb4 ircd:Ⓜ️ Distill essential key selection into separate functions. 2018-03-20 22:03:53 -07:00
Jason Volk
7f06300cb8 ircd:Ⓜ️ Extend the verify() stack with overloads that yield for IO. 2018-03-20 19:26:59 -07:00
Jason Volk
f121509dba ircd:Ⓜ️ Event verification. 2018-03-20 19:16:04 -07:00
Jason Volk
0b3ec2b476 ircd:Ⓜ️ Convenience to close over decoded ed25519::pk directly. 2018-03-20 18:46:20 -07:00
Jason Volk
e74fb81860 ircd:Ⓜ️ Overloads to sign event with supplied sk / json::object. 2018-03-20 18:19:45 -07:00
Jason Volk
7a9bb89506 ircd::json: All output through the generator. 2018-03-20 17:39:57 -07:00
Jason Volk
d21c2fc37c ircd::server: Separate out the link's socket read function. 2018-03-20 16:31:02 -07:00
Jason Volk
09d971fa9e ircd::json: Make print_error an assertion; improve output validation messages. 2018-03-20 16:31:02 -07:00
Jason Volk
2a539cb22c ircd::json: Ensure space for null string terminator in print(). 2018-03-20 14:12:44 -07:00
Jason Volk
6e7751eaf3 ircd::server: Receive chunked transfer-encoding. 2018-03-20 14:12:44 -07:00
Jason Volk
7a86a134fc ircd::buffer: Add move() analogue. 2018-03-20 02:59:03 -07:00
Jason Volk
c8b80046d1 ircd::server: Aggregate all accounting values riding on tag into one struct. 2018-03-19 20:37:28 -07:00
Jason Volk
2e801a0219 ircd::server: Remove content_over from the state and calculate functionally. 2018-03-19 20:26:23 -07:00
Jason Volk
90bbbeaf02 ircd::server: Save content_length in tag state; fix stepping on content_over calculation. 2018-03-19 20:26:23 -07:00
Jason Volk
bf91eb6883 ircd::http: Grammar exception translator can be made aware of request vs. response. 2018-03-19 14:40:04 -07:00
Jason Volk
daae800cc1 ircd::http: Utils to read and write chunk size line. 2018-03-18 21:51:55 -07:00
Jason Volk
9723eec4e8 ircd::http: Cleanup cruft; remove old chunking. 2018-03-18 21:18:00 -07:00
Jason Volk
2872a94b38 ircd::spirit: Missing typedefs. 2018-03-18 21:18:00 -07:00
Jason Volk
1780504cba ircd:Ⓜ️ Cope with raii fails in m::init for right now. 2018-03-17 21:40:27 -07:00
Jason Volk
2b72fae7a1 ircd:Ⓜ️ Move the event max_size conf item; add a MAX_SIZE constexpr. 2018-03-17 21:40:27 -07:00
Jason Volk
931fe2439e ircd::json: Introduce the json::stack device. 2018-03-17 21:40:27 -07:00
Jason Volk
b528920420 ircd::buffer: Add window_buffer::rewind(n). 2018-03-17 13:14:24 -07:00
Jason Volk
373a791158 ircd::json: Limit IOV size and take stringify buffer off-stack. 2018-03-17 11:53:21 -07:00
Jason Volk
96818c9a46 ircd::buffer: window_buffer closure returns completed(). 2018-03-17 11:49:35 -07:00
Jason Volk
30eb9178bd ircd: Consolidate spirit typedefs from all relevant units into spirit.h. 2018-03-17 10:44:40 -07:00
Jason Volk
af8835aa5c construct/ircd: Add option to soft-indicate no modules should be loaded on startup. 2018-03-16 21:42:22 -07:00
Jason Volk
7daef82218 construct/ircd: Add option to soft-indicate no listening sockets should be bound. 2018-03-16 21:42:22 -07:00
Jason Volk
a632db39d0 ircd:Ⓜ️🆔 Elide re-parsing on buffer copying and allow empty buffers. 2018-03-16 21:42:22 -07:00
Jason Volk
969bc127e8 ircd:Ⓜ️:vm: Fix return values for commit() suite. 2018-03-16 21:42:21 -07:00
Jason Volk
7180eae4af ircd:Ⓜ️:vm: Option for infolog post-commit. 2018-03-16 13:19:52 -07:00
Jason Volk
c83a47eb0f ircd:Ⓜ️ Handle and report hookfn exception. 2018-03-16 13:13:33 -07:00
Jason Volk
e77c382521 ircd::http: Add lex_cast'ing suite to http::query::string. 2018-03-16 11:11:02 -07:00
Jason Volk
3810b8d57f ircd: Various exception assertions; minor cleanup. 2018-03-15 22:25:16 -07:00
Jason Volk
bd60c2cd80 ircd::log: Add two new log facilities; comments on facilities. 2018-03-15 22:25:16 -07:00
Jason Volk
fbcc64fbbd ircd::ctx: Atomize the dock notification and the then callback during promise notify(). 2018-03-15 13:16:28 -07:00
Jason Volk
fbb9cf0196 ircd::ctx: Cleanup/improve the shared_state states. 2018-03-15 11:59:25 -07:00
Jason Volk
150831cd83 ircd:Ⓜ️ Add option to elide content keys for pretty_oneline(event). 2018-03-14 23:58:34 -07:00
Jason Volk
be6a5b7767 modules/m_receipt: Add committer w/ central linkage; read_markers. 2018-03-14 22:53:34 -07:00
Jason Volk
f11c98db34 modules: Add m.receipt; edu handler stack frames. 2018-03-14 21:30:10 -07:00
Jason Volk
6dc834b9c9 ircd::util: Add unwind utils that assert whether exception is taking place. 2018-03-14 20:23:54 -07:00
Jason Volk
bda7836ebe ircd:Ⓜ️ Move typing commitment to modules/m_typing; central interface/linkage. 2018-03-14 17:47:59 -07:00
Jason Volk
7ae6ad47ea ircd:Ⓜ️:vm: Options to generate event_id, origin, origin_server_ts. 2018-03-14 16:26:16 -07:00
Jason Volk
2e9ef15cf5 ircd:Ⓜ️ Use vector_view here. 2018-03-14 16:26:16 -07:00
Jason Volk
da5bca588d ircd::ctx: Have future inherit from the shared_state rather than class member. 2018-03-14 13:16:06 -07:00
Jason Volk
465e0f526c ircd::ctx: Move when_any()/when_all() into file. 2018-03-14 11:25:53 -07:00
Jason Volk
b16e53337c ircd::server: Use canonized hostport as peer remote; store net::open_opts; minor cleanup. 2018-03-13 22:44:13 -07:00
Jason Volk
df3243e31d ircd::net: Eliminate the existing net::remote. 2018-03-13 22:44:13 -07:00
Jason Volk
cadabb5521 ircd::net: Add suite to print a hostname and port or just hostname based on portnum canon. 2018-03-13 22:44:13 -07:00
Jason Volk
368b8c4516 ircd:Ⓜ️🆔 Implement MXID interface suite with grammars. 2018-03-13 22:44:13 -07:00
Jason Volk
80f4b7151f ircd::buffer: Preliminary shared_buffer. 2018-03-13 22:44:13 -07:00
Jason Volk
3eadd31c7f ircd::buffer: Split into directory. 2018-03-12 22:48:56 -07:00
Jason Volk
4aaeaff8fb ircd:Ⓜ️:vm: Add options for pre-checked event conformity or skip entirely. 2018-03-12 19:38:27 -07:00
Jason Volk
9749d7c609 ircd:Ⓜ️:vm: Add wrapping to accepted event notify; further merge EDU and PDU core path. 2018-03-12 19:27:53 -07:00
Jason Volk
79f6974f86 ircd::net: Wait for destruction of all sockets on shutdown. 2018-03-12 18:50:36 -07:00
Jason Volk
09923ff758 ircd::server: Add external interface to clear a peer error; w/ console command. 2018-03-12 14:20:39 -07:00
Jason Volk
a22e45a9f5 ircd: Break down client shutdown; improve various shutdown refusals. 2018-03-12 14:20:39 -07:00
Jason Volk
cabeb4c128 ircd::net::dns: Add send rate-limiting for resolver queries. 2018-03-12 12:20:22 -07:00
Jason Volk
15b3292033 ircd: Add ADL participants for vector_view. 2018-03-12 11:24:31 -07:00
Jason Volk
a00a71e34c ircd::openssl: Add stringify x509 to JSON. 2018-03-12 11:16:49 -07:00
Jason Volk
ed0a62701d ircd::openssl: Utils dealing with ASN1/X509 time related. 2018-03-12 11:16:26 -07:00
Jason Volk
c2fbe50bce ircd:Ⓜ️ Add additional event conformity checks. 2018-03-12 09:55:45 -07:00
Jason Volk
12fb9747a7 ircd::util: Add template to remove_all_pointers<T>. 2018-03-11 17:03:06 -07:00
Jason Volk
3242c1929b ircd::ctx: Cleanup future when suite related. 2018-03-11 14:51:14 -07:00
Jason Volk
d906025c28 ircd::ctx: Replace missed old copyright. 2018-03-11 13:54:51 -07:00
Jason Volk
ee48df71a8 ircd::ctx: Add future<void> already-ready constructor. 2018-03-11 13:40:24 -07:00
Jason Volk
bbd2cbc15b ircd::net: Checkpoint case for read eof in the readiness handler; should split. 2018-03-11 13:40:24 -07:00
Jason Volk
f11be8a0d8 ircd: Replace the client write_closure thing. 2018-03-11 13:40:24 -07:00
Jason Volk
bbc1844c61 ircd::http: Status code signage consistency. 2018-03-11 10:23:06 -07:00
Jason Volk
ba6832b420 ircd: Split out allow methods list generator. 2018-03-11 10:22:10 -07:00
Jason Volk
a2be4d3ee5 ircd::ctx: Add when_any() / when_all(). 2018-03-10 23:04:59 -08:00
Jason Volk
07c1356dae ircd::ctx: Improve promise / future behaviors; cleanup. 2018-03-10 23:04:59 -08:00
Jason Volk
30700b2ad8 ircd::ctx: Support future continuation. 2018-03-10 23:04:59 -08:00
Jason Volk
e4d891abac ircd:Ⓜ️ Remove duplicate exists(event_id) util. 2018-03-10 23:04:59 -08:00
Jason Volk
046029725a ircd::db: Explicit bool cast for column. 2018-03-10 23:04:58 -08:00
Jason Volk
00ba8ebdb4 ircd::ctx: Factor shared_ptr out of promise/future. 2018-03-10 23:04:58 -08:00
Jason Volk
d59de1a391 ircd::server: Improve peer state transitions and destruction paths. 2018-03-10 23:04:58 -08:00
Jason Volk
2c4498502a ircd:Ⓜ️ Add txn creation util. 2018-03-09 19:41:16 -08:00
Jason Volk
4fa33bdc60 Revert "ircd::ctx: Add nodejs-style future::then() rather than libstd experimental TS."
This reverts commit 37569559cf.
2018-03-09 19:41:16 -08:00
Jason Volk
28c7826032 ircd::db: Add txn::append optimization allowing tuple to make direct column deltas. 2018-03-09 19:41:16 -08:00
Jason Volk
49d6d2b8ea ircd::net: Add socket state and assertion for fini. 2018-03-09 19:41:16 -08:00
Jason Volk
e2569b4cb6 ircd: Disambiguate the litany of response argument variations. 2018-03-09 17:10:45 -08:00
Jason Volk
e4a4526b0c ircd::net: Add additional conf items; update resolver timeout to use ms. 2018-03-09 17:10:45 -08:00
Jason Volk
4145a94fc8 ircd::conf: Abstraction for all lex_cast'able types; add additional duration specializations. 2018-03-09 17:10:45 -08:00
Jason Volk
b284f707e5 ircd:Ⓜ️:v1: Support query for client_keys; add console command. 2018-03-09 17:10:45 -08:00
Jason Volk
9b6ef1189b ircd:Ⓜ️:v1: Support query for user_devices; add console command. 2018-03-09 17:10:45 -08:00
Jason Volk
08fc944021 ircd:Ⓜ️ Tweak specifics of user/account creation/activation related. 2018-03-09 17:10:45 -08:00
Jason Volk
4e75566c94 ircd::server: Break down the shutdown process further. 2018-03-09 17:10:44 -08:00
Jason Volk
7f336200ea ircd::server: Check and clear peer error after timeout. 2018-03-09 12:45:25 -08:00
Jason Volk
81b3916953 ircd::server: Simplify without refcounting async ops. 2018-03-09 12:45:25 -08:00
Jason Volk
1cfe841462 ircd:Ⓜ️ Add additional event::conforms checks; comments. 2018-03-09 07:46:26 -08:00
Jason Volk
57deb2212a ircd:Ⓜ️ Add room::messages iterator event_id cast operator. 2018-03-08 19:11:47 -08:00
Jason Volk
4a5bea668c ircd/ircd:Ⓜ️ extern event_max_size conf item; minor cleanup. 2018-03-08 16:36:49 -08:00
Jason Volk
f2a39394cd ircd:Ⓜ️:vm: Add opts for dbs history/present; use more efficient iov pusher. 2018-03-08 15:55:54 -08:00
Jason Volk
e2db58bd81 ircd:Ⓜ️:v1: Fix send_join argument. 2018-03-08 15:55:02 -08:00
Jason Volk
1e041deb55 ircd: Add head-only resource::response; cleanup comments / cruft. 2018-03-08 11:42:43 -08:00
Jason Volk
be2a7007fa ircd:Ⓜ️ Add exists(room_alias) with option for remote query; translate not_found exception. 2018-03-08 11:39:37 -08:00
Jason Volk
dc59cb8880 ircd:Ⓜ️ Overload exists(room) in addition to room::id. 2018-03-08 11:38:29 -08:00
Jason Volk
b5ad6b55a6 ircd:Ⓜ️:vm: Add eval options for hashing signing and pre-commit debuglog. 2018-03-08 10:08:38 -08:00
Jason Volk
1e6d3d3294 ircd:Ⓜ️:vm: Add opts argument to event commission; comment cleanup. 2018-03-08 10:08:38 -08:00
Jason Volk
4670fdbd1b ircd: Remove ircd::error_code typedef with more local typedefs. 2018-03-08 10:08:38 -08:00
Jason Volk
f10c61e046 ircd: Add integration utils for system and boost error related. 2018-03-08 09:35:59 -08:00
Jason Volk
eafa9fd5b2 ircd: Move boost system error related out of ios.h to exception.h et al. 2018-03-08 08:40:26 -08:00
Jason Volk
f1fb3d8b49 ircd::server: Add peer::err object. 2018-03-08 08:24:19 -08:00
Jason Volk
19e6db0a33 ircd::util: Add util to get what() from std::exception_ptr. 2018-03-08 08:23:50 -08:00
Jason Volk
8c02823d49 ircd: Tweak client error handling; fwddecl json::expectation_failure. 2018-03-08 07:40:41 -08:00
Jason Volk
f1a45cc9df ircd:Ⓜ️ Libify hashing/signing functions out of vm::commit(). 2018-03-07 13:28:15 -08:00
Jason Volk
901a77266e ircd:Ⓜ️:vm: Massage edus through the core eval path; rename inserted to accept. 2018-03-07 13:28:15 -08:00
Jason Volk
37569559cf ircd::ctx: Add nodejs-style future::then() rather than libstd experimental TS. 2018-03-07 09:13:55 -08:00
Jason Volk
6d0c74a064 ircd::ctx: Remove the promise/state reset(): should expect assignment instead. 2018-03-07 09:07:13 -08:00
Jason Volk
bc184b4d52 ircd::ctx: Have futures throw timeout exceptions by default; add nothrows. 2018-03-07 08:17:50 -08:00
Jason Volk
9b44217ea4 ircd::server: Rename opts member pointer to opt. 2018-03-07 07:23:35 -08:00
Jason Volk
daa1d6481c ircd::http: Remove the no-longer used content related. 2018-03-06 11:24:10 -08:00
Jason Volk
ea3f7abde5 ircd::server: Add state to deny any resubmission on peer close. 2018-03-06 04:51:20 -08:00
Jason Volk
d50714ab7d ircd:Ⓜ️:v1: Default ctors for all classes. 2018-03-06 04:28:17 -08:00
Jason Volk
2ec4bd025f ircd::net: Underp the cache map until heterogeneous key support in stdlib. 2018-03-06 04:03:31 -08:00
Jason Volk
7021250cc3 ircd: Fix proper default constexpr ctor. 2018-03-06 03:51:51 -08:00
Jason Volk
2ef5f4c72c ircd::ctx: Rename notify to expose. 2018-03-06 03:50:39 -08:00
Jason Volk
29f08d3615 ircd::ctx: Add functions to peek at the queue size of the mutexes. 2018-03-06 01:09:37 -08:00
Jason Volk
c864a6b446 ircd:Ⓜ️ Move keys related into modules/key; keys into node's room; remaining keys.cc into m.cc. 2018-03-06 00:10:36 -08:00
Jason Volk
0fe0d548c0 ircd:Ⓜ️ Consistent cast to eponymous mxid for classes. 2018-03-05 23:47:23 -08:00
Jason Volk
63614107f8 ircd:Ⓜ️ Introduce the node and the node::room. 2018-03-05 23:47:23 -08:00
Jason Volk
bbf1cff21b ircd:Ⓜ️🆔 Rename origin to node. 2018-03-05 08:22:24 -08:00
Jason Volk
327e4da356 ircd::server: Rename node to peer. 2018-03-05 06:59:10 -08:00
Jason Volk
f7223b0688 ircd::ctx: Consolidate view and shared_view with more template. 2018-03-05 05:49:26 -08:00
Jason Volk
ec0d151827 ircd:Ⓜ️ Move user::password related to modules/client/account/password. 2018-03-05 05:24:45 -08:00
Jason Volk
f8dc84d46e ircd:Ⓜ️ Modularize the user::activate/user::deactivate definitions. 2018-03-05 05:24:45 -08:00
Jason Volk
01ce9a3d6f ircd:Ⓜ️ Move spec tuples into headers. 2018-03-05 05:24:45 -08:00
Jason Volk
bfc2ab4eef ircd:Ⓜ️ Improve error ctor related. 2018-03-05 01:34:03 -08:00
Jason Volk
664bee7f78 ircd::json: Add semantics to prevent json::strung'ing itself. 2018-03-05 01:09:37 -08:00
Jason Volk
b37bb580be ircd:Ⓜ️ Deinline these error ctors. 2018-03-05 01:07:52 -08:00
Jason Volk
8b7b8bb584 ircd:Ⓜ️🆔 Add function to update buffer's view after direct write. 2018-03-05 00:52:24 -08:00
Jason Volk
cc7dd13e4e ircd::http: Fix enum decl related and struct packing of error. 2018-03-05 00:37:05 -08:00
Jason Volk
a39781924c ircd:Ⓜ️ Take this buffer off-stack. 2018-03-04 09:21:51 -08:00
Jason Volk
69b0acde63 ircd:Ⓜ️ Preliminary reorg around experimental presence interface. 2018-03-04 08:57:02 -08:00
Jason Volk
e2ddeb4190 ircd:Ⓜ️ Add edu tuples; improve txn tuple typing. 2018-03-04 08:57:01 -08:00
Jason Volk
c7ae8d3f27 ircd::server: Fix conditions for link removal from link::close(). 2018-03-04 02:09:41 -08:00
Jason Volk
240e01a9b5 ircd:Ⓜ️ Integrate present room state table optimization into interface. 2018-03-04 02:09:41 -08:00
Jason Volk
5b4c65c875 ircd:Ⓜ️:dbs: Add and use origins key separator; minor cleanup. 2018-03-04 00:30:25 -08:00
Jason Volk
472aaecb0f ircd:Ⓜ️:dbs: Add back the sequential state index for present room state. 2018-03-04 00:30:25 -08:00
Jason Volk
8bb31107bd ircd:Ⓜ️ Relax room ctor event_id parameter for empty string_view{}. 2018-03-04 00:30:25 -08:00
Jason Volk
505b3b5115 ircd: Add non-throwing/defaulting token() overload. 2018-03-03 23:37:17 -08:00
Jason Volk
92bef88b6c ircd::server: Improve tag cancellation/dispersal on closing/shutdown; minor cleanup. 2018-03-03 21:56:50 -08:00
Jason Volk
4df13f5d4f ircd::server: Add conf items for existing todos. 2018-03-03 21:54:42 -08:00
Jason Volk
a9b87a5c09 ircd::util: Add pointer transform suite. 2018-03-03 21:53:09 -08:00
Jason Volk
c676d56dcd ircd:Ⓜ️ Add room::members::count() with membership=join optimized path. 2018-03-03 10:17:05 -08:00
Jason Volk
7a860964c4 ircd:Ⓜ️ Split the origins iteration to also allow raw key iteration. 2018-03-03 10:17:05 -08:00
Jason Volk
8a5462063e ircd:Ⓜ️ Add util to get membership from either event.membership or event.content. 2018-03-03 10:17:05 -08:00
Jason Volk
e95b61d46b ircd:Ⓜ️ Add a room::origins::count()er. 2018-03-03 05:56:42 -08:00
Jason Volk
763c14fb7b ircd:Ⓜ️:dbs: Add crucial member key to origins sequence. 2018-03-03 05:47:15 -08:00
Jason Volk
d0ef714179 ircd:Ⓜ️🆔 Tighten exception spec on boolean validators; tweak test grammar. 2018-03-03 05:04:23 -08:00
Jason Volk
fa5a30e751 ircd: Add stringops to lstrip/rstrip limited to n count. 2018-03-03 04:06:49 -08:00
Jason Volk
7eff71b9a3 ircd:Ⓜ️ Add function to check if and only if id is a valid localpart. 2018-03-03 04:06:49 -08:00
Jason Volk
6333003aad ircd:Ⓜ️ Move user::activate() out to modules/client/register. 2018-03-03 00:51:27 -08:00
Jason Volk
fa3d92103c ircd:Ⓜ️ Add event serial size check; check size during commit. 2018-03-03 00:04:43 -08:00
Jason Volk
304f5422c6 ircd::conf: Add templates for long integer items. 2018-03-02 23:54:35 -08:00
Jason Volk
c4d8b17ecb ircd:Ⓜ️ Add convenience sender for org.matrix.custom.html messages. 2018-03-02 23:22:52 -08:00
Jason Volk
b840156b37 ircd::server: Add preliminary node error state; keep erroneous node in map as cache. 2018-03-02 22:37:52 -08:00
Jason Volk
a99fff0988 ircd:Ⓜ️ Add meta column for sequential presently joined origins iteration. 2018-03-02 22:03:06 -08:00
Jason Volk
94087f6316 ircd:Ⓜ️ Add alternative hook ctor for simple argument syntax reversal. 2018-03-02 21:12:11 -08:00
Jason Volk
1e2dcc41ef ircd::conf: Support std::string item. 2018-03-02 08:02:21 -08:00
Jason Volk
150543ae91 ircd:Ⓜ️ Add linkage for user::presence;
modules/client/presence: reorg for linkage; minor cleanup.
2018-03-02 08:02:21 -08:00
Jason Volk
f7034d0bf5 ircd:Ⓜ️ Add convenience notice(room) suite. 2018-03-02 08:02:21 -08:00
Jason Volk
f8e356eb0e ircd::conf: Develop conf get/set by string; use mapping by item name. 2018-03-02 08:02:20 -08:00
Jason Volk
baa7a80b68 ircd: Various fixes; bump default db LRU cache sizes. 2018-03-02 08:02:20 -08:00
Jason Volk
581e804e37 ircd::net::dns: Use conf item for DNS resolver timeout value. 2018-03-02 08:02:20 -08:00
Jason Volk
97e593a77e ircd: Mein conf. 2018-03-02 08:02:20 -08:00
Jason Volk
d54d6b687c ircd::net::dns: Add crucial support for caching errors. 2018-03-02 08:02:20 -08:00
Jason Volk
b166d0744d ircd::rfc1035: Ensure record types default-construct the super with their type. 2018-03-01 23:34:59 -08:00
Jason Volk
3aea407a85 ircd::net::dns: Add dns::cache. 2018-03-01 23:08:22 -08:00
Jason Volk
b10d3498e3 ircd::rfc1035: Use string_view of namebuf rather than namelen. 2018-03-01 21:47:03 -08:00
Jason Volk
2fcaf8c758 ircd::json: Add default ctor for array/object/vector const_iterators. 2018-02-28 22:33:50 -08:00
Jason Volk
c31b072a82 ircd:Ⓜ️ Improve room::membership() convenience query interface. 2018-02-28 21:05:09 -08:00
Jason Volk
ff94fdd3a6 ircd::json: Array list protocol for stringifying tuple. 2018-02-28 02:31:13 -08:00
Jason Volk
7a7c1fb542 ircd::buffer: Disambiguate conversion. 2018-02-28 02:23:06 -08:00
Jason Volk
73c667c238 ircd: Add substring replacement stringop. 2018-02-28 00:18:47 -08:00
Jason Volk
bd065a826a ircd:Ⓜ️:vm: Add error class; add/checkin options; checkpoint preliminary eval. 2018-02-27 22:57:05 -08:00
Jason Volk
14d5bd4f99 ircd:Ⓜ️:state: Checkpoint removal entry point. 2018-02-27 22:57:05 -08:00
Jason Volk
8f086aaed9 ircd:Ⓜ️ Add convenience operator|= to event::conforms for masking. 2018-02-27 20:55:59 -08:00
Jason Volk
ef9646e719 ircd:Ⓜ️ Add exists(event::id) database check. 2018-02-27 20:47:19 -08:00
Jason Volk
bd4da0dd0a ircd:Ⓜ️ Consider these not-errors to allow for forward-compat/reuse. 2018-02-27 20:25:23 -08:00
Jason Volk
cc6cd58755 ircd::server: Fix dtor condition to cancel request. 2018-02-27 02:41:48 -08:00
Jason Volk
fc3b68b9e9 ircd::server: Add more state for async ops; adjust post points. 2018-02-27 01:00:12 -08:00
Jason Volk
7f77c68232 ircd::net/ircd::server: Rename misleading functions. 2018-02-26 22:49:44 -08:00
Jason Volk
c412beacbf ircd::server: Add dynamic content allocation after receiving head. 2018-02-26 21:56:05 -08:00
Jason Volk
d1b66e2657 ircd:Ⓜ️:v1: Remove all the static default_opts. 2018-02-26 21:43:02 -08:00
Jason Volk
e37a8599f7 ircd::fs: Add remove() / rename() support. 2018-02-26 20:45:14 -08:00
Jason Volk
121be689e8 ircd::fs: Fix namespace ambiguities; various interface updates. 2018-02-26 20:35:09 -08:00
Jason Volk
e67ce2b43e ircd:Ⓜ️ Add room_alias -> room_id outsourcing; plug in modules/client/join. 2018-02-26 04:55:27 -08:00
Jason Volk
64a77e280d ircd::http: Parse content_type convenience reference in response::head. 2018-02-26 04:00:36 -08:00
Jason Volk
0721d28254 ircd:Ⓜ️🪝 Minor cleanup: move event_match function to hook::. 2018-02-26 01:40:41 -08:00
Jason Volk
e259d7bad7 ircd:Ⓜ️🪝 Use union matching strategy by default. 2018-02-26 00:07:53 -08:00
Jason Volk
bd14377904 ircd:Ⓜ️ Captain hook. 2018-02-25 23:35:25 -08:00
Jason Volk
c41a3dc25c ircd:Ⓜ️:v1: Add overloads to derive query remote from mxids. 2018-02-25 02:05:43 -08:00
Jason Volk
619a5a6a96 ircd:Ⓜ️:v1: Add additional query::profile field overload. 2018-02-25 00:30:45 -08:00
Jason Volk
a25b9c84f5 ircd:Ⓜ️ Add missing/matching my(user). 2018-02-25 00:30:45 -08:00
Jason Volk
bab52e2967 ircd:Ⓜ️:v1: Add query request; add profile / directory convenience subtypes. 2018-02-24 23:53:32 -08:00
Jason Volk
191167f7ba ircd:Ⓜ️ Add count() interface to room::state. 2018-02-24 19:52:02 -08:00
Jason Volk
4818409b51 ircd:Ⓜ️:state: Strictly use name:: references for all property access. 2018-02-24 19:47:30 -08:00
Jason Volk
114bee0381 ircd::json: Add back support for tuple string reference indexing overloads. 2018-02-24 19:45:57 -08:00
Jason Volk
4643a78c47 ircd:Ⓜ️:state: Add branch accounting to b-tree node. 2018-02-24 19:27:17 -08:00
Jason Volk
c95edb5d78 ircd:Ⓜ️ Add BAD_PAGINATION error to common list. 2018-02-23 23:35:09 -08:00
Jason Volk
f2a3e2487c ircd:Ⓜ️ Support lower_bound state_key queries into room::state. 2018-02-23 19:39:51 -08:00
Jason Volk
39faaa3a73 ircd::magic: Add namespace \brief. 2018-02-22 20:32:10 -08:00
Jason Volk
7d4d88de73 ircd:Ⓜ️ Move and relink all the state/non-state sends()/message();
modules/client/rooms/state: reorg / renamespacing.
modules/client/rooms/send: renamespacing.
2018-02-22 20:32:10 -08:00
Jason Volk
515370b2c2 ircd:Ⓜ️ Add and apply module importer; replace any module name suffixes. 2018-02-22 20:32:10 -08:00
Jason Volk
c6365fc609 ircd:Ⓜ️ Add a 503 UNAVAILABLE wrapping. 2018-02-22 20:32:10 -08:00
Jason Volk
1c8753ba9f ircd::mods: Add default constructions to sym_ptr et al. 2018-02-22 14:30:11 -08:00
Jason Volk
0569b41f4b ircd::mods: Add sym_ptr / import_shared reference ctors. 2018-02-22 14:30:11 -08:00