Jason Volk
6f2eeaec67
ircd::db: Full dressing on the environment.
2018-08-23 23:08:41 -07:00
Jason Volk
f666728d37
ircd::fs: Add assertion; minor.
2018-08-23 23:08:41 -07:00
Jason Volk
e3827124e9
ircd::fs: Use lseek() for size(fd) overload.
2018-08-23 23:08:22 -07:00
Jason Volk
79d4c15ff5
ircd::fs: Deinline and improve append() related.
2018-08-23 23:08:22 -07:00
Jason Volk
55b2b128c6
ircd::fs: Add an fallocate wrapper for now.
2018-08-23 21:24:35 -07:00
Jason Volk
0ce45b50d6
ircd::fs: Add truncate() suite.
2018-08-23 21:24:19 -07:00
Jason Volk
888862ec56
ircd::fs: Deinline and improve overwrite() suite.
2018-08-23 21:23:42 -07:00
Jason Volk
ec0670262e
ircd::db: Give some env callbacks handlers.
2018-08-23 18:57:24 -07:00
Jason Volk
bbcddbcf5b
ircd::db: Use our fs::size() for file sizing env callback.
2018-08-23 05:37:32 -07:00
Jason Volk
29d4ec71d5
ircd::db: Update env exception handlers to propagate to rocksdb.
2018-08-23 04:20:16 -07:00
Jason Volk
f630c28439
ircd::db: Add error_to_status conversion for rocksdb::Status.
2018-08-23 04:19:32 -07:00
Jason Volk
585f6c97c3
ircd::db: Minor cleanup.
2018-08-23 04:16:49 -07:00
Jason Volk
1a1002c96d
ircd::fs: Propagate error_code through exception system; improve stack.
2018-08-23 03:31:36 -07:00
Jason Volk
ed6dc56d35
ircd: Add make_error_code(std::system_error) for completeness.
2018-08-23 03:23:59 -07:00
Jason Volk
671170afb4
ircd::db: Use an ircd::assertive so failure happens in optimized mode here.
2018-08-23 02:19:28 -07:00
Jason Volk
824e3305a4
ircd::db: Implement WaitForJoin() to wait on all ctx pool joins.
2018-08-23 02:16:44 -07:00
Jason Volk
d01430e64a
ircd::db: Replace default sleep() callback with ctx::sleep().
2018-08-23 02:14:50 -07:00
Jason Volk
5239e49f4f
ircd::db: Improve opts related for random_access_file; minor cleanup.
2018-08-23 01:54:58 -07:00
Jason Volk
7698759d04
ircd::db: Integrate env::sequential_file with AIO.
2018-08-23 01:54:18 -07:00
Jason Volk
1748ff843b
ircd::info: Sample system page size from sysconf().
2018-08-23 01:09:11 -07:00
Jason Volk
cbd149b650
ircd: Ⓜ️ :room::origins: Add a bool for_each() to eventually replace test().
2018-08-22 17:42:35 -07:00
Jason Volk
f48ec4a6a4
ircd::resource: Minor cleanup.
2018-08-22 15:17:55 -07:00
Jason Volk
2b4a727671
ircd::client: Client pool conf item notify callback to effect update.
2018-08-22 14:37:52 -07:00
Jason Volk
b753637385
ircd::db: request pool conf item set callback.
2018-08-22 14:37:52 -07:00
Jason Volk
6cdb1bba63
ircd::ctx: Add pool::set convenience.
2018-08-22 14:37:40 -07:00
Jason Volk
ea172a3378
ircd::conf: Add set callback notification.
2018-08-22 14:02:09 -07:00
Jason Volk
63aa8e310e
ircd::conf: Restructure virtuals to direct all entry through parent.
2018-08-22 13:57:03 -07:00
Jason Volk
b964f9520f
ircd::db: max_open_files must NOT be 0 or files are open/close too often.
2018-08-22 13:13:03 -07:00
Jason Volk
de973740e3
ircd::db: Additional db env debug log.
2018-08-22 12:56:17 -07:00
Jason Volk
23d0c7384d
ircd::db: Catch everything here because there's nowhere else to go.
2018-08-21 08:49:11 -07:00
Jason Volk
a4e1162ae2
ircd: Ⓜ️ :room: Pass db get options to the iterations.
2018-08-21 08:48:42 -07:00
Jason Volk
3a4817354e
ircd: Ⓜ️ Add room state types iteration.
2018-08-21 08:37:44 -07:00
Jason Volk
7fb2a825a1
ircd::ctx: Minor cleanup.
2018-08-21 08:10:37 -07:00
Jason Volk
57ea362daa
ircd::ctx: Fix stale comment.
2018-08-21 04:57:36 -07:00
Jason Volk
b3ff44d0fb
ircd::db: Fix the cache insert misapprehensions.
2018-08-21 00:49:40 -07:00
Jason Volk
6d3eb3ae85
fixup! ircd::db: Fix cache iteration interpretation.
2018-08-21 00:42:13 -07:00
Jason Volk
ca0dcd36e4
ircd::db: Supply fs::uuid in this env callback.
2018-08-21 00:21:06 -07:00
Jason Volk
1f8a756f23
ircd::db: Comment / minor cleanup.
2018-08-21 00:20:54 -07:00
Jason Volk
0f021e09d4
ircd::db: Fix cache iteration interpretation.
2018-08-21 00:20:30 -07:00
Jason Volk
11f266aa37
ircd::db: Fix exclusion and lock option required for cache iteration.
2018-08-21 00:19:53 -07:00
Jason Volk
35a0f1ea51
ircd::aio: Various cleanup.
2018-08-20 22:57:33 -07:00
Jason Volk
32285d5dac
ircd::fs: Add a uuid-ish util for an fd.
2018-08-20 22:44:39 -07:00
Jason Volk
99ed82f52d
ircd: Ⓜ️ Remove the listeners first on deinit.
2018-08-19 20:19:43 -07:00
Jason Volk
85d4a4f5ed
ircd::ctx: Further tweak interruption masking semantics.
2018-08-19 20:11:41 -07:00
Jason Volk
d4c51a2d45
ircd::db: Disable interruption for rocksdb entry surface.
2018-08-19 20:11:41 -07:00
Jason Volk
ff66bc441c
ircd::ctx: Stack uninterruptible's gracefully; assume context.
2018-08-19 20:11:41 -07:00
Jason Volk
c7080bf144
ircd::db: Disable interruption for these env surfaces.
2018-08-19 20:11:40 -07:00
Jason Volk
d4b98e04e9
ircd::db: Minor cleanup.
2018-08-19 18:35:42 -07:00
Jason Volk
10434c96c5
ircd::ctx: Consistent use of interruption.
2018-08-19 18:29:46 -07:00
Jason Volk
38c5679b5a
ircd::ctx: Use terminate() rather than interrupt() during ~context().
2018-08-19 18:18:15 -07:00
Jason Volk
ee9343a68f
ircd::client: Improve main exception propagation for termination/shutdown related.
2018-08-19 18:15:33 -07:00
Jason Volk
1492770f6b
ircd::ctx: Various minor fixes.
2018-08-19 18:09:04 -07:00
Jason Volk
ccf5b79e6a
ircd::ctx: Allow this_ctx::interruption toggle to no-op if no ctx.
2018-08-19 17:43:25 -07:00
Jason Volk
b796668a77
ircd::ctx: Minor movement/cleanup.
2018-08-19 16:21:33 -07:00
Jason Volk
f4a4674daa
ircd::ctx::pool: Add a terminate(); cleanup del().
2018-08-19 15:55:35 -07:00
Jason Volk
0dd075ab78
ircd::db: Checkin some options related.
2018-08-19 01:16:49 -07:00
Jason Volk
b8936261b5
ircd::db: Add some exception handlers on these envs.
2018-08-19 01:14:54 -07:00
Jason Volk
b5c2270e8c
ircd::fs: Add prefetch skeleton linkage.
2018-08-18 23:08:55 -07:00
Jason Volk
adee757303
ircd::fs: Add fsync()/fdsync() w/ AIO.
2018-08-18 23:02:34 -07:00
Jason Volk
6e0f53c00d
ircd::aio: Minor cleanup / reorg interface definition location.
2018-08-18 22:52:08 -07:00
Jason Volk
e620965d4c
ircd::db: Make request pool size a conf item.
2018-08-18 22:10:39 -07:00
Jason Volk
ff4e20d948
ircd::db: Minor commentary on interruption.
2018-08-18 21:02:42 -07:00
Jason Volk
c2c68e386d
ircd::db: Fix these missing retvals.
2018-08-18 20:59:42 -07:00
Jason Volk
9165c71afd
ircd::db: Concurrent row seek.
2018-08-18 20:59:28 -07:00
Jason Volk
89e920fdd4
ircd::db: Add column cache check util.
2018-08-18 20:40:23 -07:00
Jason Volk
65b18ae7a6
ircd::db: Concurrent row requests.
2018-08-18 19:30:25 -07:00
Jason Volk
1b7e3af966
ircd::db: Simplify internal seek stack; minor cleanup.
2018-08-18 18:41:22 -07:00
Jason Volk
e2c17d2595
ircd::db: Add some arbitrary sanity checks on port structures.
2018-08-18 18:20:38 -07:00
Jason Volk
8537cca439
ircd::db: Improvements to cache interface.
2018-08-18 17:59:31 -07:00
Jason Volk
141f4e1c0a
ircd::ctx: Move this branch condition.
2018-08-17 21:31:54 -07:00
Jason Volk
9cee6a40c9
construct: Interruption point after command.
2018-08-17 14:26:44 -07:00
Jason Volk
bf429e0c9e
ircd::db: Mask interruption for compaction operations.
2018-08-17 14:13:27 -07:00
Jason Volk
eca3a5b85b
ircd::db: No need for adopt_lock here.
2018-08-17 13:38:32 -07:00
Jason Volk
fe69a41255
ircd::ctx::pool: Fix dtor; use terminate() rather than interrupt().
2018-08-17 12:51:49 -07:00
Jason Volk
ff050ae7b0
ircd: Simplify runlevels on shutdown.
2018-08-17 12:51:49 -07:00
Jason Volk
e8e8d282b2
ircd: Minor cleanup.
2018-08-17 12:51:49 -07:00
Jason Volk
e1c5e55737
ircd: Pass hostname from init().
2018-08-17 12:51:49 -07:00
Jason Volk
61fade178e
ircd::m/modules/key: Various reorg / modularization.
2018-08-17 12:51:49 -07:00
Jason Volk
d7075d73e5
ircd::fs: Additional make_path() overload.
2018-08-17 12:51:49 -07:00
Jason Volk
4fc728540e
ircd::exception: Minor cleanup.
2018-08-17 12:51:49 -07:00
Jason Volk
682c4651d2
eircd::aio: Update some assumptions; minor cleanup.
2018-08-17 12:51:49 -07:00
Jason Volk
850fd0238a
ircd::db: Remove offload shenanigans.
2018-08-17 12:51:49 -07:00
Jason Volk
31ff4f68cb
ircd::db: Plug env::random_access_file into AIO.
2018-08-17 12:51:48 -07:00
Jason Volk
6db0659c06
ircd::db: Enable port; minimal context pool state.
2018-08-17 12:51:48 -07:00
Jason Volk
26a856acb8
ircd::db: Appropriately case these reflections.
2018-08-17 12:51:48 -07:00
Jason Volk
928e40ada0
ircd::db: Minor cleanup; add additional env log msg.
2018-08-17 12:51:48 -07:00
Jason Volk
570f715c87
ircd::net: Improve listener to-string related.
2018-08-17 12:51:48 -07:00
Jason Volk
4199d5026c
ircd: Factor out the ircd::BUFSIZE; remove stale ircd::config extern.
2018-08-17 12:51:48 -07:00
Jason Volk
3f064ed172
ircd::log: Eliminate stack buffers; simplify w/ error directory to stderr.
2018-08-17 12:51:48 -07:00
Jason Volk
9a08305bc4
ircd: Ⓜ️ Partial listen init / init related.
2018-08-14 20:09:20 -07:00
Jason Volk
c442954e12
ircd: Ⓜ️ Various init reorg related.
2018-08-14 16:47:42 -07:00
Jason Volk
19b4e58944
ircd: Ⓜ️ Rename modules map to imports.
2018-08-14 15:51:57 -07:00
Jason Volk
c00d27d7ea
ircd::conf: Simplify conf related; add \brief blerb.
2018-08-13 14:51:06 -07:00
Jason Volk
d1944c6006
construct/ircd: Use hostname-based init from command line params.
2018-08-13 14:36:50 -07:00
Jason Volk
951cd4ad63
ircd::fs: Update/fix syspaths related.
2018-08-12 16:46:52 -07:00
Jason Volk
32b6e018c9
ircd::fs: Show path in rethrown errmsg.
2018-08-12 16:42:50 -07:00
Jason Volk
9ae4e225d3
ircd::fs: Automatic -p behavior for mkdir().
2018-08-12 16:38:50 -07:00
Jason Volk
ccefb9d354
ircd::log: Remove old cruft.
2018-08-12 16:30:51 -07:00
Jason Volk
8fb580aaf5
configure/ircd: Overhaul install system directory related.
2018-08-12 16:30:51 -07:00
Jason Volk
a8a2015ec9
ircd: Cleanup runlevel change routine.
2018-08-11 00:42:09 -07:00
Jason Volk
f51fde206a
ircd: Ⓜ️ Remove unused event_id to optimize query.
2018-08-11 00:42:09 -07:00
Jason Volk
2d04d51cdc
ircd: Prevent nulls in the output buffer of u2a().
2018-08-11 00:42:09 -07:00
Jason Volk
1d11659c43
ircd::js: Remove xdr.
2018-08-11 00:42:08 -07:00
Jason Volk
9aedac4461
ircd: Move preliminary cbor into directory.
2018-08-11 00:42:08 -07:00
Jason Volk
6dddf9135d
ircd: Ⓜ️ :dbs: Minor simplify.
2018-07-22 12:05:24 -07:00
Jason Volk
e5834065ed
ircd::net: Unionize datagram for bidirections.
2018-07-07 22:10:29 -07:00
Jason Volk
fe0bd19763
ircd::net: Add udp listener.
2018-07-07 21:33:23 -07:00
Jason Volk
1c6a4bc8d1
ircd::net: Ensure flag happens before cancel.
2018-07-06 18:40:58 -07:00
Jason Volk
dd037988f3
ircd::m/modules: Update various client listeners w/ callback.
2018-07-06 18:40:15 -07:00
Jason Volk
02fcdc8635
ircd::net::listener: Add callback-action for proper abstraction.
2018-07-06 18:38:08 -07:00
Jason Volk
a98bd357df
construct/ircd: Add -pitrecdb option to allow point-in-time recovery.
2018-07-06 17:09:33 -07:00
Jason Volk
712b343017
ircd: Remove internal main_exit callback.
2018-07-06 00:44:24 -07:00
Jason Volk
e2edd13a33
ircd: Remove ircd::strand related.
2018-07-06 00:44:24 -07:00
Jason Volk
0f0ed1ba08
ircd: Fix width of string to not assume and case for implicit null.
2018-07-05 19:05:00 -07:00
Jason Volk
7de1c38d0e
ircd: Use std snprintf() in u2a().
2018-07-05 18:57:58 -07:00
Jason Volk
e7ede89884
ircd::js: Use fixed-width integer buildId like version number.
2018-07-05 16:57:47 -07:00
Jason Volk
8fcd6379a4
construct/ircd: Add -nojs option to not init js engine.
2018-07-05 16:57:47 -07:00
Jason Volk
b80468d6c8
ircd::js: Checkpoint corrections to XDR layout.
2018-07-04 21:44:45 -07:00
Jason Volk
3ba3ef46af
ircd::db: Fix SST file creation on open; disable sst mgr to remove extra thread spawn.
2018-07-04 16:47:11 -07:00
Jason Volk
da04032cc4
ircd::js: Checkpoint corrections to XDR; esr52.
2018-07-03 18:50:05 -07:00
Jason Volk
9a579c8dcb
ircd::js: Support JS::SetBuildIdOp context callback.
2018-07-03 16:49:08 -07:00
Jason Volk
cc85c1cd35
ircd::js: Fix the JS_EncodeScript -> JS::EncodeScript for latest esr52.
2018-07-03 16:32:15 -07:00
Jason Volk
6ddbe2b25d
ircd::info: Add js::version() to appropriate logged info string.
2018-07-03 15:48:13 -07:00
Jason Volk
ae5678269c
ircd::js: Fixes for js bitrot / maintenance cleanup.
2018-07-03 15:44:44 -07:00
Jason Volk
b6f7a64c4c
ircd::cbor: checkpoint; item header size and value counter gauge.
2018-07-02 01:31:59 -07:00
Jason Volk
c26255290b
ircd: Ⓜ️ :room::members: Allow empty membership string to count() all members.
2018-07-01 14:49:24 -07:00
Jason Volk
a3db6f2a95
ircd: Replace iostream include with iosfwd to elide inits in every unit.
2018-07-01 14:29:52 -07:00
Jason Volk
d3f8a84ca8
ircd::net::listener: Add default generated paths for some ssl options.
2018-07-01 02:16:00 -07:00
Jason Volk
e03f50c427
ircd: Clarify type of ircd::strand instance pointer.
2018-07-01 02:14:34 -07:00
Jason Volk
7cafbc972a
ircd::net: Listener defaults to all interfaces.
2018-07-01 02:13:29 -07:00
Jason Volk
01d9ce038c
ircd: Preliminary CBOR namespace and unit.
2018-07-01 02:09:35 -07:00
Jason Volk
08d45dc838
ircd: Ⓜ️ Generalize room::lonly into more efficient room::origins::only(origin).
2018-06-30 21:57:09 -07:00
Jason Volk
8038faf8e0
ircd: Ⓜ️ Add conditionals to bootstrap() operations.
2018-06-30 18:49:38 -07:00
Jason Volk
85d1c924a5
ircd: Ⓜ️ Add function to query if room only has our origin joined.
2018-06-30 18:49:03 -07:00
Jason Volk
7d4eb46a1a
ircd: Ⓜ️ Interface/linkage to generate room account_data type string.
2018-06-19 21:47:26 -06:00
Jason Volk
f8763af509
ircd: Ⓜ️ Add user interface w/ linkage for room account data.
2018-06-19 21:33:03 -06:00
Jason Volk
c136e82a57
ircd: Ⓜ️ Temporary fixes for stale static initializations.
2018-06-16 23:00:47 -06:00
Jason Volk
c5d11b7b07
ircd: Ⓜ️ Defaults for some initial config related.
2018-06-16 20:45:28 -06:00
Jason Volk
9601dac9cc
ircd: Consolidate stdinc.h and ircd.h and fix precompiled headers.
2018-06-15 16:13:18 -06:00
Jason Volk
383f97cdb7
ircd: Promote info init before conf init; minor cleanup.
2018-06-15 15:24:49 -06:00
Jason Volk
fefe965149
ircd: Ⓜ️ :init: Improve some conf related defaults; ctor error log cleanup.
2018-06-15 15:22:27 -06:00
Jason Volk
4c39840352
ircd: Ⓜ️ :state: Checkpoint relaxed assumptions about creating new tree roots.
2018-06-12 01:00:15 -07:00
Jason Volk
e889c54bc3
ircd: Ⓜ️ :dbs: Checkpoint changes to default cache sizes (un-conf'ed) for now.
2018-06-12 01:00:15 -07:00
Jason Volk
d912400f32
ircd: Ⓜ️ :vm: Move vm submodules ctor/dtor into libircd for recursive issues for now.
2018-06-12 01:00:15 -07:00
Jason Volk
5ab8b9bdae
ircd::db: Add init warning for no compression; minor reorg inits.
2018-06-12 01:00:15 -07:00
Jason Volk
b4e7bb062c
modules: Rename root to webroot.
2018-06-12 01:00:14 -07:00
Jason Volk
912562f469
ircd: Ⓜ️ :vm: Checkpoint phase-as-class skeleton.
2018-06-12 01:00:14 -07:00
Jason Volk
6236cf230f
ircd::util: Better to return the input symbol rather than throwing not_mangled.
2018-06-11 00:26:20 -07:00
Jason Volk
0da4dec13c
ircd: Ⓜ️ :event: Add topological before; improve prev iteration closure; reorg some util.
2018-06-09 14:37:31 -07:00
Jason Volk
acddfa77f8
ircd::allocator: Add mallinfo to string support w/ console command.
2018-06-09 14:37:31 -07:00
Jason Volk
feb1aa5d2f
ircd::info: Add glibc related to info.
2018-06-09 13:42:35 -07:00
Jason Volk
960553f279
ircd::db: Checkpoint skeleton state structure for env.
2018-06-09 13:40:21 -07:00
Jason Volk
55a8391e48
ircd::allocator: Add trim() if available.
2018-06-09 13:34:01 -07:00
Jason Volk
de07d32afd
ircd/modules: Update various conditional json::iov nodes.
2018-06-05 11:19:40 -07:00
Jason Volk
5146ddf67e
ircd::json: Reduce iov interface; make conditional nodes evaluate conditionally.
2018-06-05 11:16:52 -07:00
Jason Volk
1a12b7331d
ircd::json: Add conditioned-closure iov::add_if.
2018-06-04 23:17:29 -07:00
Jason Volk
7c841e6bdb
configure/Makefile: Add formal support for libsnappy.
2018-06-04 14:48:04 -07:00
Jason Volk
6d0161d791
ircd/Makefile: Add missing LZ4 related from configure.
2018-06-04 14:43:20 -07:00
Jason Volk
f2acc304c5
ircd: Ⓜ️ :room: Add power levels convenience interface (query side).
2018-06-04 14:23:39 -07:00
Jason Volk
2d7b011bba
ircd: Ⓜ️ :v1: Add frontfill request.
2018-06-03 19:17:03 -07:00
Jason Volk
50835ce7bd
ircd: Ⓜ️ :room::messages: Adhere to room.event_id in ctor if given.
2018-06-03 14:50:42 -07:00
Jason Volk
c58e60c122
modules/vm: Move vm::log out of module back to libircd.
2018-06-03 09:58:45 -07:00
Jason Volk
57bfe311c6
ircd::fs: Add experimental stdin::tty support.
2018-06-03 09:49:00 -07:00
Jason Volk
2b654d13c5
configure: Reorg various third-party sections; add lz4 support.
2018-06-03 08:35:44 -07:00
Jason Volk
a24d0e387e
ircd: Ⓜ️ :room::messages: Ret false rather than throw for seek(event_id) not_found.
2018-06-03 07:44:37 -07:00
Jason Volk
7743198601
ircd: Ⓜ️ :room: Optimize the room::membership query fix.
2018-06-02 22:18:45 -07:00
Jason Volk
49ef5af3e5
ircd: Ⓜ️ :room: Fix the membership query for missing memberships.
2018-06-02 18:24:39 -07:00
Jason Volk
79b2bdfb42
ircd::fs: Add prefetch().
2018-06-02 11:44:53 -07:00
Jason Volk
4ce6b69f69
ircd::db: Additional env debug messages.
2018-06-02 09:18:01 -07:00
Jason Volk
0abda3e175
ircd::rfc1035: Fix typo.
2018-06-01 14:16:07 -07:00
Jason Volk
fd41a3b9c1
ircd::db: Add db env debug log msg to WaitForJoin.
2018-06-01 12:36:46 -07:00
Jason Volk
7e25d99cc6
ircd::db: Convert rocksdb::port from pthread to ircd::ctx.
2018-06-01 12:36:46 -07:00
Jason Volk
d56c856573
ircd::db: Reorg to group all thread related env callbacks together.
2018-06-01 06:23:39 -07:00
Jason Volk
abe921c3ad
ircd::net: Add conf item for default close opts.
2018-06-01 04:08:20 -07:00
Jason Volk
8c5b47950f
ircd::net: Add conf items for default open_opts.
2018-06-01 04:05:19 -07:00
Jason Volk
f41c50af5b
Makefile: ld.gold arguments package.
2018-05-31 16:32:55 -07:00
Jason Volk
7461de8b3d
ircd::db: Condition to check database from ircd::checkdb via -checkdb command line option.
2018-05-31 12:47:37 -07:00
Jason Volk
ae3eede730
ircd::fmt: Support width-aligned signed and unsigned integers.
2018-05-31 10:23:29 -07:00
Jason Volk
1ab3489977
ircd::fmt: Add width-aligned string format specifiers.
2018-05-31 10:18:37 -07:00
Jason Volk
467441e83c
ircd: Ⓜ️ :room: Optimize the membership convenience query.
2018-05-31 06:39:36 -07:00
Jason Volk
0d642aae31
ircd::aio: More appropriate cast here.
2018-05-31 06:14:39 -07:00
Jason Volk
4ef10e9f9e
ircd::resource: Optimize access_token -> user_id query on auth.
2018-05-31 04:49:21 -07:00
Jason Volk
1f0225ecdc
ircd::resource: Reorg token / x-matrix checks; always try to resolve token if supplied.
2018-05-31 04:49:21 -07:00
Jason Volk
6671122997
ircd: Ⓜ️ Rework visibility interface for empty mxid's as part of a public test.
2018-05-31 04:25:04 -07:00
Jason Volk
7825114281
ircd::fmt: Internalize specifier related; various cleanup.
2018-05-30 09:05:15 -07:00
Jason Volk
b5104d6504
ircd::fmt: Remove cruft.
2018-05-30 08:45:11 -07:00
Jason Volk
45155d5e4d
ircd::fs: Add fd::opts nocreate open() option.
2018-05-30 04:59:05 -07:00
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
0f4270e91a
ircd::client: Condition to suppress log warning; minor cleanup.
2018-05-30 04:59:04 -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
c93166f9e4
ircd::allocator: Add returns_nonnull attribute to the profiler's operator new.
2018-05-29 23:05:19 -07:00
Jason Volk
355c1845e3
ircd/Makefile: Add gold linker option --dynamic-list-data.
2018-05-29 23:03:39 -07:00
Jason Volk
1cafbef10e
ircd::allocator: Add comment for RB_PROF_ALLOC.
2018-05-29 23:03:19 -07:00
Jason Volk
879c531ae9
ircd::info: Tighten the boost include required for this tru.
2018-05-29 22:46:05 -07:00
Jason Volk
b13193611d
ircd::server: Rename peer::interrupt() to peer::cancel().
2018-05-29 11:53:37 -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
0766000b20
ircd::lexical: Eliminate allocation on lex_cast(string) conversions.
2018-05-29 02:52:47 -07:00
Jason Volk
b32a5b6a61
ircd/Makefile: Move allocator unit up in the order.
2018-05-29 02:52:47 -07:00
Jason Volk
3e6fdbd93d
ircd::db: Use #defines rather than comments for excessive log calls.
2018-05-29 02:52:47 -07:00
Jason Volk
4dd0b6c7b2
ircd::db: Minor syntax cleanups.
2018-05-29 01:42:04 -07:00
Jason Volk
c8902654a0
ircd::ctx: Detach context in dtor on main/async stacks.
2018-05-28 07:04:06 -07:00
Jason Volk
a2c98d3be5
ircd::client: Join request pool after client list empty.
2018-05-28 01:36:40 -07:00
Jason Volk
2ba495eb8b
modules/m_presence: Move some externs from client/presence; update linkages.
2018-05-28 01:31:45 -07:00
Jason Volk
54f08c0351
ircd::resource: Involve a request context interrupt on timeout.
2018-05-28 00:33:21 -07:00
Jason Volk
9714d1ee15
ircd: Ⓜ️ Reorg event visibility interface; update linkages.
2018-05-28 00:33:21 -07:00
Jason Volk
377276432b
ircd: Ⓜ️ Add back non-essential fields after essential stripping here.
2018-05-27 08:39:49 -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
37f8868afc
ircd: Ⓜ️ :init: Run a conf update after all modules have loaded [disabled]
2018-05-25 23:48:07 -07:00
Jason Volk
e11973fb40
ircd: Ⓜ️ :init: Provide some partial load ordering based on module prefix.
2018-05-25 21:07:29 -07:00
Jason Volk
422206794f
ircd::conf: Add conf::exists(key); minor cleanup.
2018-05-25 20:45:30 -07:00
Jason Volk
3746c25f20
ircd::ctx::ole: Add crude pooling.
2018-05-25 20:21:36 -07:00
Jason Volk
1309565506
ircd: Ⓜ️ Add essential key pruning for m.room.redaction sign and verify.
2018-05-25 18:35:40 -07:00
Jason Volk
b69848b620
ircd::json: Add non-const iov::at(); minor cleanup.
2018-05-25 17:45:49 -07:00
Jason Volk
d4c2ec6b22
ircd::db: Fix iterator invalidation from a cache-missing seek.
2018-05-25 06:21:03 -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
ee0ff2b1ad
ircd: Ⓜ️ Basic internal db::gopts for events iteration.
2018-05-24 21:31:33 -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
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
f641076072
ircd::json: Antipodal undefined number; add assert that it's not zero.
2018-05-23 00:32:37 -07:00
Jason Volk
956c67beca
ircd::ctx: Use dock for better adjoindre semantics.
2018-05-22 18:06:18 -07:00
Jason Volk
f68f3bbb9c
ircd::ctx: Organize stack and profile related into specific structures.
2018-05-22 18:03:18 -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
eda5822700
Move boost coroutine deprecation suppression define to configure.ac from Makefile.am.
2018-05-22 16:31:30 -07:00
Jason Volk
0e169fe4a4
ircd::ctx: Stop interrupt propagation at pool function base.
2018-05-22 05:49:38 -07:00
Jason Volk
d901257745
ircd::ctx: Use NOINTERRUPT flag for termination suppression as well.
2018-05-22 00:24:48 -07:00
Jason Volk
f17f9685ec
ircd::ctx::ole: Use interrupt suppression scope while offloaded.
2018-05-22 00:22:57 -07:00
Jason Volk
7e8ec1ca63
ircd::ctx: Support interrupt suppression; suite.
2018-05-22 00:22:56 -07:00
Jason Volk
fd13e71684
ircd: Ⓜ️ :dbs: Add equality comparator to optimize events__room_events.
2018-05-21 19:52:47 -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
0d489d6ffb
ircd::http: Add 504 Gateway Timeout status.
2018-05-21 15:56:13 -07:00
Jason Volk
bc26a8f9b3
ircd: Ⓜ️ Optimize user::rooms iteration event query.
2018-05-21 00:19:27 -07:00
Jason Volk
2755d779c9
ircd: Ⓜ️ Simplify user::rooms iteration callstack.
2018-05-21 00:19:08 -07:00
Jason Volk
559c2f008c
ircd: Ⓜ️ Optimize room::members::count w/ event::fetch::opts keys select.
2018-05-20 20:30:25 -07:00
Jason Volk
65b516e4c0
ircd: Ⓜ️ Use proper m::membership(event) test and deoptimize accordingly.
2018-05-20 20:26:12 -07:00
Jason Volk
db026147b7
ircd: Ⓜ️ Optimize query for room::members::for_each w/ user_id closure.
2018-05-20 20:17:45 -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
c88ce8168b
Revert "ircd: Ⓜ️ Convert hook to template."
...
This reverts commit 915076296f
.
2018-05-20 18:39:32 -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
c2b45aacc3
ircd::db: Use better column count in row ctor.
2018-05-19 23:13:54 -07:00
Jason Volk
2f48b69102
ircd: Ⓜ️ Add event::fetch seekless ctor w/ selection.
2018-05-19 22:55:03 -07:00
Jason Volk
2b71ad8a04
ircd::json: Various cleanup.
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
6150637537
ircd: Ⓜ️ event::fetch keys selection.
2018-05-19 22:55:03 -07:00
Jason Volk
16c86f9a76
ircd::fmt: Fix copying / nulling / assertions.
2018-05-19 20:53:40 -07:00
Jason Volk
8140130a3a
ircd::http: date_buf off stack.
2018-05-19 20:04:53 -07:00
Jason Volk
69e9c9bbc6
ircd::server: Fix peer hostname string discrepancy.
2018-05-19 18:49:08 -07:00
Jason Volk
5a058be4ba
ircd::net: Use specific canon service/port variables.
2018-05-19 18:49:08 -07:00
Jason Volk
e395e4d85e
ircd: Ⓜ️ Fix hook deletion while iterating set.
2018-05-19 18:49:08 -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
ba4b3fa145
ircd: Minor comments / minor cleanup.
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
986f591caa
ircd: Ⓜ️ Ignore my_host's signature when adding signatures.
2018-05-19 18:49:07 -07:00
Jason Volk
aada1c9f17
ircd: Ⓜ️ Slightly improve state tuple pretty().
2018-05-19 18:49:07 -07:00
Jason Volk
997da91477
ircd: Ⓜ️ Complete the room state tuple buffer constructor.
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
3e47fbb388
ircd::client: Remove unnecessary exception test assertion here.
2018-05-19 18:49:06 -07:00
Jason Volk
2626e14543
ircd: Ⓜ️ :dbs: Copy root_in to root_out buffer for intuitive behavior.
2018-05-19 18:49:06 -07:00
Jason Volk
296eff7c5d
ircd::db: Removed unused cell features.
2018-05-19 18:49:06 -07:00
Jason Volk
e3a85fa523
ircd::resource: Consistent rstrip of trailing path solidus.
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
7e512eecdc
ircd: Ⓜ️ Move signatures field nulling to essential keys function.
2018-05-19 18:49:05 -07:00
Jason Volk
e5da1a82e7
ircd::openssl: Update exception type.
2018-05-19 18:49:05 -07:00
Jason Volk
82fbbad8e3
ircd: Ⓜ️ Simplify b64 buffer sizing.
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
a7b0246830
ircd::net: Increase default acceptor timeout for spinapps friends.
2018-05-19 18:49:05 -07:00
Jason Volk
1d582f65d6
ircd: Ⓜ️ :dbs: Add a descriptor for the default column with no cache alloc.
2018-05-19 18:49:05 -07:00
Jason Volk
ab4f2b362f
ircd::db: Decrease temp default row cache size.
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
c5c5f9643e
ircd: Ⓜ️ 🪝 Cleanup constructor: move feature string creation out.
2018-05-19 18:49:04 -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
9388e65250
ircd::db: Fix constness of colname vector values.
2018-05-19 18:49:02 -07:00
Jason Volk
508baeb4a5
ircd::db: Move vector of colptrs to stack.
2018-05-19 18:49:02 -07:00
Jason Volk
0478ead6d9
ircd: Ⓜ️ :filter: Condition on contains_url in match definition.
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
0abfc6e927
ircd::net: Minor fix spacing.
2018-05-19 18:49:02 -07:00
Jason Volk
39edf575ba
ircd: Ⓜ️ Simplify init / fini presence semantics.
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
dc38da5566
ircd: Ⓜ️ Add missing ADL-converted index(event) calls.
2018-05-19 18:49:01 -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
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
3f296f2108
ircd::net: Fix error fmtstr; use static exception instance for copy.
2018-05-09 21:12:01 -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
a318319ba4
ircd::net: attribute noreturn upon advice.
2018-05-08 14:32:40 -07:00
Jason Volk
79a44e4587
ircd::net: No need to hold this pointer in closure.
2018-05-08 14:31:39 -07:00
Jason Volk
618fc8a95e
ircd::net::dns: Tweak reference prototypes.
2018-05-08 14:29:44 -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
9a3bda06af
ircd::server: Copy link pointers while iterating for open().
2018-05-07 23:09:06 -07:00
Jason Volk
907efca5d8
ircd::openssl: Checks on peer cert dereference.
2018-05-07 16:58:39 -07:00
Jason Volk
5488a85d1a
ircd: Update log start marker.
2018-05-07 16:34:59 -07:00
Jason Volk
9792cb1435
ircd: Ⓜ️ :vm: Add preliminary phase state; minor movements.
2018-05-07 16:34:59 -07:00
Jason Volk
b113322a28
ircd::server: Improve assertion for no key movement.
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
5000397f12
ircd::ctx: Fix erroneous comment.
2018-05-07 12:37:44 -07:00
Jason Volk
e15ac0d1d3
ircd::ctx: Add state for counting context switches.
2018-05-07 12:36:33 -07:00
Jason Volk
4c71ab8fd0
ircd: Ⓜ️ 🪝 Simplify collections with instance_lists.
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
68c863e7f9
ircd: Ⓜ️ :vm: Reorg commit stack; move room commit thing to m::vm.
2018-05-06 18:02:33 -07:00
Jason Volk
7758a80927
ircd: Further condense ircd::main() exception handlers.
2018-05-06 15:11:59 -07:00
Jason Volk
2183c6bea9
ircd::client: Adjust main exception handlers for ctx::terminated.
2018-05-06 15:11:05 -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
003ecf6357
ircd: Remove / update various ctx::interrupted catch blocks for ctx::terminated.
2018-05-06 02:06:08 -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
e80c8e6f65
ircd: Ⓜ️ Consistent usage of object::size() rather than object::count().
2018-05-05 23:14:11 -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
ec0153c4da
ircd::ctx: Split into internal header.
2018-05-05 21:24:17 -07:00
Jason Volk
dd04a50743
ircd: Ⓜ️ :dbs: Expose the internal indexer interface.
2018-05-05 18:54:02 -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
386901f4c2
ircd::net: Fix conditions for eptr creation from cached error.
2018-05-05 00:55:42 -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
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
5ba64df248
ircd::net: Explicitly construct these things here.
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
e6fe7805c1
ircd::db: Minor simplify db::read(column).
2018-05-04 20:43:04 -07:00
Jason Volk
7ca2e8797d
ircd: Ⓜ️ :dbs: Add interface to manipulate the blacklist column.
2018-05-04 20:43:04 -07:00
Jason Volk
cff90c79ae
ircd: Minor cleanup.
2018-05-04 20:43:04 -07:00
Jason Volk
546e57915b
ircd: Ⓜ️ :dbs: Checkpoint cache size default tweaks.
2018-05-04 16:38:45 -07:00
Jason Volk
66a4d52a93
ircd: Ⓜ️ :dbs: Add event_bad column for blacklisting.
2018-05-04 16:38:45 -07:00
Jason Volk
09a0b345c8
ircd: Ⓜ️ :dbs: No need to unref columns anymore.
2018-05-04 14:32:18 -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
8d819cd3f5
ircd::log: Minor cleanup.
2018-05-03 20:08:24 -07:00
Jason Volk
a054ac6b2f
ircd::resource: Clear peer error after peer contacts us.
2018-05-02 22:22:12 -07:00
Jason Volk
292e8c5a12
ircd::server: Remove deprecated assertion.
2018-05-02 22:22:12 -07:00
Jason Volk
770ed3a1ef
ircd::client: Minor cleanup init/fini log calls.
2018-05-02 22:22:12 -07:00
Jason Volk
97da72e7d9
ircd::client: Increase default request timeout.
2018-05-02 12:44:12 -07:00
Jason Volk
1d0ae3855a
ircd::server: Close link if the only commitment is a cancelled tag.
2018-05-02 12:33:08 -07:00
Jason Volk
695fb4c9b0
ircd::net: Ensure proper string() is resolved; minor cleanup.
2018-05-02 12:15:04 -07:00
Jason Volk
c84fe8d962
ircd::server: Fix preservation of nullity for in.content through cancellation.
2018-05-02 12:00:32 -07:00
Jason Volk
8f7a05c9ed
ircd::server: Minor cleanup / assertions / comments.
2018-05-02 12:00:26 -07:00
Jason Volk
4c61eeba89
ircd::net::dns: Use explicit static empty record instances.
2018-05-02 11:28:34 -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
9af649f739
ircd::db: Consolidate write(column) overloads.
2018-04-30 07:18:06 -07:00
Jason Volk
e80e34eddc
ircd: Ⓜ️ Fix fmt argument type.
2018-04-28 22:16:34 -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
6d771191fc
ircd::rfc1035: Fix any uninitialized gaps in the name buffer.
2018-04-28 18:47:17 -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
405fcdef23
ircd::rfc1035: Remove unnecessary ilist.
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
a3bea15eef
ircd::net::dns: Various send cleanup/asserts; fix hostport reference in eh.
2018-04-28 17:47:59 -07:00
Jason Volk
2b41672259
ircd::net::dns: Improve the SRV -> A callback chain.
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
d3b1b0ff77
ircd: Ⓜ️ 🆔 Cleanup / fix error.
2018-04-27 21:48:14 -07:00
Jason Volk
46cf2ca559
ircd: Ⓜ️ Fix closure parameter rot.
2018-04-27 21:48:14 -07:00
Jason Volk
d8b14ade58
ircd: Ⓜ️ Fix narrowing conversion.
2018-04-27 21:48:14 -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
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
9c5b10fb61
ircd::server: Preserve nullity of cancellation tag's in.content.
2018-04-26 21:35:55 -07:00
Jason Volk
75b67e11fc
ircd: Ⓜ️ Add state_root() to room messages iterator.
2018-04-26 21:35:55 -07:00
Jason Volk
a734798100
ircd::db: Minor cleanup.
2018-04-26 17:52:24 -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
93ca1448d1
ircd::db: Verify SST checksums on db open.
2018-04-26 16:48:35 -07:00
Jason Volk
94439a334e
ircd::db: Cleanup/Simplify db open ptr construction.
2018-04-26 16:39:59 -07:00
Jason Volk
173093e45a
ircd::db: Fix default description to include default column.
2018-04-26 16:22:16 -07:00
Jason Volk
94b03cfe71
ircd: Ⓜ️ Fix my_node id generation.
2018-04-26 15:45:06 -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
78a5442230
ircd: Ⓜ️ Increase stream buffer sizes for pretty(event).
2018-04-25 23:34:39 -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
55632dee5e
ircd: Ⓜ️ :dbs: Fix default value for event::idx to respect domain order.
2018-04-25 01:42:41 -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
a13c11c93c
ircd::log: Fix showing the other name during duplicate snote check.
2018-04-24 18:00:12 -07:00
Jason Volk
f049bbf0d0
ircd: Split tokens.cc from lexical.cc
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
bff688bf64
ircd::openssl: Rename iteration until -> for_each.
2018-04-24 00:50:40 -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
aa5681dab9
ircd: Ⓜ️ :dbs: Throw exception for a null index here.
2018-04-23 18:14:30 -07:00
Jason Volk
7889d116f0
ircd::resource: Choose better log level based on HTTP response codes.
2018-04-23 17:47:10 -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
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
523ef5f1db
ircd: Ⓜ️ Show the hostname in the vm init/halt log message.
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
f866c9a4de
ircd::db: Flush here does not mean what one might think it means.
2018-04-22 15:08:26 -07:00
Jason Volk
2325208ecd
ircd: Ⓜ️ Add more detailed content information in pretty(event).
2018-04-22 14:24:48 -07:00
Jason Volk
a3bcd2dbf3
ircd: Add b64 <-> b58 convenience conversion suite.
2018-04-22 14:24:37 -07:00
Jason Volk
2557834a96
ircd: Ⓜ️ :dbs: Factor in the event_idx for a more stable messages sort.
2018-04-22 13:49:02 -07:00
Jason Volk
757f8f8209
ircd::client: Tweak timeout defaults; fix branch probability; additional assert.
2018-04-21 23:45:25 -07:00
Jason Volk
799f450b47
ircd: Ⓜ️ Fix content size sampling in pretty(event).
2018-04-20 23:48:39 -07:00
Jason Volk
6b32da764d
ircd::client: Remove the asynchronous longpoll state.
2018-04-20 19:54:18 -07:00
Jason Volk
784293e01f
ircd::client: Assertions for request context.
2018-04-20 19:53:36 -07:00
Jason Volk
ebea2e2385
ircd::db: Explicitly involve SST files in column compaction.
2018-04-20 17:03:20 -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
f3b0fa3b4e
ircd::db: Additional option tweaks.
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
2a7cb42c98
ircd::ctx: Minor ctx object semantic elaboration.
2018-04-20 00:44:45 -07:00
Jason Volk
7d64e6323b
ircd::client: Use conf::item's for client related.
2018-04-20 00:44:45 -07:00
Jason Volk
d2536c83a2
ircd::client: dwarning if client request pool exhausted.
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
328292ba0e
ircd|: Ⓜ️ Optimize path for head_idx()/depth() to avoid head id lookup.
2018-04-18 15:13:17 -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
03e8107b7b
ircd: Ⓜ️ :dbs: Elaborate additional descriptor options for columns.
2018-04-17 22:10:28 -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
e6a80082c8
ircd::db: Assertion for non-empty key seek.
2018-04-17 20:30:06 -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
6ef68a8f4e
ircd: Ⓜ️ Show content bytes in pretty(event).
2018-04-17 02:51:44 -07:00
Jason Volk
8a829435cd
ircd: Ⓜ️ :vm: Special case sequence number zero for iterator.
2018-04-16 23:30:57 -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
b729338037
ircd: Ⓜ️ :room: Move event::fetch outside loop to prevent constructions.
2018-04-16 15:58: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
cae6964fa5
ircd: Ⓜ️ :vm: Add missing INTERRUPT fault to reflect switch.
2018-04-16 13:48:16 -07:00
Jason Volk
60b9960c3d
ircd: Ⓜ️ Tweaks to bootstrap / init task ordering.
2018-04-15 18:02:41 -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
416d199736
ircd: Ⓜ️ Fix pretty(event) formatting.
2018-04-15 04:16:40 -07:00
Jason Volk
2dad8d8832
ircd::net::dns: Empty cache key assertions.
2018-04-15 02:44:28 -07:00
Jason Volk
0c78bf7a9b
ircd::db: Add compaction interface.
2018-04-15 02:42:57 -07:00
Jason Volk
f7f2194745
ircd::db: Reenable the histogram collection.
2018-04-15 00:36:33 -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
de295777d0
ircd::net::dns: Improve/fix cache management related.
2018-04-14 18:13:19 -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
69b0066c15
ircd::resource: Add routine to warmup caches after origin verification.
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
dc81d77c19
ircd::net: Improve/comment on various sundry DNS cache related.
2018-04-13 18:34:48 -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
414133ba55
ircd::resource: Reset the client.request object after request.
2018-04-13 16:52:38 -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
0b217b3474
ircd::client: Improve request exception propagation; propagate ctx::interrupted.
2018-04-13 15:46:16 -07:00
Jason Volk
14d90bf4a9
ircd: Ⓜ️ :vm: Move temporary m.room.member effect to modules/m_room_member.
2018-04-13 14:54:11 -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
56234556e8
ircd: Ⓜ️ Real uses for this prefer to include the user in the iteration.
2018-04-12 23:07:46 -07:00
Jason Volk
bd4a16fab1
ircd::db: Tweak sundry open options.
2018-04-12 23:07:46 -07:00
Jason Volk
b5dd434e7c
ircd::db: Adjust db open and close log messages for where waiting happens.
2018-04-12 23:07:46 -07:00
Jason Volk
ae528af7cd
ircd::db: Reduce the offloading to a wieldy statement.
2018-04-12 23:07:46 -07:00
Jason Volk
9dfd9f8258
ircd::net: No propagation from accept/handshake handlers; use debug error.
2018-04-12 23:07:45 -07:00
Jason Volk
cee7a17330
ircd: Ⓜ️ :dbs: Purge old cruft; add various \briefs.
2018-04-12 23:07:45 -07:00
Jason Volk
455ff99b93
ircd::db: Error reporting and fallbacks for db property queries.
2018-04-12 23:07:45 -07:00
Jason Volk
a628f88206
ircd: Ⓜ️ :room: Adjust expectations for fetching event after index seek.
2018-04-12 14:10: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
ed637d48f0
ircd: Ⓜ️ :dbs: Fix issues with origins index key split.
2018-04-11 23:40:30 -07:00
Jason Volk
b3fa735f8d
ircd: Ⓜ️ Minor constness fixes.
2018-04-11 23:40:30 -07:00
Jason Volk
8011b7dd9f
ircd: Ⓜ️ :room: Fix exception coming out of loop.
2018-04-11 23:40:30 -07:00
Jason Volk
4db39a1bcb
ircd: Ⓜ️ :state: Use loop condition rather than exception catch.
2018-04-11 23:40:30 -07:00
Jason Volk
9336b28095
ircd: Ⓜ️ :state: Bound the stack frame size.
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
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
867a3aa9dc
ircd: Ⓜ️ :user::rooms: Allow empty membership string intuitive behavior.
2018-04-11 15:56:37 -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
e9df8b699c
ircd: Ⓜ️ Add user room membership convenience interface; apply.
2018-04-11 14:18:38 -07:00
Jason Volk
516d1797c9
ircd::server: Clear op_fini flag on err_clear().
2018-04-10 21:02:34 -07:00
Jason Volk
baf8b192b1
ircd::json: Add the stack flusher semantic.
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
b244959c35
ircd::json: Fix stack::object error.
2018-04-10 15:11:44 -07:00
Jason Volk
bc4cb5cf8c
ircd::json: Allow stack objects to have dtor called manually to close JSON.
2018-04-10 14:17:56 -07:00
Jason Volk
102ef2cb47
ircd::json: Object semantics for json::stack classes.
2018-04-10 13:48:14 -07:00
Jason Volk
d3805b410e
ircd: Ⓜ️ :v1: Add conf item for fetch_head timeout.
2018-04-10 13:20:31 -07:00
Jason Volk
fe90dd4d63
ircd: Ⓜ️ Add convenience interface for rooms / iterations.
2018-04-09 20:12:03 -07:00
Jason Volk
952571a3ad
ircd: Ⓜ️ Add key iteration to room::state interface.
2018-04-09 19:24:56 -07:00
Jason Volk
28d4ebfba2
ircd::db: Improve the db::has() query: no value read when using iterator.
2018-04-09 16:57:13 -07:00
Jason Volk
dc5a1554f6
ircd::db: Fallback wo/ user equality comparator.
2018-04-09 16:50:50 -07:00
Jason Volk
294aec368c
ircd: Ⓜ️ :dbs: Fix issues with prefixing related.
2018-04-09 16:50:50 -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
e160205959
ircd::db: Mark sundry db open options related.
2018-04-09 15:56:14 -07:00
Jason Volk
3e27f5be06
ircd::db: Fix/tweak db fsck log messages.
2018-04-09 11:52:06 -07:00
Jason Volk
343a1f38a3
ircd::db: Improve dbopts string manipulation related.
2018-04-09 11:51:36 -07:00
Jason Volk
6dcc7e29df
ircd::fmt: Leave useful note for assertion.
2018-04-09 11:48:20 -07:00
Jason Volk
572996ae23
ircd::client: Demote inactivity log message.
2018-04-09 10:17:57 -07:00
Jason Volk
23b1a7e032
ircd::db: Workaround issue querying the filtration after db reopen.
2018-04-08 22:11:29 -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
5621da53bc
ircd: Ⓜ️ :v1: Add event_auth requestor.
2018-04-08 12:35:27 -07:00
Jason Volk
f3539f3dbe
ircd: Ⓜ️ Switch to ripemd160 for user::room.
2018-04-08 12:29:55 -07:00
Jason Volk
dcd343356d
ircd::openssl: Use custom internal allocation strategy.
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
d41096cf15
ircd::openssl: Assertions for hashing ctx existing.
2018-04-08 12:29:52 -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
37a0b0362b
ircd::net::dns: Post callback away from timeout worker ctx's stack.
2018-04-07 11:20:22 -07:00
Jason Volk
fb6a4fc6ac
ircd::ctx: Bypass the exception_handler assertion if on bare metal.
2018-04-07 11:08:07 -07:00
Jason Volk
331d0a955d
ircd::server: Yield in exception handler.
2018-04-07 11:05:54 -07:00
Jason Volk
0012793bf6
ircd::server: Ensure open_opts references are fresh after resolve comes back.
2018-04-07 06:16:41 -07:00
Jason Volk
6488141f64
ircd::server: Additional assertions.
2018-04-07 06:16:24 -07:00
Jason Volk
db93acf8fb
ircd::server: Fix condition for promise resolution on cancel().
2018-04-07 05:00:55 -07:00
Jason Volk
c2b2dc8d69
ircd::server: Use disassociate() during cancel(); tweak assertions.
2018-04-07 05:00:55 -07:00
Jason Volk
fceb9efc7c
ircd: Ⓜ️ Fix/tweak pretty_oneline(event) format.
2018-04-07 00:45:37 -07:00
Jason Volk
99d04c310a
ircd: Ⓜ️ Return sentinel iterator to not leave undefined residue.
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
f26410f5c3
ircd: Ⓜ️ :v1: IO'ing buffers must be on ctx's stack.
2018-04-06 02:50:29 -07:00
Jason Volk
4c26b65613
ircd::server: Add head bytes when calculating read total.
2018-04-06 02:50:29 -07:00
Jason Volk
5648903998
ircd::server: Adjust discard error expectations.
2018-04-06 02:50:29 -07:00
Jason Volk
c4b18438ce
ircd::server: Additional debug logging / tweaks.
2018-04-06 02:50:29 -07:00
Jason Volk
d2388a1abf
ircd::server: Discard reads when tag has committed no writes.
2018-04-06 01:05:04 -07:00
Jason Volk
c79cbe670b
ircd::server: Additional assertions that buffers are not zero size.
2018-04-06 00:33:09 -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
74b7dddb9a
ircd: Ⓜ️ :v1: Simplify the buffer partition pattern.
2018-04-05 22:45:04 -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
3ab6409267
ircd::js: Remove stale devel include.
2018-04-04 22:54:59 -07:00
Jason Volk
dbba5519f5
ircd::resource: Use json::empty_object instead of literal; cleanup debuglog.
2018-04-04 22:54:58 -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
7995c20c50
ircd::ctx::pool: Change dispatching from notify_one() to notify().
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
bf4da27fc6
ircd: Ⓜ️ Ensure X-Matrix content is properly excluded or included for verification.
2018-04-04 22:54:53 -07:00
Jason Volk
6b5bfaf4c0
ircd::json: Minor cleanup of value serialize cattle grid.
2018-04-04 13:36:30 -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
36d1d41a8b
ircd: Ⓜ️ Add prev hash information to pretty(event).
2018-04-03 23:34:10 -07:00
Jason Volk
68cd920bb0
ircd: Ⓜ️ pretty(event) format tweaks.
2018-04-03 23:34:10 -07:00
Jason Volk
603658c722
ircd::net: Increase default resolver rate limiting.
2018-04-03 23:34:10 -07:00
Jason Volk
39da63828c
ircd::json: Fix error in stack::~object.
2018-04-03 23:34:09 -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
199ccad3e1
ircd: Ⓜ️ Minor desc cleanup; minor cleanup exception rewrite.
2018-04-03 02:14:48 -07:00
Jason Volk
a2ecd6339c
ircd: Ⓜ️ Stringify request verification into tls buffer.
2018-04-02 23:20:50 -07:00
Jason Volk
b9bb4b4a45
ircd::resource: Carry origin in the request object.
2018-04-02 23:20:50 -07:00
Jason Volk
c999036a03
ircd: Ⓜ️ Rewrite db::not_found to m::NOT_FOUND for room::state propagation.
2018-04-02 22:06:51 -07:00
Jason Volk
6976119109
ircd: Ⓜ️ :state: Fix db::not_found propagating from nothrow'ing get().
2018-04-02 22:04:17 -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
b5060a5e46
ircd::db: Create specific DB dir manually to avoid rocksdb error log msg.
2018-04-02 17:19:01 -07:00
Jason Volk
14b7a088ee
ircd::db: Minor cleanup.
2018-04-02 17:18:56 -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
db9e5f3b78
ircd::json: Improve validator grammar; clarify magic number.
2018-03-28 22:19:26 -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
15b995cee8
modules/m_presence: Move presence committer/getter into client/presence.
2018-03-28 22:17:09 -07:00
Jason Volk
d48f46a0ac
modules/m_typing: Move m.typing committer into client/rooms/typing.
2018-03-28 22:17:09 -07:00
Jason Volk
cbc4852e16
modules/m_receipt: Move m.receipt committer into client/
2018-03-28 22:17:09 -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
f07eed2ab9
ircd::ctx: Relax the assertion for uncaught exceptions on context switch.
2018-03-28 14:11:33 -07:00
Jason Volk
751b896c3d
ircd: Ⓜ️ Improve various initial conf related keys and routines.
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
f01fdc0528
ircd::json: Return non-magic size; return stringify views of written data.
2018-03-27 21:44:01 -07:00
Jason Volk
fb58bdf7de
ircd::json: Granular stringify size assertions.
2018-03-27 21:44:01 -07:00
Jason Volk
49cb8fee1a
ircd::json: Assertions for empty object iterator equality.
2018-03-27 21:44:01 -07:00
Jason Volk
1436ce36c1
ircd::json: Checkpoint output escape echo.
2018-03-27 21:44:01 -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
ff1fe4284d
ircd: Ⓜ️ Add central linkage for join by alias; move bootstrap to rooms/join.
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
e179915008
ircd: Ⓜ️ Indicate to event: 🆔 :buf it was written to.
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
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
05ded4f0e4
ircd::server: Checkpoint discard based on ssl pending; move branch.
2018-03-26 02:24:29 -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
f36af09789
ircd::mods: Interface modernization; various cleanup; reorg.
2018-03-25 14:32:24 -07:00
Jason Volk
8050628748
ircd::aio: The io_getevents array can be off-stack because no ctx.
2018-03-25 02:04:42 -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
daed99e94e
ircd: Ⓜ️ Replace event membership ref conditional with the convenience.
2018-03-24 23:29:46 -07:00
Jason Volk
ef791ae46e
ircd::client: Use ctx::exception_handler to respond to client from catch block.
2018-03-24 18:00:04 -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
7dbfb061e9
ircd::ctx: Assert no yielding during exception handling due to ABI limitations.
2018-03-24 15:53:15 -07:00
Jason Volk
1e99077169
ircd::db: Fix erroneous param in debug log.
2018-03-24 14:55:53 -07:00
Jason Volk
065370c38a
configure.ac: parameter package.
2018-03-24 03:19:16 -07:00
Jason Volk
c256b3fefb
ircd: Ⓜ️ Fix various issues with request generation buffers.
2018-03-24 01:18:34 -07:00
Jason Volk
968ef4115c
ircd: Fix signage related.
2018-03-23 23:19:53 -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
62861f2540
ircd::conf: No longer care about conf whitespace...
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
439e212b90
ircd::conf: Remove old comment; implicit object brackets around conf file data.
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
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
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
d29b98b0ea
ircd::net: Fix these conf item paths.
2018-03-22 15:11:29 -07:00
Jason Volk
9c26c5facd
ircd: Ⓜ️ :vm: Option to verify origin signature on eval.
2018-03-22 01:31:17 -07:00
Jason Volk
51714d2b67
ircd::http: Response ctor content_length=-1 is chunked encoding.
2018-03-22 00:37:16 -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
503ab33c38
ircd::json: Stricter escape conditions in string values.
2018-03-21 18:47:56 -07:00
Jason Volk
df7b6f0ca9
ircd::json: Extend escaped unicode codepoint target.
2018-03-21 17:12:48 -07:00
Jason Volk
0e7ef9ef7d
ircd::json: Fix value type LITERAL serialize/stringify consistency.
2018-03-21 17:12:48 -07:00
Jason Volk
502675e527
ircd::json: Minor cleanup of function static grammar type decls.
2018-03-21 17:12:48 -07:00
Jason Volk
b949a1f3dc
ircd::json: Checkpoint output grammar cleanup.
2018-03-21 17:12:48 -07:00
Jason Volk
99608b6bd2
ircd::json: Sort json::member vectors on stringify; w/ recursive reentrance.
2018-03-21 13:55:58 -07:00
Jason Volk
0483a381f8
ircd::json: Move member.h definitions to proper dependency ordered location.
2018-03-21 13:49:00 -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
d01aef9c35
ircd::json: Sort object members for stringify; recursive reentrant tls.
2018-03-21 01:09:41 -07:00
Jason Volk
d75e8d50b9
ircd: Ⓜ️ Branch to remove hashes/signatures if defined when hashing.
2018-03-21 00:23:27 -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
53a4fae580
ircd::json: Recursive output grammar.
2018-03-20 17:39:57 -07:00
Jason Volk
7a9bb89506
ircd::json: All output through the generator.
2018-03-20 17:39:57 -07:00
Jason Volk
84ede3ceac
ircd::server: Support tag::cancel() case for chunked encoding.
2018-03-20 16:31:02 -07:00
Jason Volk
bc8f5cba05
ircd::server: Use better buffer sizes and offsets in tag::cancel() procedure.
2018-03-20 16:31:02 -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
6e7751eaf3
ircd::server: Receive chunked transfer-encoding.
2018-03-20 14:12:44 -07:00
Jason Volk
bd80297733
ircd::server: Minor cleanup: relocate the contiguous / dynamic feature branches.
2018-03-20 01:26:42 -07:00
Jason Volk
5a1057a6a5
ircd::server: Check against a null status code to leave head mode.
2018-03-20 01:24:42 -07:00
Jason Volk
0ba91776d1
ircd::server: Move insufficient buffer checks into the creator functions.
2018-03-20 01:23:42 -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
c5addbd450
ircd::server: Minor cleanup/reorg; Add unsupported encoding exception branch.
2018-03-19 16:07:42 -07:00
Jason Volk
f9c0ed49b1
ircd::http: Improve chunk header parsing device.
2018-03-19 14:42:40 -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
b169ac1ce8
ircd::json: Whitespace monoid.
2018-03-18 21:17:54 -07:00
Jason Volk
7f2f855c4e
ircd::server: Reinstall the read handler after discard.
2018-03-18 13:51:43 -07:00
Jason Volk
f5fa5100de
ircd::net: Revert no-readahead; post immediate continuation to next stack.
2018-03-18 13:51:43 -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
373a791158
ircd::json: Limit IOV size and take stringify buffer off-stack.
2018-03-17 11:53:21 -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
d751255c5a
ircd::magic: Avoid stderr pollution by checking if the file exists first.
2018-03-16 23:13:37 -07:00
Jason Volk
2a2c05e641
ircd::client: Handle exceptions below main.
2018-03-16 23:02:08 -07:00
Jason Volk
4211671698
ircd::ctx: Reason about exception propagation at stack base; minor cleanup.
2018-03-16 21:42:22 -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
486ddf8c8f
ircd: More accurate assertion message.
2018-03-16 21:42:22 -07:00
Jason Volk
03651c2274
ircd: ircd::main() exception specification.
2018-03-16 21:42:22 -07:00
Jason Volk
61009aed64
ircd: Ⓜ️ 🆔 Improve expectation failure element propagation into error strings.
2018-03-16 21:42:22 -07:00
Jason Volk
8eb1f4df40
ircd/modules: Consistent hook site names "vm notify" -> "vm.notify".
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
2ea245bf58
ircd: Improve bad_lex_cast message with demangled typeid.
2018-03-16 12:44:12 -07:00
Jason Volk
01fc6db0c5
ircd::net: Disable readahead for socket's SSL_CTX.
2018-03-15 22:25:16 -07:00
Jason Volk
a585a86717
ircd::client: Tweak internal error catch points; remove workaround from 79800a66
.
2018-03-15 22:25:16 -07:00
Jason Volk
3810b8d57f
ircd: Various exception assertions; minor cleanup.
2018-03-15 22:25:16 -07:00
Jason Volk
a48426e25d
ircd/modules: Migrate some log messages to new facilities.
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
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
7b2758a90d
ircd: Ⓜ️ :vm: Fix regression removing content from event_id preimage.
2018-03-14 17:56:50 -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
e8c10977a1
ircd: More descriptive warning message.
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
68b5d53ae8
ircd: Ⓜ️ Improve my(event): check origin, then id, otherwise false.
2018-03-14 14:00:10 -07:00
Jason Volk
44caf92dd7
ircd: Ⓜ️ 🆔 Minor cleanup.
2018-03-13 23:33:37 -07:00
Jason Volk
0ffa3b6257
ircd::server: Condition before killing link on open error.
2018-03-13 22:44:13 -07:00
Jason Volk
23f294df86
ircd::db: Timers on has() and commit paths.
2018-03-13 22:44:13 -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
7deebfd344
ircd: Ⓜ️ 🆔 Improve the validator error msg propagation; minor cleanup.
2018-03-13 22:44:13 -07:00
Jason Volk
0f5e84b2e0
ircd::rfc3986: Copy relevant grammar from m::id; TODO: share.
2018-03-13 22:44:13 -07:00
Jason Volk
83d5f494bc
ircd: Ⓜ️ 🆔 Add RFC3986 grammar here for now.
2018-03-13 22:44:13 -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
8091bdd007
ircd::server: Fix the interrupted link open to close to delete transit.
2018-03-12 18:59:38 -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
eaadc4b36d
ircd::fs::aio: Synchronize interruption and shutdown.
2018-03-12 16:44:16 -07:00
Jason Volk
949a006950
ircd::net: Close socket before its dtor on accept except.
2018-03-12 15:56:30 -07:00
Jason Volk
f7ecc4342b
ircd::ctx: Avoid any alloc for current reassertion on spawn.
2018-03-12 15:44:55 -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
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
973f02360c
ircd::openssl: X509_NAME iteration closure.
2018-03-12 11:14:11 -07:00
Jason Volk
78d5825315
ircd::json: Deeper copying on value copy ctor.
2018-03-12 11:14:11 -07:00
Jason Volk
c2fbe50bce
ircd: Ⓜ️ Add additional event conformity checks.
2018-03-12 09:55:45 -07:00
Jason Volk
8653d62c37
ircd::net: Handle case for belated timeout callback after socket close.
2018-03-11 14:51:14 -07:00
Jason Volk
27b0dfffa4
ircd::server: Fix condition for link finished; add assertion here.
2018-03-11 13:54:51 -07:00
Jason Volk
edd03e58af
ircd: Disregard repeat attempts to close client socket; return proper future.
2018-03-11 13:54:51 -07:00
Jason Volk
f5904dc69d
ircd: Simplify the exception flow for request auth even though it separates throw points.
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
79800a666c
ircd::client: Mark bug TODO; temp bandaid.
2018-03-11 13:40:24 -07:00
Jason Volk
f0b5656fda
ircd: Ⓜ️ Push user creation out to module.
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
e4d891abac
ircd: Ⓜ️ Remove duplicate exists(event_id) util.
2018-03-10 23:04:59 -08:00
Jason Volk
94716e5ea7
ircd::net: Use socket fini state to condition automatic close on open error.
2018-03-10 23:04:58 -08:00
Jason Volk
9f7aa315fa
ircd::net: Recondition socket handlers to not cancel socket timer.
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
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
e59c04e2a5
ircd::net: Indicate no timeout before any handler invocation on cancel.
2018-03-09 17:10:46 -08:00
Jason Volk
e09111ff4e
ircd::server: Case for close during init.
2018-03-09 17:10:46 -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
27b01a58eb
ircd: Tweak client stack error related; fix missing content-type; assert all responses.
2018-03-09 17:10:45 -08:00
Jason Volk
b1a4ca6852
ircd::server: More descriptive message in this error.
2018-03-09 17:10:45 -08:00
Jason Volk
1dec67d81e
ircd: Catch inner timeouts on client request.
2018-03-09 17:10:45 -08:00
Jason Volk
50a721d311
ircd: Ⓜ️ :v1: Ensure urlencoding of parameters.
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
30532b47ff
ircd: Ⓜ️ :vm: Mask conform allowing us to issue events on behalf of remote users.
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
84e37b9635
modules/client/account: Fix user account activation related.
2018-03-08 16:29:51 -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
b9400e1698
ircd: Ⓜ️ Branch for spec essential keys in event signing.
2018-03-08 14:17:47 -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
8c02823d49
ircd: Tweak client error handling; fwddecl json::expectation_failure.
2018-03-08 07:40:41 -08:00
Jason Volk
4dd97298f5
ircd: Ⓜ️ Improve pretty_oneline format.
2018-03-07 17:37:15 -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
b7adb44429
ircd: Ⓜ️ Relax hook expectations for existing event fields.
2018-03-07 13:28:15 -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
37753a9648
ircd::server: Make close timeout shorter on close_all (shutdown).
2018-03-06 07:50:14 -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
2ec4bd025f
ircd::net: Underp the cache map until heterogeneous key support in stdlib.
2018-03-06 04:03:31 -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
63614107f8
ircd: Ⓜ️ Introduce the node and the node::room.
2018-03-05 23:47:23 -08:00
Jason Volk
17833dc22d
ircd: Ⓜ️ Merge remaining user.cc into m.cc.
2018-03-05 08:25:59 -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
76e16927c7
ircd: Ⓜ️ Move user activation definition into client/accounts near is_active().
2018-03-05 05:24:45 -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
1723a48e89
ircd: Ⓜ️ Move user::is_active() to modules/client/account.
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
b3816f3bfa
ircd: Ⓜ️ Move these conf items and rename.
2018-03-05 05:24:45 -08:00
Jason Volk
5c1cb57e9c
modules: Reorg conf/console related; add s_control.
2018-03-05 05:24:45 -08:00
Jason Volk
8de1fde58c
ircd::resource: Minor cleanup; response related.
2018-03-05 02:41:24 -08:00
Jason Volk
f75a4bd95e
ircd: Ⓜ️ Special case type=m.room.member state_key for user::id rewrite in hook ctor.
2018-03-05 02:10:18 -08:00
Jason Volk
bfc2ab4eef
ircd: Ⓜ️ Improve error ctor related.
2018-03-05 01:34:03 -08:00
Jason Volk
b37bb580be
ircd: Ⓜ️ Deinline these error ctors.
2018-03-05 01:07:52 -08:00
Jason Volk
a6814dd696
ircd: Ⓜ️ Unconditionally use a hash of user's mxid for user_room.
2018-03-05 00:53:59 -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
96eca6c744
ircd::http: Fix serial size case with empty vector.
2018-03-04 23:45:59 -08:00
Jason Volk
3b1cc75f10
ircd::http: Modernize the header vector string generator.
2018-03-04 23:45:23 -08:00
Jason Volk
ab9e9d698b
ircd: Ⓜ️ Fix error.
2018-03-04 22:46:40 -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
d3d58d8ee9
ircd: Ⓜ️ Generate user_room ID's for all users local and remote.
2018-03-04 08:57:02 -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
90b7810921
ircd::server: Reset necessary link state if any exception before handler.
2018-03-04 02:09:41 -08:00
Jason Volk
2e3d88057c
ircd: Ⓜ️ :dbs: Use null separators for prefixing.
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
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
28ab30e3a0
ircd: Ⓜ️ Minor cleanup: sv ctor is constexpr, don't need this.
2018-03-03 10:17:05 -08:00
Jason Volk
9cf25a2d3b
ircd: Ⓜ️ Add optimized room::members event iteration for present membership=join.
2018-03-03 10:17:05 -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
6db4b083a8
ircd: Ⓜ️ 🆔 Fix local,host generator ctor to account for existing sigil.
2018-03-03 04:06:49 -08:00
Jason Volk
90e3b90775
ircd: Ⓜ️ Hook ctor rewrites local m::id's with my_host(); update affected hooks.
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
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
2be4d22403
ircd: Ⓜ️ Add slightly arbitrary hook msgtype matching.
2018-03-02 21:13:11 -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
0d4083c487
ircd: Ⓜ️ :dbs: Remove stale comment.
2018-03-02 08:33:40 -08:00
Jason Volk
f3d8cc7950
ircd: Ⓜ️ Set IRCd's presence status on startup and shutdown.
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
e8fd7eebe0
modules/conf: Introduce the !conf room and the !control interface.
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
eed18331cd
ircd::ed25519: Fix fs::read regression from fs:: exception changes.
2018-03-01 04:34:22 -08:00
Jason Volk
5a744debe2
ircd: Ⓜ️ :vm: Fix b64 buffer size calc; minor cleanup.
2018-03-01 04:34:22 -08:00
Jason Volk
ebed17d9d0
ircd: Fix error / simplify.
2018-03-01 02:30:59 -08:00
Jason Volk
c31b072a82
ircd: Ⓜ️ Improve room::membership() convenience query interface.
2018-02-28 21:05:09 -08:00
Jason Volk
2a7d7fa8c8
ircd::json: Value stringify semantic fixes.
2018-02-28 03:12:17 -08:00
Jason Volk
0e9a1e5109
ircd::net: wat.
2018-02-28 00:00:19 -08:00
Jason Volk
a8569fb81b
ircd::server: Improve conditional for dynamic content feature.
2018-02-27 23:12:26 -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
f76d82a553
ircd: Ⓜ️ Fix/simplify xvalue.
2018-02-27 22:57:00 -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
03034723df
ircd::net: Update socket handler conditions to ignore timeout if data is there too.
2018-02-27 18:08:15 -08:00
Jason Volk
a5389dfd95
ircd::net: Assertion found case where (timedout && !ec) is valid:
...
This happens when handle_timeout is executed while handle_ready has
already hit the asio queue. The sd.cancel() is too late to cause
ec==operation_canceled.
2018-02-27 07:12:04 -08:00
Jason Volk
34ad473bdc
ircd::server: Pass along remote's error content into our http::error.
2018-02-27 01:38:34 -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
b555e3f446
ircd: Ⓜ️ :v1/modules/console: Checkpoint changes to buffers and opts for requests.
...
Issues:
- The move requirement here for opts is ugly without a better ctor.
- The ad hoc buffer reassignments in m::v1 need to be improved.
2018-02-26 22:02:47 -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
ceac1d96ac
ircd::fs: Add missing exception translation to read()/write() dispatchers.
2018-02-26 20:45:40 -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
e7b6f4bac6
ircd: Ⓜ️ Add vm_notify hook::site; add hook to create public rooms room.
2018-02-26 01:40:41 -08:00
Jason Volk
5dbafa6a21
ircd: Ⓜ️ 🪝 Condition to match on membership field if available.
2018-02-26 00:12:03 -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
4643a78c47
ircd: Ⓜ️ :state: Add branch accounting to b-tree node.
2018-02-24 19:27:17 -08:00
Jason Volk
ff2903900b
ircd: In runtime debugmode, log HTTP errors at the error level.
2018-02-23 23:35:09 -08:00
Jason Volk
924d86e1e9
ircd: Ⓜ️ Rename ircd.account key to ircd.user in !users.
2018-02-23 19:39:51 -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
4a42e9d6b7
ircd: Ⓜ️ Move the rooms commit...thing to modules/client/rooms.
...
modules/client/rooms: Cleanup; renamespacing.
2018-02-22 20:46:27 -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
44ff77a03f
ircd: Ⓜ️ Move redact() definition to modules/client/rooms/redact
...
modules/client/rooms/redact: renamespacing.
2018-02-22 20:32:10 -08:00
Jason Volk
99239c8b95
ircd: Ⓜ️ Move leave() definition to modules/client/rooms/leave.
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
33788e66f2
ircd::mods: Improve hiding the module name suffix from public interface.
2018-02-22 20:32:09 -08:00
Jason Volk
116b6e12a6
ircd: Ⓜ️ Move join() definition to modules/client/rooms/join.
2018-02-22 20:32:09 -08:00
Jason Volk
09519174e2
ircd: Ⓜ️ Move room create() definition to modules/client/createroom.
2018-02-22 20:21:47 -08:00
Jason Volk
0569b41f4b
ircd::mods: Add sym_ptr / import_shared reference ctors.
2018-02-22 14:30:11 -08:00
Jason Volk
8ae1e735f2
construct/ircd: Minor update stale comments.
2018-02-22 01:33:25 -08:00
Jason Volk
ec4a631608
ircd: Ⓜ️ 🆔 Update generator constructor; add room_id generator; minor cleanup.
2018-02-22 00:38:25 -08:00
Jason Volk
f235fc155e
ircd::server: Close and remove node on name resolution error.
2018-02-21 17:44:08 -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
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
198aea3e8f
ircd: Ⓜ️ Fix warning from 329b1dc5
.
2018-02-20 15:40:40 -08:00
Jason Volk
4de2479f73
ircd: Ⓜ️ Add missing characters to user mxid grammar.
2018-02-20 15:40:40 -08:00
Jason Volk
e5bc194fe5
ircd: Ⓜ️ Have id sigil grammar convert and return the enum.
2018-02-19 20:56:45 -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
36363134e5
ircd::aio: Cleanup / further simplify.
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
a21b2b28fa
ircd::info: Minor reorg / cleanup.
2018-02-19 13:32:34 -08:00
Jason Volk
7142cbf735
ircd: Move magic out of fs::.
2018-02-18 22:54:54 -08:00
Jason Volk
fbafdaa851
ircd::mods: Disable the mangles map for now.
2018-02-18 22:38:23 -08:00
Jason Volk
de08752853
ircd::net: Remove unused/erroneous has_timeout().
2018-02-18 22:38:23 -08:00
Jason Volk
5a16a5ded9
ircd::json: Indicate static duration for these printer closures.
2018-02-18 22:35:35 -08:00
Jason Volk
f8e5ca20d3
ircd::json: Remove the double-indirected member stringify.
2018-02-18 22:35:35 -08:00
Jason Volk
89ca9c9b24
ircd::json: Allow multiple attributes to the printer; simplify printer stack.
2018-02-18 22:35:27 -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
f5197cc8ff
ircd::fs: Add magic interface.
2018-02-18 01:12:09 -08:00
Jason Volk
b5cb40e63d
configure.ac: Support libmagic.
2018-02-17 21:42:27 -08:00
Jason Volk
2be465d67f
ircd::aio: Zero-length IO is very much a thing.
2018-02-17 17:14:15 -08:00
Jason Volk
62f4db4cce
ircd: Ⓜ️ Fix/cleanup m::id generator ctor.
2018-02-17 16:17:59 -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
e149f38d79
ircd::json: This has to be more relaxed for now here.
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
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
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
bd6d0903a8
ircd: Ⓜ️ : Fix stupid.
2018-02-16 13:33:19 -08:00
Jason Volk
acdb99887f
ircd: Remove redundant sentence from README.
2018-02-16 11:26:43 -08:00
Jason Volk
00e90865d2
ircd: Ⓜ️ Add linear query suite to room interface.
2018-02-15 19:17:09 -08:00
Jason Volk
dbf6453171
ircd: Move IRCd Library section from top README.
2018-02-15 18:32:03 -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
2921692571
ircd: Update Makefile ordering.
2018-02-15 14:07:25 -08:00
Jason Volk
d366523b64
ircd: Ⓜ️ Move sigil prefixing out of the random functors in generate_t ctor.
2018-02-15 13:55:09 -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
08335c3883
ircd: Ⓜ️ Add random alpha-based ID generator.
2018-02-15 13:00:23 -08:00
Jason Volk
7b0c53501a
ircd::rand: Modernize interface.
2018-02-15 12:53:00 -08:00
Jason Volk
a7c662529d
ircd: Ⓜ️ :vm: Remove the fronts map.
2018-02-14 22:07:01 -08:00
Jason Volk
a66f0f9423
ircd::json: Update the generator grammar.
2018-02-13 21:14:52 -08:00
Jason Volk
333d7a81f5
ircd: Move ircd::db::init up in the main sequence.
2018-02-13 20:38:55 -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
032156a18e
ircd: Ⓜ️ Force json::STRING on event.content.body so purely numerical messages are quoted.
2018-02-12 19:52:10 -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
dbdc4a94d2
ircd: Ⓜ️ :state: Use the appropriate codepath for undefined key dfs.
2018-02-11 15:47:25 -08:00
Jason Volk
bbbb88fe46
modules/client/user: Reactivate the get filter endpoint.
2018-02-11 15:47:25 -08:00
Jason Volk
830a4b92a1
ircd: Ⓜ️ Add preliminary !@user:host "user's room" to database all things user.
2018-02-11 15:47:24 -08:00
Jason Volk
085776655c
ircd: These const_buffer casts are no longer necessary.
2018-02-11 15:47:24 -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
b94d0b8ce6
ircd: Ⓜ️ Split m::user compilation unit.
2018-02-11 12:02:49 -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
b1d257c93a
ircd: Support authorization: bearer access tokens.
2018-02-10 22:03:39 -08:00
Jason Volk
8044fdb3ce
ircd: Reenable access token authentication.
2018-02-10 22:03:31 -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
9ddf83c73c
ircd: Ⓜ️ Retool the local query to the m::keys room.
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
6c6069fc2c
ircd: Ⓜ️ Reflect sigil in m::id parse failure here.
2018-02-10 17:00:20 -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
98d3b8bc65
ircd: Ⓜ️ :state: Make each() into test() protocol.
2018-02-10 00:38:36 -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
dd582bd21d
ircd: Ⓜ️ Retool the user password check in the accounts room.
2018-02-09 12:24:13 -08:00
Jason Volk
0906db32d0
ircd: Ⓜ️ Reenable the state test/for_each; ensure any value unquote(); minor.
2018-02-09 12:24:13 -08:00
Jason Volk
366716c890
ircd: Ⓜ️ :room: Reenable the has state query; apply state::get(nothrow) in places.
2018-02-09 12:24:13 -08:00
Jason Volk
cf18cdfcb7
ircd: Ⓜ️ :state: Add nothrow overloads for value get() suite.
2018-02-09 11:55:49 -08:00
Jason Volk
cee2b5d561
ircd: Ⓜ️ Reenable the room membership test using state b-tree query.
2018-02-09 11:33:48 -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
25ce5e76a6
ircd: Ⓜ️ Reenable the other other (sic) m::room::members iteration.
2018-02-09 00:03:08 -08:00
Jason Volk
9ac16d14d4
ircd::mods: Split into internal header.
2018-02-08 23:36:04 -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
62dbef1df6
ircd: Ⓜ️ Reenable one of the m::room::members iterations now over the state b-tree.
2018-02-08 21:03:44 -08:00
Jason Volk
9d22fe725a
ircd: Ⓜ️ Reenable the exists(room) query.
2018-02-08 21:01:52 -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
c7d7995772
ircd: Ⓜ️ :dbs: Use better temporary prefix delimiter sequence.
2018-02-08 17:19:03 -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
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
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
f04ba38b42
ircd: Rename the stream_buffer to window_buffer.
2018-02-07 21:54:41 -08:00
Jason Volk
09b0c3d20d
ircd::net::dns: Don't log.error common NXDOMAIN rcodes.
2018-02-07 12:16:17 -08:00
Jason Volk
45e9f7304f
ircd: Call log::fini; flushing on runlevel change / halt.
2018-02-07 12:16:17 -08:00
Jason Volk
353ee9b80d
ircd::ctx: Spawn OLE thread lazily.
2018-02-07 12:16:17 -08:00
Jason Volk
12f1bf97b4
ircd::net: Move the timedout nulling to here.
2018-02-07 12:16:17 -08:00
Jason Volk
dc4d827def
ircd::net::dns: Improve the resolution handlers and callback chain.
2018-02-07 00:24:54 -08:00
Jason Volk
4623e4448f
ircd::http: Add 502 Bad Gateway.
2018-02-07 00:24:54 -08:00
Jason Volk
cf112ec26e
ircd::http: Better handling of unrecognized HTTP status code to reason string.
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
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
4a56c0a1cd
ircd::fs: Asynchronous writes to local filesystem.
2018-02-06 00:02:18 -08:00
Jason Volk
1bb9624bce
ircd: Give AIO its own TRU.
2018-02-05 23:00:55 -08:00
Jason Volk
79198527a7
configure/ircd: Consider all boost headers unconditional.
2018-02-05 21:24:36 -08:00
Jason Volk
230eb3fc7a
ircd::ctx::prof: Consistent warning message strings.
2018-02-05 21:24:36 -08:00
Jason Volk
af62b5f089
ircd: Ⓜ️ :state: Proper typedef for value closures.
2018-02-05 21:24:36 -08:00
Jason Volk
57ed24f868
ircd::db: Reenable the background work cancel for shutdown sequence.
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
5cf77cf87c
ircd::db: Don't silently refuse seek() when no snapshot.
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
efeaf3475a
ircd: Ⓜ️ :state: Move DFS recursor out of closure.
2018-02-05 21:24:35 -08:00
Jason Volk
69427d7e43
ircd::ctx: Enable ctx::prof on debug builds only.
2018-02-05 21:24:35 -08:00
Jason Volk
3ba527079b
ircd::ctx: Sample rdtsc to complement profile warning output.
2018-02-05 21:24:35 -08:00
Jason Volk
7b48bc9f40
ircd: Ⓜ️ :dbs: Checkpoint the meta-index "state_head for event_id in room_id"
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
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