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
Jason Volk
52cbf0fc70
ircd: Condition client timeout for longpoll; fix resource request reference.
2018-02-21 17:43:29 -08:00
Jason Volk
d50ef4b45f
ircd::log: Add interface to toggle facility to console.
2018-02-21 16:13:49 -08:00
Jason Volk
bae8e3b869
ircd: Ⓜ️ Add reverse reflection for event::conforms code.
2018-02-21 15:05:27 -08:00
Jason Volk
4f4b53416c
ircd: Ⓜ️ Add more event::conforms checks; add skip-checks constructor.
2018-02-21 15:05:27 -08:00
Jason Volk
268861013e
ircd::json: Add these for consistency.
2018-02-21 14:24:01 -08:00
Jason Volk
a00e305442
ircd: Ⓜ️ Rename event::errors to event::conforms.
2018-02-21 13:43:33 -08:00
Jason Volk
c72f7f1e96
ircd: Ⓜ️ Begin an event::errors fundamental conformity report.
2018-02-21 00:13:18 -08:00
Jason Volk
1bf9997086
ircd: Ⓜ️ Deinline these m::event related.
2018-02-20 18:26:54 -08:00
Jason Volk
98ceb154c3
ircd::util: Retype ctype<> for const_buffer; fix return type; simplify loop.
2018-02-20 15:40:40 -08:00
Jason Volk
d673ce16d4
ircd::ctx: Relax noinline attribute on prof::stack_usage_here() wrapper.
2018-02-20 15:40:40 -08:00
Jason Volk
3d1409b243
ircd: Ⓜ️ Tighten exception specification for user::is_password().
2018-02-19 19:45:44 -08:00
Jason Volk
329b1dc514
ircd: Ⓜ️ Add nothrow stack to complement head(room).
2018-02-19 19:45:44 -08:00
Jason Volk
c5f4ab4a17
ircd::buffer: Compiler errors when copy source may be string literal.
2018-02-19 19:45:44 -08:00
Jason Volk
cede265037
ircd::parse: Add assertive information rather than throwing bad_function_call.
2018-02-19 19:45:44 -08:00
Jason Volk
f620bdcb3a
ircd: Ⓜ️ :v1: Add version request.
2018-02-19 19:45:44 -08:00
Jason Volk
eaf8df25c2
ircd::info: Add name string / agency strings.
2018-02-19 16:51:28 -08:00
Jason Volk
622e0a56a6
ircd::buffer: Add operator+ to compute a new buffer at offset.
2018-02-19 16:51:28 -08:00
Jason Volk
e9a84ff4d7
ircd::buffer: Improve typography/conversions related issues.
2018-02-19 16:51:28 -08:00
Jason Volk
a21b2b28fa
ircd::info: Minor reorg / cleanup.
2018-02-19 13:32:34 -08:00
Jason Volk
b63bc5e8e6
ircd: Ⓜ️ Expose m::modules / m::listeners externs.
2018-02-19 00:36:45 -08:00
Jason Volk
7142cbf735
ircd: Move magic out of fs::.
2018-02-18 22:54:54 -08:00
Jason Volk
de08752853
ircd::net: Remove unused/erroneous has_timeout().
2018-02-18 22:38:23 -08:00
Jason Volk
a8d72ebbaa
ircd::json: Ensure rvalue-reference ownership transfer for these ctors.
2018-02-18 22:38:23 -08:00
Jason Volk
23fb76ae8e
ircd::json: Improve the member/value construction relationship.
2018-02-18 22:38:23 -08:00
Jason Volk
3683341aa9
ircd::util: Ensure null termination after all direct writes into string.
2018-02-18 22:38:23 -08:00
Jason Volk
f8e5ca20d3
ircd::json: Remove the double-indirected member stringify.
2018-02-18 22:35:35 -08:00
Jason Volk
42a22a6c79
ircd::json: Use consumption protocol for create_string closure.
2018-02-18 22:22:38 -08:00
Jason Volk
0e526484ea
ircd::json: Ensure iov's are in a fixed location.
2018-02-18 22:18:52 -08:00
Jason Volk
9ebf8b0b73
ircd::util: Eliminate false -Wnull-dereference seen with g++ 6.3.0 20170519.
2018-02-18 01:20:39 -08:00
Jason Volk
f5197cc8ff
ircd::fs: Add magic interface.
2018-02-18 01:12:09 -08:00
Jason Volk
9173c13b89
ircd: Move resource::request related off the stack into client.
2018-02-17 16:17:59 -08:00
Jason Volk
575f5829dd
ircd::json: Verifiably pasken the strongly typed object::size() result.
2018-02-17 16:17:59 -08:00
Jason Volk
7e89baf369
ircd: Add resource::method::CONTENT_DISCRETION option flag.
2018-02-17 14:38:49 -08:00
Jason Volk
3709bd5612
ircd: Improve+rename client/resource head_buffer/content_buffer related.
2018-02-17 14:28:06 -08:00
Jason Volk
39d2196336
ircd::json: Modernize json::strung ctor.
2018-02-17 14:07:46 -08:00
Jason Volk
3c359e1dcc
ircd: Ⓜ️ Add RoomEventFilter matcher.
2018-02-17 13:08:59 -08:00
Jason Volk
d89eaf338c
ircd: Ⓜ️ 5 Filter (m::event_filter) matching (without globular).
2018-02-17 13:08:17 -08:00
Jason Volk
4c3d20d959
ircd: Ⓜ️ Purge the m::session.
2018-02-16 16:53:47 -08:00
Jason Volk
7a08fe8181
ircd: Ⓜ️ Deinline these request ctors.
2018-02-16 16:44:57 -08:00
Jason Volk
ca7f32a89b
ircd: Ⓜ️ 🆔 Minor cleanup.
2018-02-16 16:33:28 -08:00
Jason Volk
632b1e6f0f
ircd: Ⓜ️ Curse the cursor.
...
modules/console: Update dump; add errcount.
2018-02-16 11:53:42 -08:00
Jason Volk
00e90865d2
ircd: Ⓜ️ Add linear query suite to room interface.
2018-02-15 19:17:09 -08:00
Jason Volk
01251573bc
ircd: Ⓜ️ Add redacts
to main event; add redact(room, ...) committer.
2018-02-15 16:35:50 -08:00
Jason Volk
eab4aef7e6
ircd: Ⓜ️ /modules/client: Add device ID generation; use token/password helpers; various comments/cleanup.
2018-02-15 13:55:09 -08:00
Jason Volk
6ece5db391
ircd: Ⓜ️ Add user::room wrapping m::room with buffer of user's user room_id.
2018-02-15 13:40:08 -08:00
Jason Volk
050eacd142
ircd: Ⓜ️ Add m::user helpers to generate password hash and access tokens.
2018-02-15 13:05:00 -08:00
Jason Volk
51b2cafc74
ircd: Ⓜ️ Add experimental sigiled and qualified device MXID.
2018-02-15 13:01:07 -08:00
Jason Volk
7b0c53501a
ircd::rand: Modernize interface.
2018-02-15 12:53:00 -08:00
Jason Volk
d6ad4ce45e
ircd: Ⓜ️ Add some object semantics/restrictions.
2018-02-15 12:11:28 -08:00
Jason Volk
3d216fda84
ircd::util: Use std::all_of for boolean ctype test.
2018-02-15 12:09:17 -08:00
Jason Volk
38454022cd
ircd::m/modules: Add M_NEED_MORE_PARAMS.
2018-02-14 22:07:01 -08:00
Jason Volk
a7c662529d
ircd: Ⓜ️ :vm: Remove the fronts map.
2018-02-14 22:07:01 -08:00
Jason Volk
025909e1eb
ircd: Move ctype<> into util::; add valid(string_view) boolean convenience.
2018-02-14 14:11:18 -08:00
Jason Volk
d32f990c6a
ircd: Ⓜ️ Improve room::messages interface as a bidirectional STL iterator.
2018-02-13 14:25:01 -08:00
Jason Volk
6f0ca19df6
ircd: Ⓜ️ Cleanup cruft from m::room; comments; minor.
2018-02-13 14:23:56 -08:00
Jason Volk
ad56d381a5
ircd: Ⓜ️ :dbs: Add a room_events_key generator which doesn't require event_id.
2018-02-13 14:21:57 -08:00
Jason Volk
db4535b049
ircd: 📅 Add ostream participants for time_points printing epoch seconds.
2018-02-12 19:30:44 -08:00
Jason Volk
2be10ef206
ircd: Fix/Address client current request flow for longpolls.
2018-02-12 19:30:44 -08:00
Jason Volk
67fba3cd7b
ircd: Ⓜ️ Move filters into the user's user room.
2018-02-11 19:46:31 -08:00
Jason Volk
939957c02a
ircd: Ⓜ️ Split filter into compilation unit; reactivate interface.
2018-02-11 15:47:24 -08:00
Jason Volk
f770a1638e
ircd: Update Makefile ordering to reflect current header ordering; commentary.
2018-02-11 15:47:24 -08:00
Jason Volk
0afaa70ccf
ircd: Refer to the right access_token in the resource::request struct.
2018-02-10 22:07:06 -08:00
Jason Volk
3e603b86e9
ircd: Ⓜ️ Add the m::room::has(type, state_key) passthru.
2018-02-10 21:42:16 -08:00
Jason Volk
a3a3239e6e
ircd: Ⓜ️ Add room::messages interface; comment on room::state.
2018-02-10 19:50:53 -08:00
Jason Volk
0dc8593b9c
ircd::net: Add open() option to allow expired certificates.
2018-02-10 18:37:06 -08:00
Jason Volk
43d581f1e9
ircd: Ⓜ️ Add room::get() passthru interface to room::state.
2018-02-10 18:37:06 -08:00
Jason Volk
605fbe1859
ircd: Ⓜ️ Use member buffer caches in m::room::state for the state root/head event.
2018-02-10 18:37:06 -08:00
Jason Volk
e368101e54
ircd: Ⓜ️ :state: Might as well typedef this id.
2018-02-10 17:33:17 -08:00
Jason Volk
3597d1eb6b
ircd: Ⓜ️ Elaborate the event::prev interface with pattern conveniences.
2018-02-10 13:44:54 -08:00
Jason Volk
b238818522
ircd: Ⓜ️ Convert room::members/origins iters to test proto; console update; various.
2018-02-10 13:05:01 -08:00
Jason Volk
23387155df
ircd: Ⓜ️ Candidate split room::state interface (const part).
2018-02-10 00:41:10 -08:00
Jason Volk
9405166a7a
ircd: Ⓜ️ :state: Add an unconditional for_each.
2018-02-10 00:41:06 -08:00
Jason Volk
5236a7d129
ircd: Ⓜ️ Add convenience event::fetch::valid() := row::valid().
2018-02-10 00:39:13 -08:00
Jason Volk
98d3b8bc65
ircd: Ⓜ️ :state: Make each() into test() protocol.
2018-02-10 00:38:36 -08:00
Jason Volk
00ed883f22
ircd: Ⓜ️ Typedefs to close over event::id and room::id.
2018-02-09 22:13:18 -08:00
Jason Volk
0bf053197c
ircd::json: Massage away json::value template ctor.
2018-02-09 21:33:06 -08:00
Jason Volk
063644feaa
ircd: Ⓜ️ Abort the current sorry state of m::io.
2018-02-09 21:33:06 -08:00
Jason Volk
6ff27aa45c
ircd: Ⓜ️ Add room.root(); crush pattern.
2018-02-09 13:08:41 -08:00
Jason Volk
cf18cdfcb7
ircd: Ⓜ️ :state: Add nothrow overloads for value get() suite.
2018-02-09 11:55:49 -08:00
Jason Volk
45f165b462
ircd: Ⓜ️ Add event::fetch: db::cell/db::row aggregate; apply to all pattern.
2018-02-09 11:22:46 -08:00
Jason Volk
e0df498415
ircd: Ⓜ️ :room: Plug more stuff back in.
2018-02-08 23:23:50 -08:00
Jason Volk
a32f93c357
ircd: Ⓜ️ :vm: Add specific exception; checkpoint incomplete eval; fix dbref.
2018-02-08 23:23:50 -08:00
Jason Volk
ec2f44f409
ircd: Ⓜ️ :state: Typedef an id_buffer for better public use.
2018-02-08 21:02:10 -08:00
Jason Volk
39fed550cd
ircd: Ⓜ️ Elaborate room.maxdepth() into the m::head(room)/m::depth(room) (non-array) suite.
2018-02-08 20:59:48 -08:00
Jason Volk
fd7792d32b
ircd: Ⓜ️ Reenable the room::maxdepth() query with efficiency.
2018-02-08 17:19:12 -08:00
Jason Volk
2db910adea
ircd: Ⓜ️ :dbs: Add room_events key extractor for use with db::index::iterator.
2018-02-08 17:19:04 -08:00
Jason Volk
6e34a4a399
ircd: Ⓜ️ :dbs: Add highest->lowest depth comparator for room_events meta.
2018-02-08 17:19:03 -08:00
Jason Volk
2f0c4e004e
ircd: Ⓜ️ :dbs: Treat room_events as an index column for better behavior.
2018-02-08 16:36:09 -08:00
Jason Volk
f096a45e88
ircd: Ⓜ️ Update the common m::error list.
2018-02-08 15:00:53 -08:00
Jason Volk
e40f11429e
ircd::json: Tuple defined(number) decides on max value rather than zero.
2018-02-08 14:01:53 -08:00
Jason Volk
4540a32948
ircd: Ⓜ️ Events database interface to m::dbs; trim vm; [inconsistent].
2018-02-08 13:27:49 -08:00
Jason Volk
7346d9dcdb
ircd: Ⓜ️ :state: Rename head to root.
2018-02-08 13:27:49 -08:00
Jason Volk
230be7d922
ircd: Ⓜ️ Remove the query; remove the query from the cursor.
2018-02-08 13:27:49 -08:00
Jason Volk
5c968f0949
ircd: Ⓜ️ :state: Distill out any DB/IO for tree root; split out create(); remove init.
2018-02-08 13:27:49 -08:00
Jason Volk
775f410e63
ircd: Ⓜ️ Update README.
2018-02-08 13:27:48 -08:00
Jason Volk
2b05df12e3
ircd::db: minor cleanup: move this here.
2018-02-07 23:15:17 -08:00
Jason Volk
f04ba38b42
ircd: Rename the stream_buffer to window_buffer.
2018-02-07 21:54:41 -08:00
Jason Volk
9de8cb69d2
ircd: Send the aborted array_view fetus to valhalla.
2018-02-07 12:16:17 -08:00
Jason Volk
4623e4448f
ircd::http: Add 502 Bad Gateway.
2018-02-07 00:24:54 -08:00
Jason Volk
24fdfdd9fe
ircd::server: Fix error; fix regression.
2018-02-07 00:24:54 -08:00
Jason Volk
4b61cd1498
ircd::net: Improve the net::hostport amalgam ctor; comments.
2018-02-07 00:24:54 -08:00
Jason Volk
d96ec401bc
ircd::net: Remove old cruft exceptions.
2018-02-06 13:20:24 -08:00
Jason Volk
7b4906e85f
ircd::net: Throw net::not_found for the ipport_one convenience if no A record.
2018-02-06 13:20:24 -08:00
Jason Volk
ee0d6423f3
ircd: Move params back into ircd::util... (w/ manual inclusion).
2018-02-06 13:20:24 -08:00
Jason Volk
4a56c0a1cd
ircd::fs: Asynchronous writes to local filesystem.
2018-02-06 00:02:18 -08:00
Jason Volk
af62b5f089
ircd: Ⓜ️ :state: Proper typedef for value closures.
2018-02-05 21:24:36 -08:00
Jason Volk
49027cc312
ircd: Ⓜ️ :state: Optimize DFS branches recursed based on key argument prefix.
2018-02-05 21:24:36 -08:00
Jason Volk
025e1d7c78
ircd: Ⓜ️ Move events database description and instance to libircd.
2018-02-05 21:24:36 -08:00
Jason Volk
06816f9e33
ircd::db: Allow gopts parameter to the cell::seek().
2018-02-05 21:24:36 -08:00
Jason Volk
9c03fcdb95
ircd: Ⓜ️ :state: Basic util suite.
2018-02-05 21:24:36 -08:00
Jason Volk
ea35ea5863
ircd: Ⓜ️ :state: Cache DB column refs statically and away from API surface.
2018-02-05 21:24:35 -08:00
Jason Volk
42bd702d8f
ircd: Ⓜ️ :state: Adjust interface for event insertions from m::dbs.
2018-02-05 21:24:35 -08:00
Jason Volk
b97f6bf7a9
ircd: Ⓜ️ :state: Improve buffer related; fix issues.
2018-02-05 21:24:35 -08:00
Jason Volk
d4eeeacdec
ircd: Ⓜ️ :state: Tweak some issues.
2018-02-05 21:24:35 -08:00
Jason Volk
dc361284f0
ircd: Ⓜ️ :state: Add a DFS with closure; comments; cleanup.
2018-02-05 21:24:35 -08:00
Jason Volk
10f6402ada
ircd::rfc1035: Comments; minor rearrange.
2018-02-05 21:24:35 -08:00
Jason Volk
be624ca7f6
Update Copyrastafaris.
2018-02-05 21:24:34 -08:00
Jason Volk
6b7b3b2db7
ircd: Ⓜ️ :state: Cleanup; break down operations.
2018-02-05 18:54:56 -08:00
Jason Volk
565a760255
ircd::net: Integrate SRV query composition; RFC1035 records to the user interface.
2018-02-05 18:54:56 -08:00
Jason Volk
faaf950ea4
ircd::rfc1035: Default constructions for resource records.
2018-02-05 18:54:55 -08:00
Jason Volk
3441368b25
ircd::net: Use "service" string in net::hostport.
2018-02-05 18:54:55 -08:00
Jason Volk
a9ac7fd8d9
ircd::net: Add constructions for ipport from rfc1035 resource records.
2018-02-05 18:54:55 -08:00
Jason Volk
46bf944227
ircd::rfc1035: Dynamic abstraction for resource records; minor comments.
2018-02-05 18:54:55 -08:00
Jason Volk
d53eef4ab6
ircd: Eliminate the raw_buffer concept.
2018-02-05 18:54:55 -08:00
Jason Volk
287331d757
ircd::rfc1035: Simplify the answer record results with a string_view.
2018-02-03 14:10:49 -08:00
Jason Volk
cde4507ef6
ircd::rfc1035: Put the record structs into record:: for possible vtable opportunity.
2018-02-03 14:10:49 -08:00
Jason Volk
e602b2375d
ircd: Exception macros need complete scope to be used outside ircd::
2018-02-03 14:10:49 -08:00
Jason Volk
229ac50be4
ircd: Move params.h out to construct/
2018-02-03 14:10:49 -08:00
Jason Volk
63d28a77cc
ircd: Ⓜ️ :state: Make it right.
2018-02-02 15:06:12 -08:00
Jason Volk
50a0983fa0
ircd: Ⓜ️ :state: Make it work.
2018-02-02 14:58:56 -08:00
Jason Volk
e3f671a523
ircd::json: Move property.h into tuple/ dir.
2018-02-02 14:58:55 -08:00
Jason Volk
8296adb6c3
ircd: Ⓜ️ :state: Try using a separate child array to store values at any level (partial).
2018-02-02 14:58:55 -08:00
Jason Volk
c3ceb94478
ircd: These should be rvalue refs.
2018-01-30 23:13:27 -08:00
Jason Volk
6f1220dc5f
ircd: Ⓜ️ Cleanup and prep m::state related.
2018-01-30 13:33:17 -08:00
Jason Volk
2e356709bd
ircd::json: Break up json.h into util.h
2018-01-30 10:26:46 -08:00
Jason Volk
01235e3851
ircd::json: Add a bang ADL for falsy semantic on object/array.
2018-01-30 10:14:41 -08:00
Jason Volk
365fabe638
ircd::db: Rename iov to txn (since iov should really be a rocksdb::SliceParts).
2018-01-30 09:58:36 -08:00
Jason Volk
08d00bb3c8
ircd::json: Add strongly typed empty() for object/array with an ADL.
2018-01-29 11:59:59 -08:00
Jason Volk
aefca6bea4
ircd::json: Move extern const strings out of value.h
2018-01-29 11:59:59 -08:00
Jason Volk
0d8a646ccc
ircd: Ⓜ️ Split state:: off dbs::.
2018-01-29 09:36:05 -08:00
Jason Volk
f7e928e852
ircd: Simplify various string generations.
2018-01-29 08:39:06 -08:00
Jason Volk
bce1206c70
ircd::util: Add string construction buffer closures over a common pattern.
2018-01-29 08:19:14 -08:00
Jason Volk
f1611a4a54
ircd: Reorder the headers to allow utils depending on *_view and buffer:: and allocator::...
2018-01-29 08:17:02 -08:00
Jason Volk
e23ee1543b
ircd::util: Comment on the ircd::string() template; minor cleanup.
2018-01-28 21:30:53 -08:00
Jason Volk
5f6b5852b1
ircd::rfc1035: Add CNAME RR; minor cleanup.
2018-01-28 21:18:26 -08:00
Jason Volk
aeaa031cce
ircd::rfc1035: Add SRV record RR; add A/AAAA specific RR structs; minor cleanup.
2018-01-28 21:18:26 -08:00
Jason Volk
9a2714f5aa
ircd::net: Replace asio::ip::tcp::resolver / threaded getaddrinfo() with solution.
2018-01-28 21:18:26 -08:00
Jason Volk
670b4b8e23
ircd::net: Add UDP analogues for the make_endpoint() related.
2018-01-28 21:18:26 -08:00
Jason Volk
7057e1d98d
ircd::rfc1035: Various question / answer development; add header debug.
2018-01-28 21:18:25 -08:00
Jason Volk
68b408a065
ircd: Add allocated string convenience for u2a().
2018-01-28 21:18:25 -08:00
Jason Volk
513082b656
ircd::net: Reorg DNS related; move resolver into header.
2018-01-28 14:28:33 -08:00
Jason Volk
b462f2bbd8
ircd: Ⓜ️ Fix m::error constructor stack for zero-argument exceptions.
2018-01-28 09:09:58 -08:00
Jason Volk
4cfd41327a
ircd: Ⓜ️ Checkpoint single-level/splitless state query.
2018-01-28 08:45:09 -08:00
Jason Volk
6bc6d9f8a1
ircd: Minor cleanup.
2018-01-28 08:44:47 -08:00
Jason Volk
b926e6b42d
ircd::db: Add nothrow overloads to the column viewer.
2018-01-27 10:07:08 -08:00
Jason Volk
917a73d048
ircd: Final hints for devirtualization opportunities.
2018-01-26 21:58:52 -08:00
Jason Volk
4818d7b651
ircd: Fix undefined RB_DEBUG for numerical RB_DEBUG_LEVEL.
2018-01-26 21:49:41 -08:00
Jason Volk
638843ade1
ircd::openssl: Add wrapper to print certificate subject from a PEM buffer.
2018-01-26 19:27:12 -08:00
Jason Volk
fd2a7974e8
ircd: Minor cleanup; comments; spacing.
2018-01-26 19:27:12 -08:00
Jason Volk
a9cada32db
ircd: Ⓜ️ Add dbs namespace; remove old interfaces; checkpoint various.
2018-01-26 18:12:46 -08:00
Jason Volk
ed5b4d0641
ircd: Ⓜ️ Room interface related.
2018-01-26 12:23:28 -08:00
Jason Volk
74657fa197
ircd: Ⓜ️ Minor cleanup: remove redundant namespace scope here.
2018-01-26 12:22:06 -08:00
Jason Volk
61e9bd018f
ircd::json: Eliminate unnecessary print() overload.
2018-01-26 10:29:36 -08:00
Jason Volk
b34608fba2
ircd::db: Update arguments to ircd::buffer; fix error.
2018-01-26 10:29:36 -08:00
Jason Volk
623f4fec8c
ircd: Ⓜ️ Suppress subobject linkage warnings here for now.
2018-01-25 12:15:50 -08:00
Jason Volk
610d4ad9da
ircd: Minor comment cleanup.
2018-01-25 12:15:40 -08:00
Jason Volk
5ca98e9c9a
ircd: Ⓜ️ Move more name strings into name::.
2018-01-24 11:02:56 -08:00
Jason Volk
c575016981
ircd: Condition the removal of the node on destruction.
2018-01-24 09:27:01 -08:00
Jason Volk
ed4d645523
ircd::server: Flash the HTTP header to a node callback to learn information.
2018-01-24 09:26:27 -08:00
Jason Volk
7bbe116b88
ircd::http: Parse the server string into the response head.
2018-01-24 09:15:16 -08:00
Jason Volk
ddc70b014c
ircd::json: Add templates to dedup boilerplates for building IOV's.
2018-01-24 08:07:36 -08:00
Jason Volk
ac27005cd7
ircd::json: Move these outside of value class.
2018-01-23 21:18:47 -08:00
Jason Volk
e4863aa073
ircd::json: Check stringify size on all builds; note valid assert issue.
2018-01-23 20:59:47 -08:00
Jason Volk
755783ade8
ircd::db: cleanup: database::column section to column.h; rocksdb fwdecls to file.
2018-01-23 16:35:28 -08:00
Jason Volk
d2f887f778
ircd: Ⓜ️ Move m.room keys to name.h
2018-01-23 16:35:28 -08:00
Jason Volk
56191db9bc
ircd: Ⓜ️ Add v1::send response helper; comments; minor cleanup.
2018-01-23 15:07:05 -08:00
Jason Volk
5d1790fb0d
ircd::server: Add reference count of pending async handlers.
2018-01-23 15:07:05 -08:00
Jason Volk
ec51670600
ircd: Clarify namespaces in include README.
2018-01-23 15:07:05 -08:00
Jason Volk
0c838448c2
ircd: Ⓜ️ Add send/send_join to v1; fix buffer sizes.
2018-01-22 10:06:27 -08:00
Jason Volk
a6bc89d960
ircd: Ⓜ️ Remove name cruft.
2018-01-22 03:34:12 -08:00
Jason Volk
c79539ebf3
ircd: Ⓜ️ Elaborate v1 federation requests in directory.
2018-01-22 03:34:12 -08:00
Jason Volk
755a6184ce
ircd::server: Add options struct argument to request ctor.
2018-01-22 02:41:14 -08:00
Jason Volk
4c62e0c24e
ircd::net: Add operator! to hostport; minor cleanup.
2018-01-22 02:06:43 -08:00
Jason Volk
c0fa317475
ircd::json: Move tuple into dir; remove some cruft.
2018-01-22 01:07:38 -08:00
Jason Volk
272061d666
ircd::net: Fix comments.
2018-01-22 00:54:53 -08:00
Jason Volk
b3b424a531
ircd::net: Add option to bypass CN verification of self-signed certs.
2018-01-22 00:54:53 -08:00
Jason Volk
43923a1cf1
ircd::ctx: Minor formatting.
2018-01-22 00:54:52 -08:00
Jason Volk
152b3c351b
ircd::json: Fix README formatting.
2018-01-22 00:54:52 -08:00
Jason Volk
f1d659a6c0
ircd::server: Add a complementary upload progress callback.
2018-01-22 00:54:52 -08:00
Jason Volk
9da18261a6
ircd::server: Add an optional download progress callback.
2018-01-22 00:54:52 -08:00
Jason Volk
4ce6a8ac0a
ircd: Remove various cruft.
2018-01-22 00:54:52 -08:00
Jason Volk
1d9d5fab49
ircd::info: Involve utsname on supported; improve startup information.
2018-01-22 00:54:52 -08:00
Jason Volk
5133553359
ircd::log: Bring balance to the syntax (global logger only).
2018-01-22 00:54:51 -08:00
Jason Volk
7867e7a0b4
ircd::http: Support view of full URI in the request::head; use in X-Matrix auth.
2018-01-22 00:54:51 -08:00
Jason Volk
0912b5366a
ircd: Use intuitive semantics for the strip() suite.
2018-01-22 00:54:51 -08:00
Jason Volk
63ddbf8fbe
ircd: Ⓜ️ Add addl name:: keys; cleanup event related.
2018-01-22 00:54:51 -08:00
Jason Volk
b05caee36f
ircd: Adjust some default timeouts.
2018-01-22 00:54:51 -08:00
Jason Volk
648981a4ce
ircd: Add Base58 support.
2018-01-22 00:54:51 -08:00
Jason Volk
ba1a0530ff
ircd::buffer: Fix reverse iterations.
2018-01-20 13:59:24 -08:00
Jason Volk
103ff45553
ircd::net: Translate operation_canceled into timed_out where appropos.
2018-01-20 13:59:24 -08:00
Jason Volk
617b0d0777
ircd: Ⓜ️ Rework/cleanup request/session related.
2018-01-20 13:58:24 -08:00
Jason Volk
93364b6072
ircd::server: Add content buffer deduction from single in buffer.
2018-01-20 02:30:20 -08:00
Jason Volk
a6bdb38e4d
ircd::http: Remove the URI composition from the http::request construction.
2018-01-20 02:29:03 -08:00
Jason Volk
275efb3a7b
ircd::fmt: Add this overdue conversion.
2018-01-20 02:28:03 -08:00
Jason Volk
c28912b085
ircd: Ⓜ️ Create dedicated header for m::name string namespace.
2018-01-19 06:57:38 -08:00
Jason Volk
6e2cf45571
ircd::net: Move acceptor into header; minor cleanup.
2018-01-19 06:55:48 -08:00
Jason Volk
f02c31217b
ircd::net: Add remote to hostport conversion.
2018-01-19 04:54:14 -08:00
Jason Volk
02dc5204c9
ircd: Update namespace list in include README.
2018-01-19 04:07:12 -08:00
Jason Volk
09dc4acf06
ircd: Remove legacy stringops.
2018-01-19 02:47:08 -08:00
Jason Volk
497b4ec552
ircd: Ⓜ️ Improve MXID ctor related.
2018-01-19 02:47:08 -08:00
Jason Volk
936f138a3f
ircd::fmt: Cleanup. Reduce sketchiness.
2018-01-19 02:47:08 -08:00
Jason Volk
0a6ea976a5
ircd: Split base64 from lexical.
2018-01-18 18:17:02 -08:00
Jason Volk
054c50edcc
ircd::db: Split up / reorg database/env related.
2018-01-18 17:59:22 -08:00
Jason Volk
31fd9346f6
ircd: Baptize server.h into the standard include group.
2018-01-18 06:09:02 -08:00
Jason Volk
78b77f9da8
ircd::ctx: Eliminate the shared_ptr in pool::async; minor cleanup.
2018-01-18 06:05:56 -08:00
Jason Volk
90ea730a04
ircd::json: Add recursion depth checking.
2018-01-18 06:05:56 -08:00
Jason Volk
c9b89ec6ef
ircd::db: Plan on not sending any exceptions through RocksDB...
2018-01-18 03:55:28 -08:00
Jason Volk
d436861aed
ircd::db: Update comment.
2018-01-18 03:55:28 -08:00
Jason Volk
e5a50a0b79
ircd: Use address of ::gettimeofday to resolve error in g++-7.
2018-01-17 21:38:18 -08:00
Jason Volk
2c8154dfe4
ircd::info: Add additional line of information in debug log.
2018-01-17 21:38:17 -08:00
Jason Volk
d9c6737b28
ircd: Use feature test macros here.
2018-01-17 21:38:17 -08:00
Jason Volk
408e8dfb47
configure: Add <new> header.
2018-01-17 21:38:17 -08:00
Jason Volk
ce89a705c0
ircd::db: Add remaining environment stubs.
2018-01-17 21:38:17 -08:00
Jason Volk
169f5aef84
ircd::db: Add data() participant for rocksdb::Slice.
2018-01-17 21:38:17 -08:00
Jason Volk
87f0f3bc5a
ircd::db: Add additional environment stubs for writable_file; minor cleanup.
2018-01-17 21:38:17 -08:00
Jason Volk
48c798de3f
ircd::db: Add size() participant for rocksdb::Slice.
2018-01-17 21:38:17 -08:00
Jason Volk
625dc73978
ircd::db: Skeleton stubs for basic environment.
2018-01-17 21:38:17 -08:00
Jason Volk
79447c504a
ircd::db: Reorg internal headers to directory.
2018-01-17 21:38:17 -08:00
Jason Volk
e4f6b64fec
ircd::db: Update copyrights; use doxygen comments; minor cleanup.
2018-01-17 21:38:17 -08:00
Jason Volk
9ba31f77c2
ircd::server: Various fixes; error handling; minor cleanup.
2018-01-17 21:38:17 -08:00
Jason Volk
557b521d62
ircd::info: Update info.
2018-01-17 21:38:17 -08:00
Jason Volk
ca6dc44a6c
ircd::server: Various fixes.
2018-01-17 03:33:08 -08:00
Jason Volk
6fc8de8587
ircd::ctx: Enforce semantics in mutex / shared_mutex; assertion related.
2018-01-17 03:33:08 -08:00
Jason Volk
b93b294d7b
ircd::ctx: Validate all state access in ctx::promise.
2018-01-17 03:33:08 -08:00
Jason Volk
59e921d453
ircd::ctx: Enforce semantics on ctx::list.
2018-01-17 03:33:08 -08:00
Jason Volk
5a51638db8
ircd::server: Add options to request; add http code exception option.
2018-01-17 03:33:07 -08:00
Jason Volk
7f9f970b5b
ircd::server: Improve some exception messages conveyed back to promise.
2018-01-17 01:05:31 -08:00
Jason Volk
862fb1ebcd
ircd::server: Support robust request cancellation without disrupting pipeline.
2018-01-17 00:47:37 -08:00
Jason Volk
8366c735b4
ircd::ctx: Add this non-standard finished() observer for now.
2018-01-16 22:54:08 -08:00
Jason Volk
b9fe5c69ad
ircd::server: Additional exception propagations; fail on link unavailability.
2018-01-16 04:01:26 -08:00
Jason Volk
2520afe5a6
ircd::server: Handle insufficient head buffer; preliminary tag reassign.
2018-01-16 00:55:44 -08:00
Jason Volk
ce31219b00
ircd::server: Elide saving head in tag; add content buffer-underrun discard.
2018-01-16 00:55:44 -08:00
Jason Volk
286f117ef8
ircd::server: Add idle link removal when over pool min; stubs for node decision-making.
2018-01-16 00:55:44 -08:00
Jason Volk
8536c57982
ircd::server: Minor renames; minor cleanup; improve some error handlers.
2018-01-15 20:26:27 -08:00
Jason Volk
6682f0ce80
ircd::net: On disconnect, turn an EOF ec into a success.
2018-01-15 19:46:23 -08:00
Jason Volk
8e9bae5209
ircd::server: Add stats accumulation; develop preliminary dispatch; various.
2018-01-15 19:02:26 -08:00
Jason Volk
e4b1485db0
ircd::ctx: Specify missing semantics for promise.
2018-01-15 18:00:54 -08:00
Jason Volk
59621eb266
ircd::server: Improve write stack; add close_all(); various.
2018-01-15 03:12:56 -08:00
Jason Volk
6b7399bf4a
ircd::fs: Simplify API/AIO by eliminating callback: ctx yield only for now.
2018-01-15 03:12:56 -08:00
Jason Volk
a8efc59adf
ircd::server: Split tag from request.h.
2018-01-15 03:12:56 -08:00
Jason Volk
368838d5a5
ircd::server: Add preliminary write loop; minor cleanup.
2018-01-15 03:12:56 -08:00
Jason Volk
d62afeb0a7
ircd::net: Add RFC1035 preliminary stub; minor reorg of resolver related.
2018-01-14 20:45:30 -08:00
Jason Volk
2962ecdc72
ircd: Add preliminary RFC1035 support.
2018-01-14 20:45:30 -08:00
Jason Volk
b2503ba1d0
ircd::util: Fix bswap() to not rely on data()/size() et al.
2018-01-14 20:45:30 -08:00
Jason Volk
af0c02cc10
ircd::buffer: Allow returning completed() mutable_buffer.
2018-01-14 20:45:30 -08:00
Jason Volk
314bcb3d30
ircd::net: Update read()/write() strategies.
2018-01-14 20:45:30 -08:00
Jason Volk
7b62568ff0
ircd::ctx: Replace std::deque's in ctx::mutex and ctx::shared_mutex.
2018-01-13 23:45:36 -08:00
Jason Volk
dcd36f8200
ircd::ctx: Replace the std::deque with a ctx::list for ctx::dock's queue.
2018-01-13 23:45:36 -08:00
Jason Volk
df0e59a5e0
ircd::ctx: Add custom intrinsic list structure for contexts.
2018-01-13 23:45:36 -08:00
Jason Volk
7c4659a99f
ircd::server: Develop basic infrastructure.
2018-01-13 21:17:10 -08:00
Jason Volk
15bf7f5f6d
ircd::net: Add non-blocking discard_any(socket).
2018-01-13 20:21:29 -08:00
Jason Volk
6643cad758
ircd::http: Allow default construction on response head.
2018-01-13 18:03:26 -08:00
Jason Volk
56cefcb650
ircd::server: Move into directory; various cleanup.
2018-01-13 18:03:04 -08:00
Jason Volk
c83665ca6c
ircd: Reorg client; add class members; pointer to current request; conf, etc.
2018-01-13 17:58:11 -08:00
Jason Volk
fa3afc7ad7
ircd::server: Preliminary client request pipeline framework.
2018-01-12 18:57:58 -08:00
Jason Volk
c1a3fabd5a
ircd::openssl: Add function to print subject of certificate.
2018-01-12 15:31:58 -08:00
Jason Volk
311df26156
ircd: Expose utilities for boost errors.
2018-01-12 15:04:30 -08:00
Jason Volk
458869f9ef
ircd::http: Remove response helper; add a couple fields to parse; minor cleanup.
2018-01-12 13:15:30 -08:00
Jason Volk
ed0760ef8e
ircd: Minor cleanup of rfc1459 header.
2018-01-12 13:13:37 -08:00
Jason Volk
d3be7129cf
ircd: Minor housekeeping fixes.
2018-01-12 03:22:57 -08:00
Jason Volk
4db2ac3ab7
ircd: Cleanup standard usage importations.
2018-01-12 03:00:23 -08:00
Jason Volk
d566e90402
ircd::util: Move more utils into util; minor cleanup.
2018-01-12 02:59:21 -08:00
Jason Volk
2a65c17ce3
ircd::util: Split out typography related; minor cleanup.
2018-01-11 23:36:42 -08:00
Jason Volk
239eb0e9ad
ircd::openssl: Support EC.
2018-01-11 22:29:00 -08:00
Jason Volk
8c869e3ee5
ircd::openssl: Convenience to print information about an X509 from a PEM.
2018-01-11 22:29:00 -08:00
Jason Volk
04fa556c58
ircd: Reflow the request handlers to give the resource more control over content.
2018-01-11 22:02:34 -08:00
Jason Volk
1f7ed51f3b
ircd::http: Remove request parser helper from here.
2018-01-11 22:02:34 -08:00
Jason Volk
7aa1dedd86
ircd::http: Add 413 PAYLOAD_TOO_LARGE.
2018-01-11 22:02:34 -08:00
Jason Volk
a135227370
ircd::net: Tighten assumptions on cancel().
2018-01-11 22:02:33 -08:00
Jason Volk
725f069621
ircd::net: Add discard_all() convenience.
2018-01-11 22:02:33 -08:00
Jason Volk
37b98b5a82
ircd::openssl: Add flags to the X509 printer.
2018-01-11 22:02:33 -08:00
Jason Volk
29b135de0a
ircd::ctx: Export critical_assertion down to ircd::.
2018-01-11 18:37:08 -08:00
Jason Volk
b0acc95559
ircd::util: Update syscall() comments; minor cleanup.
2018-01-11 03:21:19 -08:00
Jason Volk
c698101d6d
ircd::fs: Initial asynchronous file IO support for Linux platforms.
2018-01-10 22:09:05 -08:00
Jason Volk
c4ea3cc3e3
ircd: Utils for std::system_error related; minor cleanup.
2018-01-10 21:43:49 -08:00
Jason Volk
40bead52b7
ircd: Move and breakup util.h into util/; move fs.h into fs/.
2018-01-10 21:34:21 -08:00
Jason Volk
76e16e4d80
ircd::net: Improve remote construction; hostport/ipport related.
2018-01-10 01:20:16 -08:00
Jason Volk
8a43a37733
ircd: Import std::nothrow_t.
2018-01-10 00:57:43 -08:00
Jason Volk
84bbeecc83
ircd: Move sys/resource / coredump related out of libircd.
2018-01-10 00:56:33 -08:00
Jason Volk
8acdf52443
ircd::fs: Use direct kernel interface rather than glibc aio nonsense.
2018-01-10 00:55:08 -08:00
Jason Volk
6a552e349e
ircd: Preliminary AIO experimental stub on linux platforms.
2018-01-09 16:49:53 -08:00
Jason Volk
78c2af094e
ircd::util: Extend return value in syscall() suite.
2018-01-09 16:24:42 -08:00
Jason Volk
c03bb7e4f2
ircd: Various fixes and elaborations to client/net.
2018-01-08 21:49:00 -08:00
Jason Volk
89c481d1f8
ircd::net: Improve wait related; fix issues with bad behavior.
2018-01-08 18:33:05 -08:00
Jason Volk
65a81301a7
ircd: Add fwd decl of boost::system::errc namespace.
2018-01-08 13:42:54 -08:00
Jason Volk
9e086e9acd
ircd: Add ircd::assertion and exception suite for assertive errors.
2018-01-08 13:42:54 -08:00
Jason Volk
c8aaeb491f
ircd::net: Develop interface for async_wait / waiting on socket.
2018-01-08 13:25:13 -08:00
Jason Volk
17a1982c24
ircd::net: Add read_one() interface.
2018-01-08 12:41:22 -08:00
Jason Volk
4fa7ad9286
ircd::ctx: Add use_future_t; minor cleanup.
2018-01-08 12:40:09 -08:00
Jason Volk
0cafcd7b84
ircd::ctx: Update async() with moveable promise.
2018-01-08 12:39:05 -08:00
Jason Volk
f8127957c3
ircd: Various error handling fixes/cleanup.
2018-01-08 03:09:00 -08:00
Jason Volk
a9bd77a67d
ircd::net: Add an internal non-blocking read call; minor comments.
2018-01-08 03:08:59 -08:00
Jason Volk
a1f0075d62
ircd::net: Improve the timeout callback related.
2018-01-08 03:08:59 -08:00
Jason Volk
9bb927712e
ircd::net: Kill implicit conversion.
2018-01-08 03:08:59 -08:00
Jason Volk
54d6cbc8c1
ircd: Fwd declare boost::system::error_code; minor cleanup.
2018-01-08 03:08:59 -08:00
Jason Volk
273e22c50e
ircd::net: Add common_name(opts) consistent function to get proper CN.
2018-01-08 03:08:59 -08:00
Jason Volk
b0427fbb91
ircd::net: ipport string contructions.
2018-01-08 03:08:59 -08:00
Jason Volk
499e322e83
ircd::net: Fix hostport split default.
2018-01-08 03:08:59 -08:00
Jason Volk
bad0037d78
ircd::net: Copy around open_opts for now to prevent any lifetime complications.
2018-01-08 03:08:59 -08:00
Jason Volk
5615ef2470
ircd::net: Split up remote.h
2018-01-07 14:31:35 -08:00
Jason Volk
9dbae8b27a
ircd::net: Rename sockopts to sock_opts.
2018-01-07 02:02:41 -08:00
Jason Volk
4561bb21a0
ircd: Various fixes to net related call points.
2018-01-06 23:27:02 -08:00
Jason Volk
ac3802c0f9
ircd::net: Refine network subsystem; break up interfaces; various.
2018-01-06 23:27:01 -08:00
Jason Volk
7e0c01708a
ircd::net: Refine socket interfaces; connection options structure.
2018-01-05 19:19:03 -08:00
Jason Volk
0e1b605991
ircd::openssl: Add convenience to copy out certificate CN.
2018-01-05 16:59:26 -08:00
Jason Volk
72317c07c3
ircd::net: Shlock certificate common-name verification into the net stack.
2018-01-04 23:17:11 -08:00
Jason Volk
b878fd6ed0
ircd::openssl: Add X509_STORE_CTX suite.
2018-01-04 22:00:10 -08:00
Jason Volk
35ad641251
ircd::openssl: Minor rename function.
2018-01-04 21:59:39 -08:00
Jason Volk
6aec038479
ircd::net: Additional socket option accoutrements.
2018-01-04 19:25:46 -08:00
Jason Volk
ebad745a3f
ircd::net: Tentative future-based socket resolve->connect->handshake.
2018-01-04 19:25:40 -08:00
Jason Volk
fcb2660f0a
ircd::net: Elaborate low-level socket interface.
2018-01-04 17:44:35 -08:00
Jason Volk
dd137d50e3
ircd::net: Move resolution constructor from ipport to remote.
2018-01-04 17:44:35 -08:00
Jason Volk
8ccdd8568f
doc: Move conventions to STYLE; ircd: Add additional README related.
2018-01-04 17:44:34 -08:00
Jason Volk
1898cb307d
ircd::net: Improve resolver interface.
2018-01-04 17:44:34 -08:00
Jason Volk
6f81d0c643
ircd::net: Minor simplify API.
2018-01-04 17:44:34 -08:00
Jason Volk
2bca92d85d
ircd: We don't need this here; RocksDB has interface.
2018-01-04 17:44:34 -08:00
Jason Volk
58c26b616c
ircd: Update README note on assert().
2018-01-04 17:44:34 -08:00
Jason Volk
26e04ecda4
ircd: buffer/net: Minor cleanup.
2018-01-04 17:44:34 -08:00
Jason Volk
864249febb
ircd: Update README with assert() related.
2018-01-04 17:44:34 -08:00
Jason Volk
acc73957f8
ircd::net: Socket interface package.
2018-01-04 17:44:34 -08:00
Jason Volk
9ad618a329
ircd::net: Move some string() / various cleanup.
2018-01-04 17:44:34 -08:00
Jason Volk
126df4b54a
ircd::net: Split resolve into file.
2017-12-29 22:44:15 -07:00
Jason Volk
35038f3d63
ircd::net: Reverse DNS resolution; various cleanup/related.
2017-12-29 22:38:00 -07:00
Jason Volk
8ec7c988a3
ircd::net: Add mass-resolution function.
2017-12-29 21:20:16 -07:00
Jason Volk
0eb16673ee
ircd::net: Add resolve interface; Update remote interface.
2017-12-29 19:33:04 -07:00
Jason Volk
baa35a368a
ircd: Update include/ircd README with conventions section.
2017-12-29 15:53:49 -07:00
Jason Volk
9871332957
fixup! Pin boost to 1.66.0.
2017-12-29 15:53:39 -07:00
Jason Volk
c77ee478e5
ircd::ctx: Add custom refcnt to allow copyable promise.
2017-12-29 15:32:08 -07:00
Jason Volk
46482e61f2
ircd::net: Consistent nesting for null_remote to remote::null.
2017-12-28 15:26:19 -07:00
Jason Volk
bf9db52428
ircd::net: Include a remote::resolved() indicator.
2017-12-28 15:25:57 -07:00
Jason Volk
1bc4b46fbd
fixup! configure.ac: Add c++17 header <optional>.
2017-12-28 14:02:24 -07:00
Jason Volk
59bd14e862
ircd: Ⓜ️ Update README.
2017-12-25 21:02:36 -07:00
Jason Volk
3d1a173358
ircd::net: Add extern null_remote.
2017-12-24 21:54:59 -07:00
Jason Volk
e63632c78f
ircd::buffer: Ensure default constructions available in all derivatives.
2017-12-24 21:54:59 -07:00
Jason Volk
36142718f6
ircd::http: Massage additional header related into response interface/stack.
2017-12-24 21:54:59 -07:00
Jason Volk
c20a2927d0
ircd: Minor reorg client/resource relationship.
2017-12-24 21:54:59 -07:00
Jason Volk
ae8a8e736a
ircd: Comment on ctype(string_view).
2017-12-24 21:54:59 -07:00
Jason Volk
8604819bd5
ircd::buffer: Remove the terminated string copy from this context.
2017-12-24 21:54:59 -07:00
Jason Volk
04ad57965e
ircd::ctx: Fix promise move constructions etc.
2017-12-24 21:54:59 -07:00
Jason Volk
abcf2c2c14
ircd::buffer: Add convenience completed() conversion to stream_buffer.
2017-12-24 21:54:59 -07:00
Jason Volk
9f75f80c21
ircd::ctx: Consolidate release sequence in mutex/shared_mutex.
2017-12-24 21:54:59 -07:00
Jason Volk
df38f2c8fa
ircd::util: Add reentrancy assertion utility.
2017-12-24 21:54:59 -07:00
Jason Volk
ef6152c0ef
ircd: Move openssl.h way down here so it can use json.
2017-12-24 21:54:59 -07:00
Jason Volk
51ebd9c346
ircd::http: Update HTTP send-sides to write to stream_buffer.
2017-12-24 21:54:59 -07:00
Jason Volk
56f4d156af
ircd::buffer: Attempt to tighten these buffers templates by specifying buffer.
2017-12-24 21:54:59 -07:00
Jason Volk
18ef10643b
ircd::util: Narrow the coverage of the size() -> sizeof(T) template.
2017-12-24 21:54:59 -07:00
Jason Volk
7d863091bb
ircd::buffer: Add the stream_buffer.
2017-12-24 21:54:58 -07:00
Jason Volk
40d6b6055b
ircd::http: Remove the write_closure from the request parse object.
2017-12-24 21:54:58 -07:00
Jason Volk
f37311a3f1
ircd::util: Add an endian bswap; add more data()/size() participants.
2017-12-24 21:54:58 -07:00
Jason Volk
8d2e098d16
ircd::buffer: Proper exports of templates to compete in ircd::.
2017-12-24 21:54:58 -07:00
Jason Volk
6b57387cc2
ircd::openssl: Add several suites of utils for OpenSSL/X.509/RSA/BIGNUM et al.
2017-12-24 21:54:58 -07:00
Jason Volk
bdf696b91f
ircd::fs: Add these string_view overloads.
...
This is to not force string conversions in callerspace. Right now everything
gets converted to std::string internally but eventually string_view may be
preferable. Either way the overload finds the best behavior for now.
2017-12-24 20:25:40 -07:00
Jason Volk
27721860c2
ircd::fs: Add a file sizing suite.
2017-12-24 20:25:40 -07:00
Jason Volk
fbf07913f7
ircd::ctx: Minor style/format fixes.
2017-12-24 20:25:40 -07:00
Jason Volk
82aa59c5ec
ircd::buffer: Reverse convenience utils.
2017-12-24 20:25:40 -07:00
Jason Volk
91ee213c86
ircd::ctx: Add preliminary README.
2017-12-24 20:25:40 -07:00
Jason Volk
e511818e57
ircd: Add some abstract (non json::) tuple related.
2017-12-24 19:26:05 -07:00
Jason Volk
e7036fa79f
ircd::util: Add is_specialization_of template utility.
2017-12-13 14:39:41 -07:00
Jason Volk
69d209dad1
ircd: Remove unnecessary fwd decls.
2017-12-13 14:39:41 -07:00
Jason Volk
ada2b4ad17
ircd::http: Minor cleanup/reorg; use c_str() assertion in places.
2017-12-12 14:59:41 -07:00
Jason Volk
80931e4e86
ircd: Ⓜ️ Split m.cc; distribute inits; modules: Checkpoint matrix.
2017-12-12 14:59:40 -07:00
Jason Volk
f931308850
ircd/modules: Update resource / opts construction arguments.
2017-12-12 14:59:40 -07:00
Jason Volk
cea114d41d
ircd::json: Use the defined() rather than default ctor / cleanup.
2017-12-12 14:59:40 -07:00
Jason Volk
ff76d3e061
ircd::json: Add key filtering for tuple enumerations.
2017-12-12 14:59:40 -07:00
Jason Volk
0565301560
ircd: Ⓜ️ Remove the is_state mistake.
2017-12-12 14:59:40 -07:00
Jason Volk
2692a22f62
ircd: Ⓜ️ Add an access denied general exception.
2017-12-12 14:59:40 -07:00
Jason Volk
6b287f958c
ircd: Add these participating size() and data() overloads for C arrays.
2017-12-12 14:59:40 -07:00
Jason Volk
03dea97bb2
ircd: Add preliminary RFC3986 grammar; move urlencoding there.
2017-12-12 14:59:40 -07:00
Jason Volk
e0f64a7ca2
ircd: Ⓜ️ Transitional improvements to mxid grammars & tools.
2017-12-12 14:59:40 -07:00
Jason Volk
1ddf0f546a
ircd: Update various comments / documentation.
2017-12-12 14:59:40 -07:00
Jason Volk
dff9be2df3
ircd: Add a c_str() to string_view which asserts for null termination.
2017-12-12 14:59:40 -07:00
Jason Volk
49b32de864
ircd: Ⓜ️ Update README.
2017-12-12 14:59:40 -07:00
Jason Volk
f3b94d31f5
ircd: Split off tuple.h from util.h
2017-12-12 14:59:39 -07:00
Jason Volk
47a2cddbea
Add std::bitset.
2017-12-05 13:42:21 -08:00
Jason Volk
94b5bc75d3
ircd::db: Update README; remove old cruft.
2017-12-03 13:34:42 -08:00
Jason Volk
6027a68105
ircd: Ⓜ️ Formatting/various fixes to README.
2017-12-02 13:14:30 -08:00
Jason Volk
0bd2f896d0
ircd::mods: Add remangling to module system (pre dll::smart_lib); cleanup.
2017-12-02 13:07:55 -08:00
Jason Volk
1a1a50f5f3
Checkpoint reorganization.
2017-11-30 12:30:19 -08:00
Jason Volk
b2a6d4ebab
ircd: Add #ifdef around experimental string_view for non-c++17.
2017-11-30 11:27:00 -08:00
Jason Volk
3a057c80a4
ircd: Add preliminary skeleton for cuckoo suite.
2017-11-30 11:23:48 -08:00
Jason Volk
5d53cdab5e
ircd: Ⓜ️ Checkpoint matrix.
2017-11-30 11:23:47 -08:00
Jason Volk
96499c0e2a
ircd: Ⓜ️ Improve room interface; Improve bootstrap/init related.
2017-11-30 11:23:47 -08:00