Jason Volk
d5a0f6b5c7
ircd::openssl: Fix missing envelope assignment.
2019-04-23 15:26:44 -07:00
Jason Volk
28f677eef2
ircd::info: Remove ununused; minor reorg.
2019-04-23 01:30:36 -07:00
Jason Volk
124f62d159
Revert "ircd::db: Lock writes after memtable sealed until flush to prevent rocksdb pthread use."
...
This reverts commit c370cdc123
.
2019-04-22 19:08:01 -07:00
Jason Volk
306752b2a5
ircd::fs::aio: Remove erroneous #define.
2019-04-22 16:59:03 -07:00
Jason Volk
c370cdc123
ircd::db: Lock writes after memtable sealed until flush to prevent rocksdb pthread use.
2019-04-22 16:32:40 -07:00
Jason Volk
a61d04a9c2
ircd::fs: Allow ircd.fs.aio.max_submit=0 to indicate max possible.
2019-04-22 15:40:34 -07:00
Jason Volk
c6d056421d
ircd::db: Log warning when crc32c acceleration is not available.
2019-04-22 15:24:07 -07:00
Jason Volk
4d491340b6
modules/client/rooms/leave: Add missing m::leave definition.
2019-04-22 14:27:12 -07:00
Jason Volk
fd9097cfd4
modules/m_room: Move m::send impl back to client/rooms.
2019-04-22 14:27:12 -07:00
Jason Volk
f3845e11af
modules/client/rooms/join: Export namespaced definitions for join.
2019-04-22 14:27:12 -07:00
Jason Volk
f6314a4201
modules/s_fetch: Minor reorg; pass room arg to fetch::synchronize().
2019-04-22 12:45:45 -07:00
Jason Volk
e3b1be2910
ircd: Ⓜ️ :vm: Refactor various fetch related options.
2019-04-22 12:27:43 -07:00
Jason Volk
4c44738dc3
ircd::server: Increase tls buffer size.
2019-04-22 12:13:34 -07:00
Jason Volk
e0b4dc4450
ircd::server: Use a uniform log prefix for link related.
2019-04-22 12:13:27 -07:00
Jason Volk
d6374466f3
ircd::fs::aio: Test for blocking flag rather than option if available.
2019-04-22 09:45:14 -07:00
Jason Volk
c04708aca4
ircd::fs::aio: Minor tweak call pattern for wait(request).
2019-04-22 09:29:09 -07:00
Jason Volk
acd774c3ee
ircd::fs: Make ~fd() noexcept.
2019-04-22 09:16:11 -07:00
Jason Volk
7d55468511
ircd::fs: Add fd::opts getter from open fd.
2019-04-22 09:14:46 -07:00
Jason Volk
d08bcc2f32
ircd::fs: Add fd::release() memfn.
2019-04-22 08:55:42 -07:00
Jason Volk
f145c6774a
ircd::fs: Rename function.
2019-04-21 04:15:10 -07:00
Jason Volk
1137f8a29b
ircd::fs::aio: Fix waiting on cancels; various fixes.
2019-04-21 04:15:10 -07:00
Jason Volk
003f9f771a
ircd::fs: Break from read()/write() loops for non-blocking operations without exception.
2019-04-20 22:28:15 -07:00
Jason Volk
bbc5d9ee5b
ircd::fs::aio: Improve error assumptions / reporting around io_submit().
2019-04-20 22:28:15 -07:00
Jason Volk
dae1a9be4a
ircd::db::env: Assert rocksdb does not call prefetch with direct-io.
2019-04-20 19:29:07 -07:00
Jason Volk
900fab1e79
ircd::fs: Propagate EAGAIN without exception for !opts.blocking operations.
2019-04-20 19:29:07 -07:00
Jason Volk
fbcd38fa17
ircd::fs: Add a preliminary fincore(1)-like tool.
2019-04-20 19:24:18 -07:00
Jason Volk
c4ace8cd8e
ircd::client: Remove deprecated SSL_R_SHORT_READ for OpenSSL 1.1.
2019-04-20 19:24:18 -07:00
Jason Volk
2463bfb4ed
ircd::openssl: Address remaining 1.0 vs. 1.1 compat.
2019-04-20 19:24:18 -07:00
Jason Volk
744438ec49
ircd: Precompile the spirit.h header.
2019-04-20 19:24:18 -07:00
Jason Volk
db539c6268
ircd::db: Add write-ahead-log recovery callback surface.
2019-04-20 14:30:42 -07:00
Jason Volk
8dd201bfdb
ircd::openssl: Fix compatibility in assert statement.
2019-04-20 13:26:38 -07:00
Jason Volk
4db52804cb
ircd::ctx: Use iteration closure rather than exposing ctx::list.
2019-04-19 20:50:22 -07:00
Jason Volk
9b034a0df4
ircd::openssl: Partial OpenSSL 1.1.x compatibility.
2019-04-19 18:17:28 -07:00
Jason Volk
55fc2c6f76
ircd::prof: Add callgrind hypercall suite.
2019-04-19 05:53:54 -07:00
Jason Volk
def7ee2753
ircd::allocator: Renamespace the vg utils.
2019-04-19 05:26:51 -07:00
Jason Volk
810888b53c
ircd::db: Allow concurrent memtable write.
2019-04-19 00:17:00 -07:00
Jason Volk
f27b56fac3
ircd::db: Show commit debuglog messages.
2019-04-19 00:15:14 -07:00
Jason Volk
c7a872c67a
ircd: Ⓜ️ 🪝 Add accounting for hook calls; site/hook current call count.
2019-04-18 21:52:33 -07:00
Jason Volk
0176dba9a8
ircd: Ⓜ️ :fetch: Consolidate interface; remove unused; reorg.
2019-04-18 19:12:37 -07:00
Jason Volk
5bdbc3f0bc
ircd::info: Chomp newline from ctime() calls.
2019-04-18 18:58:07 -07:00
Jason Volk
4c95765e07
ircd::fs::aio: Add assertions for null value aio_data.
2019-04-18 18:33:58 -07:00
Jason Volk
9907f7f477
ircd::stats: Add value; add operator/access suite.
2019-04-18 17:56:09 -07:00
Jason Volk
c427223340
ircd::mapi: Force the header inline so the module contains the constants.
2019-04-18 17:36:33 -07:00
Jason Volk
1312784518
ircd::mapi: Add a serial number to deal with removed modules which are still installed.
2019-04-18 17:36:33 -07:00
Jason Volk
61e136f577
ircd::mods: Actually check the MAPI header version on load.
2019-04-18 16:53:47 -07:00
Jason Volk
4668545688
modules: Move federation/federation to s_feds.
2019-04-18 16:38:53 -07:00
Jason Volk
0edd47d383
ircd: Ⓜ️ :feds: Add vector of operations to API.
2019-04-18 15:26:03 -07:00
Jason Volk
6eeb8da71d
ircd: Ⓜ️ Try for outer membership property first before parsing content.
2019-04-18 14:35:46 -07:00
Jason Volk
4d6eb23352
ircd: Use unwind::defer to enter run::level::HALT.
2019-04-18 05:46:20 -07:00
Jason Volk
c6a59ab6b1
ircd::util: Add an unwind::defer device.
2019-04-18 05:46:07 -07:00
Jason Volk
5232893c6a
ircd: Ⓜ️ :fetch: Checkpoint frontfill / head selection related.
2019-04-18 05:17:49 -07:00
Jason Volk
bc922724cd
ircd: Ⓜ️ :feds: Refactor interface into opcode ABI.
2019-04-18 05:16:21 -07:00
Jason Volk
59982907d3
ircd: Ⓜ️ :feds: Add feds::auth; update console cmd.
2019-04-18 04:13:21 -07:00
Jason Volk
871fb748eb
ircd: Ⓜ️ :fetch: Pass boolean values down the stack for start/prefetch.
2019-04-18 01:21:22 -07:00
Jason Volk
477090ff52
ircd::server: Minor assertions.
2019-04-18 01:19:02 -07:00
Jason Volk
91bed23951
ircd::allocator: Meet posix spec requirements for posix_memalign().
2019-04-18 00:59:56 -07:00
Jason Volk
51b3e63959
ircd::allocator: Include aligned allocs in profile.
2019-04-18 00:59:56 -07:00
Jason Volk
128b770429
ircd::buffer: Move aligned_alloc to ircd::allocator; deinline.
2019-04-18 00:21:08 -07:00
Jason Volk
0fa4bdcff7
ircd: Ⓜ️ :rooms: Consolidate / refine the rooms iteration interface.
2019-04-17 20:47:50 -07:00
Jason Volk
25680a8ed2
ircd: Move smalldate() to date.h from logger unit.
2019-04-17 19:27:26 -07:00
Jason Volk
4d3727a0a1
ircd::fs: Condition various runtime support on compilation too.
2019-04-17 19:19:30 -07:00
Jason Volk
1eaff2e91e
ircd::fs: Runtime binding for pwritev(2)/pwritev2(2) based on kernel version.
2019-04-17 19:19:30 -07:00
Jason Volk
6fbf882e16
ircd::fs: Use GNU indirect function binding to efficiently support RWF_APPEND at runtime.
2019-04-17 19:09:16 -07:00
Jason Volk
62441e1c68
ircd: Switch to lazy-loading libircd.so symbols.
2019-04-17 17:29:08 -07:00
Jason Volk
08b53b1746
ircd::vg: Start a valgrind emulator hypercall suite.
2019-04-17 00:59:52 -07:00
Jason Volk
83193d0ff9
ircd::server: Add an op_open; handle control return to link::open().
2019-04-16 22:37:44 -07:00
Jason Volk
0f404a0bda
ircd::net: Addition assertions; use constrefs in handler cbs.
2019-04-16 21:39:43 -07:00
Jason Volk
945ce126c5
ircd::net: Remove explicit string conversion.
2019-04-16 21:11:39 -07:00
Jason Volk
9a44188c00
ircd::net Increase buffer sizes.
2019-04-16 21:11:27 -07:00
Jason Volk
46acff07b7
ircd::server: Elide allocations for these stringifies.
2019-04-16 20:57:06 -07:00
Jason Volk
4038973297
ircd::util: Use allocator::node for instance_list instances.
2019-04-16 20:48:00 -07:00
Jason Volk
7c6c60960f
ircd::net: Improve various callback fini/error conditions.
2019-04-16 20:10:24 -07:00
Jason Volk
6bf3ccb7b5
ircd::net: Bypass call to current_cipher() on error conditions.
2019-04-16 20:10:24 -07:00
Jason Volk
a24d3a1d96
ircd::net: Prevent any handshake on finished socket out of handle_connect.
2019-04-16 20:10:23 -07:00
Jason Volk
ff25a486a0
ircd::net: Bail from handle_verify() on socket fini.
2019-04-16 20:10:23 -07:00
Jason Volk
3b832db9a4
ircd::net: Add traps under reject()s.
2019-04-16 20:00:17 -07:00
Jason Volk
903a6e7f57
ircd::server: Copy the eptr so it doesn't get robbed on forwarding constructions.
2019-04-16 19:04:23 -07:00
Jason Volk
8cfc9e832e
ircd::net: Fix scope_timeout move assignment.
2019-04-16 18:33:01 -07:00
Jason Volk
af1bd92b26
ircd::spirit: Apply hidden visibility to all headers + our internal grammar namespaces.
2019-04-16 18:33:01 -07:00
Jason Volk
5fee4a9933
ircd: Ⓜ️ :events: Add type-based iteration w/ console cmd.
2019-04-16 16:11:23 -07:00
Jason Volk
fb199fbc01
ircd::rfc3986: Fix duration of constructed validator rules; improve grammar branches.
2019-04-16 16:11:23 -07:00
Jason Volk
9b00c65ef6
ircd: Ⓜ️ :events: Add additional lighter-weight event_idx iteration tools.
2019-04-16 16:11:23 -07:00
Jason Volk
d96208faaf
ircd: Ⓜ️ :events: Add iteration tools for events in sender/origin.
2019-04-16 16:11:23 -07:00
Jason Volk
ecbdf00f22
ircd: Ⓜ️ :dbs: Add event_type metadata column.
2019-04-16 16:11:23 -07:00
Jason Volk
8148dc6502
ircd: Ⓜ️ :dbs: Add event_sender metadata column.
2019-04-16 15:04:31 -07:00
Jason Volk
25d153d64c
ircd: Ⓜ️ :sync: Add an initial phase convenience; add account_data as an initial phase.
2019-04-16 01:32:52 -07:00
Jason Volk
f17e521ff8
ircd::ios: Objectify the asio enqueuing wrappers.
2019-04-16 01:32:52 -07:00
Jason Volk
5d04c8c607
ircd::net: Shortcut string creation on closed / lame sockets.
2019-04-15 22:47:24 -07:00
Jason Volk
b51d5d1461
ircd::net: Add TLS buffers for various stringifies.
2019-04-15 22:47:24 -07:00
Jason Volk
2b759963bd
modules/s_listen: Add accept flow control mechanism.
2019-04-15 22:47:24 -07:00
Jason Volk
74a28f2f10
ircd::net: Tweak calls to set socket non-blocking.
2019-04-15 22:47:24 -07:00
Jason Volk
92cdccf956
ircd::net: Add parent ssl_cipher conf items; add curve items.
2019-04-15 22:16:16 -07:00
Jason Volk
889b65a002
ircd::net: Additional traps / assertions.
2019-04-15 17:09:35 -07:00
Jason Volk
b56df6677e
ircd::server: Set SNI explicitly here rather than through fallback.
...
ircd::server: Detect IP literal to set the peer::remote/open_opts directly.
2019-04-15 17:09:32 -07:00
Jason Volk
7d021f9430
ircd::server: Rename server_name to server_version.
2019-04-15 15:23:44 -07:00
Jason Volk
9b9f44d863
ircd::net: Skip call to set server_name when no server_name.
2019-04-15 15:23:44 -07:00
Jason Volk
0e0d95b266
ircd::ctx: Fix comment error.
2019-04-15 14:44:58 -07:00
Jason Volk
7a055e22ef
ircd::server: Disassociate tag from request on cancel.
2019-04-15 11:43:53 -07:00
Jason Volk
f9025cebb9
ircd: Support read-only and write-avoid modes via conf item / command line.
2019-04-15 11:16:31 -07:00
Jason Volk
726f131cc2
ircd::fs::aio: Use defer to post the chaser.
2019-04-12 17:32:53 -07:00
Jason Volk
58c5ac7855
ircd::ios: Add asio::defer() to interface.
2019-04-12 16:26:34 -07:00
Jason Volk
8c68a24e1f
ircd::ctx::prof: Add cycle counter to ticker array.
2019-04-12 15:58:06 -07:00
Jason Volk
0ce0fe3890
ircd::server: Enable the cancel debug msg.
...
modules/s_fetch: Improve log level.
2019-04-12 14:26:10 -07:00
Jason Volk
15bd7282c7
ircd::db: Use rvalue refs here.
2019-04-12 09:36:53 -07:00
Jason Volk
14c32a2075
ircd::http: Support HTTP/1.0.
2019-04-12 08:36:17 -07:00
Jason Volk
34e35d97fe
ircd::server: Additional assertions.
2019-04-12 07:12:49 -07:00
Jason Volk
79475d2ba3
ircd::net: Set socket non-blocking after handshake.
2019-04-12 05:54:11 -07:00
Jason Volk
2822cd0a8a
ircd: Ⓜ️ :fetch: Add headfill operation.
2019-04-12 05:09:38 -07:00
Jason Volk
e5b2700db3
ircd: Ⓜ️ :v1: Allow empty user_id argument to have a fallback.
2019-04-12 04:45:25 -07:00
Jason Volk
eb33688bc1
ircd: Ⓜ️ :fetch: Add additional interface tools; consolidate interface; cleanup/reorg.
...
ircd:Ⓜ️ :fetch: Add backfill suite.
2019-04-12 04:44:26 -07:00
Jason Volk
7d27126f96
ircd: Ⓜ️ :room: Add any_user() convenience.
2019-04-12 04:44:26 -07:00
Jason Volk
c14d67102a
ircd: Ⓜ️ :fetch: Reorient interface to expose fetch::request.
2019-04-12 03:35:46 -07:00
Jason Volk
eace5e309c
ircd: Ⓜ️ :feds: Add / upgrade backfill.
2019-04-12 01:53:57 -07:00
Jason Volk
360cc01dc8
ircd: Ⓜ️ :feds: Migrate feds::perspective() to interface.
2019-04-12 00:55:16 -07:00
Jason Volk
302969f100
ircd: Ⓜ️ :feds: Add namespace \brief. Reorg impl layout.
2019-04-12 00:33:29 -07:00
Jason Volk
dc93610914
ircd: Ⓜ️ :feds: Add feds::event to interface.
2019-04-12 00:16:27 -07:00
Jason Volk
3865326d71
ircd::server: Add additional loghead(link, request) with more data.
2019-04-11 22:26:11 -07:00
Jason Volk
4f27526e9b
ircd::server: Add monotonic identity counters for peers and links.
2019-04-11 22:26:11 -07:00
Jason Volk
d38c5801c9
ircd::server: Add interface to iterate all requests.
2019-04-11 21:40:59 -07:00
Jason Volk
5f1f0d0d7f
ircd::server: Distill out functions to parse HTTP head from in/out buffers.
2019-04-11 21:13:42 -07:00
Jason Volk
9a6c5f5fe4
ircd::server: Don't parse from outbound buffer for canceled requests.
2019-04-11 20:49:29 -07:00
Jason Volk
eef869691a
ircd::client: Tap the client::dock on all dtors.
2019-04-11 08:53:38 -07:00
Jason Volk
7794a92159
ircd::exception: Avoid repeating the system_error message string.
2019-04-11 07:50:48 -07:00
Jason Volk
c9c171ed5b
ircd: Ⓜ️ :feds: Refine the feds preliminary central interface.
2019-04-11 06:27:28 -07:00
Jason Volk
39ac003522
ircd: Ⓜ️ :v1: Fallback to generating random user_id's for make_join.
2019-04-11 05:14:44 -07:00
Jason Volk
6d15db176d
ircd::net: Fix mislabeled ios::descriptor.
2019-04-10 22:59:23 -07:00
Jason Volk
74778bd024
ircd::ios: Add a queued handler counter to stats.
2019-04-10 22:54:13 -07:00
Jason Volk
1d45f0bc5b
ircd::net: Remove this prefetch.
2019-04-10 22:35:11 -07:00
Jason Volk
be18a1874d
ircd::db: Increase file size target default.
2019-04-10 22:32:06 -07:00
Jason Volk
562651aa7d
ircd: Ⓜ️ :fetch: Add fetch+eval workers; start central interface; various.
2019-04-10 22:32:06 -07:00
Jason Volk
3a57cc8c94
ircd::db::port: Allow icf on impl defs.
2019-04-10 22:32:06 -07:00
Jason Volk
446964bb67
ircd::server: Apply stack protected canary on key frames.
2019-04-10 22:32:06 -07:00
Jason Volk
0b51a10a44
ircd::fs::aio: Count io_submit() 'stalls' in stats.
2019-04-10 20:18:51 -07:00
Jason Volk
ba46e8c005
ircd::fs::aio: Move for_each_completed() to central interface; add additional utils.
2019-04-10 20:18:51 -07:00
Jason Volk
4f4019a2a0
ircd: Ⓜ️ Add id::USER case to room_id().
2019-04-10 20:18:50 -07:00
Jason Volk
ce9a9e58b4
ircd::fs: Switch to syscall_usage_warning for io_submit and fsync et al.
2019-04-10 20:18:50 -07:00
Jason Volk
d8bf5b9fff
ircd::ctx: Add a syscall_usage_warning to suite.
2019-04-10 20:18:50 -07:00
Jason Volk
96ff7022d0
ircd::prof: Add a coarse enable conf item.
2019-04-10 01:29:25 -07:00
Jason Volk
06e7b16ed5
ircd::mods: Stub internal dlsym() hooker.
2019-04-09 21:27:45 -07:00
Jason Volk
a1863ba3b2
ircd::fs: Minor cleanup.
2019-04-09 21:08:15 -07:00
Jason Volk
5c558f98b6
ircd: Remove the initfirst linker request option.
2019-04-09 21:08:15 -07:00
Jason Volk
5c359f22f3
ircd::net::socket: Change behavior of non-blocking read_() calls to not throw for EAGAIN.
2019-04-09 21:08:15 -07:00
Jason Volk
3a9e85c294
ircd::net::addrs: Tweak interface detail; workaround issues.
2019-04-09 20:05:48 -07:00
Jason Volk
f268d6e29a
ircd::fs::aio: Fix argument initialization.
2019-04-09 19:00:24 -07:00
Jason Volk
a8b536e420
modules/client/sync: Improve phased initial sync by bursting full room list at phase 0.
2019-04-08 04:43:23 -07:00
Jason Volk
a82410009e
ircd: Ⓜ️ :sync: Introduce phased polylogarithmic initial sync.
2019-04-08 02:46:49 -07:00
Jason Volk
a780609b76
ircd: Ⓜ️ :sync: Add opts to sync::item.
2019-04-08 01:53:09 -07:00
Jason Volk
d08bd0b336
ircd: Ⓜ️ :vm: Remove unused fault codes.
2019-04-07 20:57:43 -07:00
Jason Volk
5782f2a5f5
modules/m_rooms: Update module linkage of rooms::for_each().
2019-04-07 20:15:31 -07:00
Jason Volk
6ff3c88fa4
ircd::fs: Add a wait() interface.
2019-04-07 17:59:52 -07:00
Jason Volk
3bed48011d
ircd::fs: Add non-blocking option passed to fd ctor's open(2) fwiw.
2019-04-07 16:45:35 -07:00
Jason Volk
9994836db0
ircd::fs: Add and use dedicated log facility for ircd::fs.
2019-04-07 16:28:21 -07:00
Jason Volk
e752273462
ircd::prof: Add an rusage based profile object.
2019-04-07 15:34:39 -07:00
Jason Volk
ab6cf110d5
ircd::prof: Make sample_t constructions consistent for all prof objects.
2019-04-07 15:33:36 -07:00
Jason Volk
6ae6624772
ircd: Ⓜ️ Add room object equality operator suite.
2019-04-07 14:50:27 -07:00
Jason Volk
8a8dbea623
ircd: Ⓜ️ Update linkage for m::visible interface.
2019-04-06 18:35:01 -07:00
Jason Volk
5384bd8609
ircd: Ⓜ️ :dbs: Minor fix typo.
2019-04-06 18:17:54 -07:00
Jason Volk
989b3f0cc3
ircd::rfc1035: Use proper platform byte swapping.
2019-04-06 17:12:01 -07:00
Jason Volk
d1966fffb5
ircd::prof: Add more timing calls with better resolution.
2019-04-06 14:18:08 -07:00
Jason Volk
161502452a
ircd::fs::aio: Improve stability of completion ring iteration.
2019-04-06 13:52:22 -07:00
Jason Volk
d118a0e743
ircd::fs: Add enumerated op codes to identify request types.
2019-04-06 12:13:16 -07:00
Jason Volk
c3b9e2fca4
ircd::fs::aio: Reduce nr of modulo for completion ring iteration.
2019-04-05 18:12:23 -07:00
Jason Volk
9d8fe82126
ircd::prof: Add x-platform cputime reporting alternative interface.
2019-04-05 18:12:23 -07:00
Jason Volk
e29ebb0b98
ircd::info: Query sysconf value for CLK_TCK.
2019-04-05 18:12:23 -07:00
Jason Volk
3a68b65fe8
ircd::ctx: Optimize with no_stack_unwind attribute since it's done by us.
2019-04-05 18:12:23 -07:00
Jason Volk
c3480f9f79
ircd: Rename various matrix loggers; increase log name width.
2019-04-05 18:12:22 -07:00
Jason Volk
ecf8465d36
ircd::log: Change some widths into consts; various reorg.
2019-04-05 14:38:50 -07:00
Jason Volk
5a26cbb65c
ircd::mods: Fix error code case for module load errors; split demangler function.
2019-04-03 21:05:39 -07:00
Jason Volk
f289bc5095
ircd: Additional system_error translation utils.
2019-04-03 21:05:39 -07:00
Jason Volk
8e1dc9f453
ircd::prof: Develop profiling system; implement non-hardware counters.
2019-04-03 15:51:42 -07:00
Jason Volk
5e7661ba78
ircd::info: Tweaks for additional CPU identification.
2019-04-03 15:51:42 -07:00
Jason Volk
ff4afc0efc
ircd::fmt: Add support for padding; add alignment and padding to additional handlers.
...
fixes #54
2019-04-03 15:51:42 -07:00
Jason Volk
a1419ca78b
ircd::fmt: Add alignment rules to hex lowercase specifier handler.
2019-04-03 15:51:42 -07:00
Jason Volk
63c850b123
ircd: Rename perf:: to prof::.
2019-04-03 15:51:42 -07:00
Jason Volk
091ee437c0
ircd: Ⓜ️ :sync: Fix missing exception reporting on linear handle caller.
2019-04-02 09:47:35 -07:00
Jason Volk
6af9d35edc
ircd::info: Fix platform condition; string length.
2019-04-01 02:04:52 -07:00
Jason Volk
f7dc5f6146
ircd::fs: Add fd fdno ctor.
2019-03-31 23:57:35 -07:00
Jason Volk
dab225113d
ircd::resource: Handle and generate an OPTIONS response.
...
fixes #65
2019-03-31 23:08:29 -07:00
Jason Volk
7434a06ec6
ircd::resource: Add conditional method list generator.
2019-03-31 19:15:45 -07:00
Jason Volk
c75d602d69
ircd::http: Fix case comparisons for header strings in header tool.
2019-03-31 19:00:38 -07:00
Jason Volk
af08458f8d
ircd::resource: Stub default/builtin method handlers for OPTIONS and HEAD.
2019-03-31 18:51:59 -07:00
Jason Volk
ae936d8e55
ircd::resource: Improve method already-registered error msg.
2019-03-31 18:38:24 -07:00
Jason Volk
403bf52867
ircd::perf: Start a perf profiling subsystem; move ctx::prof counter utils.
2019-03-31 18:16:18 -07:00
Jason Volk
9e61cf7bc0
ircd::info: Query cpuid features on init.
2019-03-31 17:04:02 -07:00
Jason Volk
04959d946c
ircd: Ⓜ️ :state: Reduce for_each stack.
2019-03-31 15:12:38 -07:00
Jason Volk
19c58ca23e
ircd: Ⓜ️ :filter: Add convenience filter::get() taking a direct query string value.
2019-03-31 14:41:04 -07:00
Jason Volk
6644161140
ircd: Ⓜ️ Add state_filter w/ related m::name strings.
2019-03-31 14:03:21 -07:00
Jason Volk
57119f2367
ircd::fs::aio: Minor cleanup.
2019-03-31 13:24:42 -07:00
Jason Volk
4eba0fcd6f
modules/client/directory/room: Remove old alias caching and fetching; reroute central interfaces.
2019-03-30 19:02:11 -07:00
Jason Volk
9c2b215d60
ircd: Ⓜ️ :room::aliases::cache: Add remote fetching; improve interface.
2019-03-30 19:02:11 -07:00
Jason Volk
8063904c06
ircd: Ⓜ️ :room::aliases: Add preliminary aliases cache replacement interface.
2019-03-30 19:02:11 -07:00
Jason Volk
d17ac6a8bb
ircd: Ⓜ️ 🆔 Add id part-swapping interface.
2019-03-30 18:15:07 -07:00
Jason Volk
276ba9941d
modules/m_room_aliases: Move for_each impl to module.
2019-03-30 18:15:07 -07:00
Jason Volk
317fa612fb
ircd: Ⓜ️ :room: Add aliases interface.
2019-03-30 18:15:07 -07:00
Jason Volk
128fdfa8a3
ircd::json::stack: Improve active checkpoint invalidation related.
2019-03-30 14:58:34 -07:00
Jason Volk
9b2de5f4fc
ircd::json::stack: Add conditional exception rollback toggle.
2019-03-30 14:35:48 -07:00
Jason Volk
f7fa89b061
ircd::json::stack: Alter checkpoint rollback() behavior to proactive.
2019-03-30 14:13:34 -07:00
Jason Volk
a9a6adf28d
ircd::json::stack: Add checkpoint ctor option for initial commitment state.
2019-03-30 14:09:47 -07:00
Jason Volk
9f534dea17
ircd::fs::aio: Add iteration tool for kernel completion queue.
2019-03-30 14:09:47 -07:00
Jason Volk
db58b07ddc
ircd::ios: Ensure current handle pointer is nulled on fault exit point as well.
2019-03-30 13:11:55 -07:00
Jason Volk
0ffb6d6c8e
ircd::fs::aio: Improve interface with kernel context structure.
2019-03-30 13:11:39 -07:00
Jason Volk
672bb6f10c
ircd::ctx: Fix detach-mode deallocation points.
2019-03-30 13:08:04 -07:00
Jason Volk
b6732b5fdf
ircd::fs::aio: Optimize integer sizes of various stats.
2019-03-30 13:02:03 -07:00
Jason Volk
76138dbebd
ircd::fs::aio: Remove unused errbuf.
2019-03-29 21:46:03 -07:00
Jason Volk
ee5e31e0bf
ircd::json: Use strict type analysis for value constructions.
2019-03-28 21:50:08 -07:00
Jason Volk
f6f73e87cb
ircd::json: Add strict check overload to type() suite.
2019-03-28 21:01:56 -07:00
Jason Volk
4480c136ee
ircd::ios: Add summation for stats w/ console totals.
2019-03-28 17:22:52 -07:00
Jason Volk
289aca0c4a
ircd::ios: Move descriptor stats into structure.
2019-03-28 17:16:39 -07:00
Jason Volk
79065f805b
ircd::ios: Add hook for is_continuation; minor reorg.
2019-03-28 16:56:55 -07:00
Jason Volk
f340e44692
ircd: Ⓜ️ :vm: Add event_id and share sequence to the loghead; minor cleanup.
2019-03-28 16:08:45 -07:00
Jason Volk
4b816f8c74
ircd::json::stack: Warning when flushing under a checkpoint.
2019-03-28 15:49:48 -07:00
Jason Volk
840b3c4b0c
ircd::json::stack: Add method to check for pending eptr.
2019-03-28 15:49:48 -07:00
Jason Volk
8523aea56a
ircd: Ⓜ️ :dbs: Log various issues during reference indexing; minor cleanup.
2019-03-28 15:36:26 -07:00
Jason Volk
f15769ea0e
modules: Add .well-known handler to serve the m::self::servername string for now.
2019-03-28 13:13:35 -07:00
Jason Volk
d47518a102
ircd: Ⓜ️ :self: Add the servername string to this section; update README.
2019-03-28 13:08:40 -07:00
Jason Volk
6dc50292e8
ircd::fs: Simplify these ifdef conditions.
2019-03-27 19:07:11 -07:00
Jason Volk
1c5b7d2d71
ircd: Ⓜ️ :room::auth: Add central interface for chain fetch/eval.
2019-03-27 13:44:33 -07:00
Jason Volk
b73bb789b2
ircd::db: Fix runlevel condition for background task invocation.
2019-03-27 13:04:12 -07:00
Jason Volk
ccf17d648c
ircd::db: Add debug message for pool->wait() on bgcancel().
2019-03-27 13:04:12 -07:00
Jason Volk
334484c4bc
ircd::fs::aio: Add custom allocator at descriptor site for the sigfd operation.
2019-03-27 13:04:12 -07:00
Jason Volk
3225c1fdfe
ircd::ios: Add interface for user allocation closure at descriptor site.
2019-03-27 13:04:12 -07:00
Jason Volk
02f413c834
ircd::ios: Track current handler like ctx::current.
2019-03-27 13:04:12 -07:00
Jason Volk
1e900217ee
ircd::fs::aio: Move ring struct into system::.
2019-03-27 13:04:12 -07:00
Jason Volk
55241c5309
ircd::ctx: Expand the reference cycle counting interface.
2019-03-27 13:04:12 -07:00
Jason Volk
20d0ea70c2
ircd::ios: Add tsc counters to hook state.
2019-03-27 13:04:12 -07:00
Jason Volk
28063823dd
ircd::ctx: Inline rdtsc().
2019-03-27 13:04:12 -07:00
Jason Volk
d37129ac03
ircd::ios: Add allocation hooks.
2019-03-27 13:04:12 -07:00
Jason Volk
d2546120ee
ircd: Add descriptor participation for all asynchronous operations.
2019-03-27 13:04:12 -07:00
Jason Volk
d5397c599f
ircd::ios: Add asio handler hook framework.
2019-03-27 13:04:12 -07:00
Jason Volk
3bc716e0f5
ircd::ctx: Assert ctx doesn't finish with uncaught exceptions.
2019-03-27 13:04:12 -07:00
Jason Volk
6fbd29b1ed
ircd::ctx: Add context::WAIT_JOIN feature flag.
2019-03-27 13:04:12 -07:00
Jason Volk
97ee68d4f3
ircd::server: Don't alter open_opts.hostport here.
2019-03-25 19:14:49 -07:00
Jason Volk
0f184cd449
ircd::server: Fix loghead() failure conditions.
2019-03-25 18:48:32 -07:00
Jason Volk
84d4ca485b
ircd: Ⓜ️ :room::state: Add preliminary purge_replaced() w/ console cmd.
2019-03-25 18:39:30 -07:00
Jason Volk
6b3a459d29
Revert "ircd::server: Fix concurrency assumptions in server::get()."
...
This reverts commit 3db83faac3
.
2019-03-25 18:31:05 -07:00
Jason Volk
1ffa00adbf
ircd: Ⓜ️ :room: Add central interface linkage for room::purge().
2019-03-25 18:04:16 -07:00
Jason Volk
45d29ed5cf
ircd::net: Add log messages reporting IPv6 init status; handle errors during check.
2019-03-25 16:33:22 -07:00
Jason Volk
195937cd08
ircd::server: Condition the next query after SRV on ipv6 state.
2019-03-25 15:20:01 -07:00
Jason Volk
a54c5f44e4
ircd::net: Add conf item to toggle ipv6 for ircd::net::. Auto-detect viability on net::init.
2019-03-25 15:18:06 -07:00
Jason Volk
c0cbfd2d23
ircd::net: Add util to detect usable ipv6 interface.
2019-03-25 15:18:06 -07:00
Jason Volk
672e9dd712
ircd::server: Add conf item to toggle ipv6 use.
2019-03-25 15:18:06 -07:00
Jason Volk
28569176f2
ircd::net: Use a structured argument to addrs closure; add more data.
2019-03-25 15:18:06 -07:00
Jason Volk
a43c0e5798
ircd::server: Split AAAA and A handlers for chaining.
2019-03-25 14:37:01 -07:00
Jason Volk
8c27cb847a
ircd::net: Add conditional interface to getifaddrs() w/ console cmd.
2019-03-25 13:56:08 -07:00
Jason Volk
4d3fd753e1
ircd::net: Add interface for listener bound socket information; improve net listen console cmd.
2019-03-25 12:55:59 -07:00
Jason Volk
d7631dc39b
ircd::server: Skip DNS resolution on IP literals.
2019-03-25 12:26:56 -07:00
Jason Volk
9d552cd88a
ircd::net: Improve ipport/ep to_string related.
2019-03-25 12:25:25 -07:00
Jason Volk
46346f504e
ircd::rfc3986: Reorg grammar stack; add variable valid() tool.
2019-03-25 12:25:25 -07:00
Jason Volk
c5088c3af2
ircd::server: Show response code in tag completion debug log msg.
2019-03-25 12:25:25 -07:00
Jason Volk
d149c540f4
ircd::server: Split link opening routine from resolver handler.
2019-03-24 20:50:16 -07:00
Jason Volk
a9cff4f073
ircd::rfc3986: Add valid_literal() to interface.
2019-03-24 20:50:16 -07:00
Jason Volk
7f5f07509a
ircd::net::dns: Add utils to properly check for empty records in JSON.
2019-03-24 20:13:23 -07:00
Jason Volk
fe81c30806
ircd::net: Refactor dual stack integration.
2019-03-24 19:33:03 -07:00
Jason Volk
be563a9f18
ircd::net: Fix constness.
2019-03-24 16:21:01 -07:00
Jason Volk
c3c99ecea8
ircd::net: Interface support for sockopt IPPROTO_IPV6 IP_V6ONLY.
2019-03-24 16:20:05 -07:00
Jason Volk
138b7bff65
ircd::net: Interface wrap boost::asio::ip::make_address().
2019-03-24 15:59:46 -07:00
Jason Volk
e640e6ac62
ircd::server: Perform DNS resolution sequence and handler logic externally here.
2019-03-24 15:28:07 -07:00
Jason Volk
71b86df0fe
ircd::net::dns: Reorg various utilities from dns::cache:: to dns::.
2019-03-24 14:50:26 -07:00
Jason Volk
55af53e2a0
ircd::net::dns::cache: Add addl utils random_choice and is_error().
2019-03-24 14:47:07 -07:00
Jason Volk
dbb965ce48
ircd::server: Add loghead() and display request method/paths in some debug log msgs.
2019-03-24 14:10:11 -07:00
Jason Volk
a1ac9cb356
ircd::net::dns: Expose more cache utils to public interface.
2019-03-24 14:06:47 -07:00
Jason Volk
59b0b633cb
ircd::mods: Support code and data demangled export sections.
2019-03-24 14:06:47 -07:00
Jason Volk
94ed73a60e
ircd::http: Remove gratuitous error constructor; fix 505 response content.
2019-03-23 03:13:11 -07:00
Jason Volk
b72758f904
ircd::server: Fix insertion/resolver reentrancy conflict.
2019-03-22 21:06:28 -07:00
Jason Volk
77648137e9
Revert "ircd: Remove use of all unwind::exceptional and unwind::nominal devices."
...
This reverts commit 4f243826c2
.
2019-03-22 21:06:28 -07:00
Jason Volk
712409218e
ircd::ctx: Manipulate uncaught exception count on context switch.
2019-03-22 21:06:28 -07:00
Jason Volk
86759ecc15
ircd::http: Show the unrecognized version string in error message.
2019-03-22 21:06:28 -07:00
Jason Volk
5ca54b06d1
ircd::resource: Show the X-Matrix-Authorization destination host in error.
2019-03-22 18:14:07 -07:00
Jason Volk
3480819ab5
configure: Add conditional for --enable-lowmem-compile.
2019-03-22 17:46:21 -07:00
Jason Volk
2f1cd45fba
ircd/Makefile.am: Apply param ggc-min-expand to grammar units; minor reorg.
2019-03-22 16:43:17 -07:00
Jason Volk
3db83faac3
ircd::server: Fix concurrency assumptions in server::get().
2019-03-22 15:13:55 -07:00
Jason Volk
8f41687940
modules/s_dns: Fix exception propagation to callback.
2019-03-22 13:51:28 -07:00
Jason Volk
e62e65df6b
ircd::server: Add peer to map before resolve.
2019-03-22 10:51:11 -07:00
Jason Volk
68e3655a1d
ircd::net::dns: Refactor system for the !dns room.
2019-03-21 18:24:36 -07:00
Jason Volk
e133cd5a25
ircd::net: Add specific allow(acceptor) rather than using start(acceptor).
2019-03-21 17:07:35 -07:00
Jason Volk
a6886dafe6
ircd::net: Bail early if no SNI sent by client.
2019-03-21 16:54:36 -07:00
Jason Volk
008dfcb43f
ircd: Ⓜ️ :vm: Add counters and synchronization for safe module reloading.
2019-03-21 16:46:04 -07:00
Jason Volk
4b7bc1d5b1
modules/vm: Rename/export core functions.
2019-03-21 16:46:04 -07:00
Jason Volk
82378db816
modules/vm: Share transactions between all evals on the same stack; adjust sequence strategy.
2019-03-21 16:46:04 -07:00
Jason Volk
a7f6549c27
ircd: Ⓜ️ :vm: Add tools for evals on a specific stack/ctx.
2019-03-21 14:11:42 -07:00
Jason Volk
507c256eb4
ircd: Ⓜ️ :vm: Add loghead convenience.
2019-03-21 12:49:02 -07:00
Jason Volk
a6ae9a7c90
ircd::json: Provide a more appropriate type_error to help matrix.org.
2019-03-19 17:31:47 -07:00
Jason Volk
5b951b55c5
modules/vm: Add sequencing points.
...
ircd:Ⓜ️ :vm: Reorganize sequence counters.
2019-03-19 16:31:05 -07:00
Jason Volk
620e352a4f
ircd::db::txn: Add a state enum to the txn.
2019-03-19 13:39:15 -07:00
Jason Volk
7db86a58c2
ircd::net: Tweak stringification of net::hostport.
2019-03-19 10:11:29 -07:00
Jason Volk
dbc2ca3b64
ircd::rfc1035: Add json::stack serializations for record types.
2019-03-19 10:11:29 -07:00
Jason Volk
29ba0d214b
ircd::net: Reinterface string(ippaddr) related.
2019-03-18 12:39:21 -07:00
Jason Volk
effc34c86f
ircd::fs::aio: Add struct aio_ring from the kernel ABI.
2019-03-17 18:41:45 -07:00
Jason Volk
5be75970e0
ircd::ctx: Ensure no rethrow from destructor.
2019-03-17 15:35:19 -07:00
Jason Volk
1ce9ec3f8e
ircd::fs::error: Remove fs::error from the ircd::exception hierarchy.
2019-03-16 18:12:38 -07:00
Jason Volk
fec03b198e
ircd::fs::aio: Improve request exception information.
2019-03-16 18:12:38 -07:00
Jason Volk
2eb9fff55f
ircd::net: Reorg acceptor internal control panel; provide external start()/stop().
2019-03-16 16:28:28 -07:00
Jason Volk
f2f2afb8c4
ircd::net: Reorg listener/acceptor external interface.
2019-03-16 16:28:28 -07:00
Jason Volk
cff17eaa40
ircd: Add exception tools which elide copying.
2019-03-16 16:28:28 -07:00
Jason Volk
e752070d06
ircd::fs: Handle zero length buffers in the iov.
2019-03-16 13:49:04 -07:00
Jason Volk
b3a875bc63
ircd::net::acceptor: Don't condition response for SNI here.
2019-03-16 12:37:44 -07:00
Jason Volk
89b258c5a7
ircd::fs: Improve fs::prefetch().
2019-03-15 21:36:26 -07:00
Jason Volk
cc25cce9e4
ircd::exception: Fix exception title formatting.
2019-03-15 19:33:24 -07:00
Jason Volk
64959387bb
ircd::fs::aio: Move the slice_usage_warning closer to SYS_io_submit.
2019-03-15 19:11:46 -07:00
Jason Volk
20716634a8
ircd::fs: Improve condition for RWF_APPEND/pwritev2() -1 offset value.
2019-03-15 18:45:39 -07:00
Jason Volk
4efb3a26fd
ircd::fs: Reorg general RWF_ indicators out to fs:: from aio::.
2019-03-15 18:45:32 -07:00
Jason Volk
353fc35df4
ircd::fs: Don't set -1 offset on systems without RWF_APPEND.
2019-03-15 18:34:35 -07:00
Jason Volk
293f6d5480
ircd::fs::aio: Throw system_error from here due to ambiguity.
...
ircd::fs: Trap on EINVAL.
2019-03-15 18:23:25 -07:00
Jason Volk
6da3e88bc4
ircd::fs::aio: Remove assertion that handle_event() is not on context stack.
2019-03-15 17:42:11 -07:00
Jason Volk
9f73299408
ircd::fs::aio: Move seting aio_reqprio to the super constructor.
2019-03-15 16:45:57 -07:00
Jason Volk
2a0720c1a0
ircd::fs: Use flags based on system availability.
2019-03-15 16:19:05 -07:00
Jason Volk
fbe06f5724
ircd::fs: Rotate more internal bufs in case of reentrance.
2019-03-15 16:19:05 -07:00
Jason Volk
aae00eab7f
ircd: Ⓜ️ :app: Add configuration access interface for appservice.
2019-03-15 16:19:05 -07:00
Jason Volk
8a100eeb26
ircd::assert: Ensure x86_64 for use of trap instruction.
2019-03-15 16:19:05 -07:00
Jason Volk
ede2439a55
ircd: Add support for configurable soft-assertions.
2019-03-15 16:19:05 -07:00
Jason Volk
ddb08a37a4
ircd: Ⓜ️ :user: Add framework around m.ignored_user_list; w/ console cmd.
2019-03-14 17:27:45 -07:00
Jason Volk
474464f1bb
ircd::mods: Fix termination loop for static exceptions in dlopen().
2019-03-14 16:20:40 -07:00
Jason Volk
380032d4a9
ircd: Ⓜ️ :room: Augment m::invite() convenience interface for custom content.
2019-03-14 15:32:06 -07:00
Jason Volk
2070a72850
ircd: Ⓜ️ :rooms: Add interface to remove entries from the !public room list.
2019-03-14 15:12:40 -07:00
Jason Volk
d0b5b68d9c
ircd: Ⓜ️ :room::power: Consider an empty prop argument for level_event().
2019-03-14 13:21:55 -07:00
Jason Volk
0a8e79374f
ircd::fs::aio: Improve error handling around io_submit().
2019-03-14 12:45:00 -07:00
Jason Volk
87144cef77
ircd::fs: Support various RWF flags for operations; also preadv2().
2019-03-14 12:45:00 -07:00
Jason Volk
56092db18c
ircd::fs: Move the reqprio() normalizer from fs::aio:: to fs::.
2019-03-13 19:39:20 -07:00
Jason Volk
02435c3672
ircd::fs: Support pwritev2(2).
2019-03-13 19:38:50 -07:00
Jason Volk
034c2d9030
ircd: Ⓜ️ Stack protect around dynamic arrays used here.
2019-03-13 19:38:50 -07:00
Jason Volk
1117947a22
ircd::fs::aio: Add support test for RWF_NOWAIT and RWF_APPEND.
2019-03-13 19:38:47 -07:00
Jason Volk
213c46d9f8
ircd::net: Add interface to get cipher list from acceptor w/ console cmd.
2019-03-13 17:32:39 -07:00
Jason Volk
8daddfb84a
ircd::net::listener: Add cast for internal acceptor access.
2019-03-13 17:32:16 -07:00
Jason Volk
69f1fe7241
ircd::db: Fix macro condition.
2019-03-13 16:11:29 -07:00
Jason Volk
eb7c7f07a7
ircd::fs::aio: Derive availability of IOCB_CMD_FSYNC / IOCB_CMD_FDSYNC.
2019-03-13 16:06:41 -07:00
Jason Volk
0158e88949
ircd::info: Get kernel name and version out of utsname if available.
2019-03-13 16:06:41 -07:00
Jason Volk
4c6e943d49
ircd::http: Simplify conditional.
2019-03-13 15:33:48 -07:00
Jason Volk
d6e97f6aab
ircd::net: Send server name identification when opening client connections.
2019-03-13 13:44:41 -07:00
Jason Volk
59f63841ba
ircd::openssl: Interface to set server name indication for client hello.
2019-03-13 13:32:56 -07:00
Jason Volk
fee9222e70
ircd::rfc1035: Fix assertion and enforce name limitations.
2019-03-13 13:32:47 -07:00
Jason Volk
15b25894d3
ircd::client: Fix response code from header parse failure handler.
2019-03-13 13:11:53 -07:00
Jason Volk
b3526298a9
ircd::net::acceptor: Rename logger to net.listen.
2019-03-13 13:11:53 -07:00
Jason Volk
cb979d96e7
ircd::net::acceptor: Add callback stack framework for dynamic server name identification.
2019-03-13 13:11:53 -07:00
Jason Volk
71560eafd1
ircd::openssl: Include TLS1 header; start an SNI suite; minor reorg.
2019-03-13 13:11:53 -07:00
Jason Volk
50e7d81d36
ircd::rfc3986: Add interface to extract host and port from remote via grammar.
2019-03-13 13:11:53 -07:00
Jason Volk
f955f1d494
ircd::rfc3986: Add length checks to validations; consolidate validation paths from rfc1035.
2019-03-13 13:11:51 -07:00
Jason Volk
dc377ea695
ircd::rfc1035: Add size constexprs.
2019-03-13 13:10:25 -07:00
Jason Volk
74c7d1d5c1
ircd::rfc1035: Add interface for validations.
2019-03-13 10:14:44 -07:00
Jason Volk
721039f359
ircd::net::acceptor: Add conf::item to blacklist ciphers out of the supported cipher list.
2019-03-12 18:41:05 -07:00
Jason Volk
e4fd5111fa
ircd::openssl: Add overload to get cipher list from SSL_CTX.
2019-03-12 18:41:05 -07:00
Jason Volk
969a15c341
ircd::net::acceptor: Add conf::item to specify a default whitelist of ciphers in openssl format.
2019-03-12 18:41:05 -07:00
Jason Volk
72fe68bb29
ircd::stats: Start a preliminary stats system.
2019-03-12 18:41:05 -07:00
Jason Volk
38f7d61020
ircd::net::socket: Add non-blocking check() query with interface.
2019-03-12 18:41:05 -07:00
Jason Volk
303233cda4
ircd::client: Prevent double logging of caught HTTP errors.
2019-03-12 18:41:05 -07:00
Jason Volk
28b8306542
ircd::rfc1035: Throw error when name output buffer exceeded.
2019-03-12 18:41:05 -07:00
Jason Volk
4f243826c2
ircd: Remove use of all unwind::exceptional and unwind::nominal devices.
2019-03-12 18:41:05 -07:00
Jason Volk
ae4dc7db9b
ircd::net::dns: Add a named logger specifically for net::dns; addl debug msgs.
2019-03-11 18:16:04 -07:00
Jason Volk
92d1416ecc
ircd::fs::aio: Use a pointer to request rather than initial dereference.
2019-03-11 16:36:56 -07:00
Jason Volk
c4c95916c2
ircd: Ⓜ️ Add central event append() to compose elaborated json::stack::object for clients.
2019-03-11 16:02:36 -07:00
Jason Volk
f61059a400
ircd: Ⓜ️ :room::state: Add prev() and next() reference traversal interface.
2019-03-11 15:06:54 -07:00
Jason Volk
3444bed245
ircd: Ⓜ️ :dbs: Add a reverse reference for previous state in event refs index.
2019-03-11 14:46:11 -07:00
Jason Volk
06c548699a
ircd: Ⓜ️ :dbs: Add a previous state reference to refs meta index.
2019-03-11 13:40:25 -07:00
Jason Volk
5b3191345f
ircd::client: Set some client::request values immediately after head parse.
2019-03-11 13:20:14 -07:00
Jason Volk
d474eed948
ircd::conf: Add more elaborate double-fault handling.
2019-03-11 12:53:22 -07:00
Jason Volk
499d9c7c6e
ircd::conf: Revert conf item if setter or set callback fails.
2019-03-11 11:27:57 -07:00
Jason Volk
1fa5ebc415
ircd::conf: Add allocated string get() overloads.
2019-03-11 11:27:57 -07:00
Jason Volk
8353d0a7e9
ircd::conf: Add a size virtual member function to get value size as string.
2019-03-11 11:27:57 -07:00
Jason Volk
9d59074679
ircd::fs::aio: Don't cancel requests which were already completed.
2019-03-10 19:26:54 -07:00
Jason Volk
7aa9102f45
ircd::fs::aio: Add assertions at cancel() entry; tweak assertions that compare pointers.
2019-03-10 18:21:05 -07:00
Jason Volk
0c24ea5f40
ircd::net: Allow cipher list and curve list in the listener configuration object.
2019-03-10 16:59:35 -07:00
Jason Volk
d658729d07
ircd::net: Automate ecdh selections by default.
2019-03-10 16:55:39 -07:00
Jason Volk
b4fabaf14f
ircd::openssl: Add interface to tweak ecdh / ciphers / curves.
2019-03-10 16:55:39 -07:00
Jason Volk
db30477e51
ircd::net::acceptor: Relax default flags.
2019-03-10 16:55:39 -07:00
Jason Volk
a55c549e70
ircd: Ⓜ️ :dbs: Add reference index type for m.room.redaction.
2019-03-10 14:52:11 -07:00
Jason Volk
a4f02e4e4a
ircd::net::acceptor: Remove any default DH params when nothing supplied in config.
2019-03-10 14:31:54 -07:00
Jason Volk
c220c0abaf
ircd::net::acceptor: Allow all flags to be set through options structure.
2019-03-10 14:16:33 -07:00
Jason Volk
c6975804e7
ircd::net: Move acceptors class from being nested in listeners.
2019-03-10 14:04:03 -07:00
Jason Volk
1381524f95
ircd: Ⓜ️ :device: Add has(user, device_id, property) overload to interface suite.
2019-03-09 18:48:32 -08:00
Jason Volk
077f8bb546
ircd::logger: Add conf items to control the log mask.
2019-03-09 17:10:49 -08:00
Jason Volk
d763a15edb
ircd::tokens: Add token_exists() set membership test.
2019-03-09 17:03:52 -08:00
Jason Volk
312e4958f7
ircd::tokens: Add bool closure for limited for_each iteration.
2019-03-09 17:03:13 -08:00
Jason Volk
6cc17887de
ircd::log: Add interface for file mask / unmask; fix constness.
2019-03-09 16:43:27 -08:00
Jason Volk
db8c91661e
ircd::log: Increase the logger name width.
2019-03-09 16:05:45 -08:00
Jason Volk
47446dcd5c
ircd: Ⓜ️ :vm: Translate vm::fault codes to better specific http::code's for m::error's.
2019-03-09 14:00:00 -08:00
Jason Volk
bba6981166
ircd::http: Verify HTTP version after request line.
2019-03-09 14:00:00 -08:00
Jason Volk
197168059b
ircd: Ⓜ️ :vm: Create a conform hook; move checks into conform hookfns.
2019-03-09 14:00:00 -08:00
Jason Volk
395a6ceabd
ircd::server: Add request option to control whether content overrun is an error.
2019-03-08 16:52:48 -08:00
Jason Volk
6d9fb00d8c
ircd::server: Fix discard buffering.
2019-03-08 16:32:37 -08:00
Jason Volk
98a3535e06
ircd::net: Elaborate ipaddr interface; move apropos string utils from ipport.h
2019-03-08 11:46:50 -08:00
Jason Volk
01019640cd
ircd: Ⓜ️ :user::rooms: Optimize user rooms iteration.
2019-03-08 11:22:42 -08:00
Jason Volk
3a673dadf4
ircd: Ⓜ️ :room::state: Extend the for_each stack with optimal type,state_key closure.
2019-03-08 11:21:56 -08:00
Jason Volk
7607978d80
ircd: Ⓜ️ Fix initial events bootstrap regression.
2019-03-08 09:28:34 -08:00
Jason Volk
57f28374c9
ircd::http: Add 428 Precondition Required.
2019-03-07 16:01:19 -08:00
Jason Volk
8c61f6370a
ircd::json: Fix serialized type propagation on value copy.
2019-03-07 14:06:06 -08:00
Jason Volk
6af4782922
ircd::http: Elaborate the query string interface with indexing.
2019-03-06 17:21:38 -08:00
Jason Volk
b26d4fee7c
ircd: Ⓜ️ :event: Fallback to outer membership string (fixes hook membership matching).
2019-03-06 15:02:43 -08:00
Jason Volk
9f4890a517
ircd: Ⓜ️ Unify room create interface and paths around createroom tuple.
2019-03-06 15:02:43 -08:00
Jason Volk
85c041c27b
ircd: Ⓜ️ :room Update version query based on spec room version grammar (string type).
2019-03-06 15:02:43 -08:00
Jason Volk
c2966275c6
ircd: Ⓜ️ :room::head: Improve interface/linkage for head utils / prev_events generation.
2019-03-06 00:22:18 -08:00
Jason Volk
1a1939e2c7
ircd: Ⓜ️ :room::auth: Improve interface/linkage for auth_events generation.
2019-03-06 00:22:18 -08:00
Jason Volk
094ae6e997
ircd: Ⓜ️ :user::profile: Add interface for remote profile fetch().
2019-03-06 00:12:21 -08:00
Jason Volk
1f82b884ff
ircd: Ⓜ️ Implement 14.18 Room Tagging.
2019-03-05 18:42:04 -08:00
Jason Volk
d4b8a8089e
ircd: Ⓜ️ :createroom: Generate default power_levels w/ option for content_override.
2019-03-05 14:24:08 -08:00
Jason Volk
bbaf38937b
ircd: Ⓜ️ :room::power: Add util to generate spec-default power_levels content.
2019-03-05 14:24:08 -08:00
Jason Volk
a9969bfb4b
ircd::net: Show current cipher in handshake debug log msgs.
2019-03-05 11:37:49 -08:00
Jason Volk
a29dfb93f5
ircd::openssl: Add interface to examine cipher lists.
2019-03-05 10:50:12 -08:00
Jason Volk
c87b85eefc
ircd: Ⓜ️ Relax the self::host() / my_host(string) test wrt the implied matrix port.
2019-03-05 09:47:54 -08:00
Jason Volk
1bc1b3c207
ircd::fs::aio: Fix bug.
2019-03-05 08:51:47 -08:00
Jason Volk
e33c4861cb
ircd::net: Disable TLS 1.0.
2019-03-04 16:48:05 -08:00
Jason Volk
b398e8f424
ircd::net: Ignore empty string values in listener config object.
2019-03-04 16:38:39 -08:00
Jason Volk
5752c32de9
ircd::net: Eliminate the handle_set unset on exception.
2019-03-04 14:29:21 -08:00
Jason Volk
63d591b2b8
ircd::util::fpe: Add interface to set the except flag.
2019-03-04 13:20:39 -08:00
Jason Volk
19e09b0ad5
ircd: Ⓜ️ :login: Support identifier typed login.
2019-03-04 13:16:14 -08:00
Jason Volk
175421f745
ircd::db::env: Default alignments to 1 rather than 0.
2019-03-04 11:36:54 -08:00
Jason Volk
295794ec42
ircd: Ⓜ️ :user: Improve user filter interface and module linkage.
2019-03-02 16:49:44 -08:00
Jason Volk
47bcfaecb4
ircd: Upgrade various templates with argument deduction.
2019-03-02 14:20:52 -08:00
Jason Volk
a21e03df27
ircd: Add restart support w/ console cmd.
2019-03-02 14:20:52 -08:00
Jason Volk
ddb69ca01c
ircd: Ⓜ️ :sync: Improve the debug loghead format and content.
2019-03-02 11:40:51 -08:00
Jason Volk
3a08d93c15
ircd: Ⓜ️ :event::fetch: Cache the event_idx as a class member.
2019-03-01 15:59:49 -08:00
Jason Volk
c8bce8e251
ircd: Ⓜ️ :rooms: Add is_public() test if listed in !public.
2019-03-01 14:51:30 -08:00
Jason Volk
1d909b2ffc
ircd::resource: Use DERROR for >500 codes; use ERROR for 500 or unknown only.
2019-03-01 14:12:50 -08:00
Jason Volk
4612fc6058
ircd::client: Improve exception handling to cover URI's of internal server errors out of handlers.
2019-03-01 13:40:01 -08:00
Jason Volk
8cc46765a3
ircd: Ⓜ️ :room::state: Disable history by default with warning for now.
2019-03-01 12:09:11 -08:00
Jason Volk
56d0292305
ircd: Reduce the size of the lex_cast ringbuffer; deinline the sizes.
2019-03-01 11:47:13 -08:00
Jason Volk
70a47c98b1
ircd: Reduce several strict-overflow & related warnings.
2019-03-01 11:35:07 -08:00
Jason Volk
62d33e2f7a
ircd::server: Improve this error information.
2019-03-01 10:07:56 -08:00
Jason Volk
1089530652
ircd::fmt: Narrow long double to double for grammar templates.
2019-02-28 18:09:36 -08:00
Jason Volk
19cc9ccc79
ircd::mods: Use eventual overload directly.
2019-02-28 17:58:35 -08:00
Jason Volk
f373417b0b
ircd::fs: Use for_each rather than transform here.
2019-02-28 17:53:01 -08:00
Jason Volk
87ace85840
ircd::ctx::promise: Add missing valid() checks on operations.
2019-02-28 17:12:04 -08:00
Jason Volk
9c20d49e33
ircd::resource::response::chunked: Eliminate move semantic.
2019-02-28 17:12:04 -08:00
Jason Volk
c90d05a878
ircd::mods: Paranoid checks after load.
2019-02-28 17:12:04 -08:00
Jason Volk
fbbbb38e75
ircd::net: Fix alignment of address in net::ipport.
2019-02-28 17:12:04 -08:00
Jason Volk
66249c620f
ircd: Ⓜ️ :room::state: Add central interface linkage for state utils.
2019-02-28 17:12:04 -08:00
Jason Volk
c0009a0745
ircd: Ⓜ️ Add central linkage for is_complete(room).
2019-02-28 17:12:03 -08:00
Jason Volk
43b8ea9de7
ircd: Ⓜ️ :room::origins: Improve origins::random import definition.
2019-02-28 17:12:03 -08:00
Jason Volk
7bcc40f13f
ircd: Ⓜ️ Fix count_since prototype; upgrade definition.
2019-02-28 17:12:03 -08:00
Jason Volk
af6ac4a2ac
ircd: Replace various unwind count patterns with scope_count.
2019-02-28 17:12:03 -08:00
Jason Volk
8cb5b78807
ircd::resource: Ignore empty chunk from user by default unless explicit.
2019-02-28 17:12:03 -08:00
Jason Volk
7b1ed2e715
ircd::allocator: Add and fix attribute related.
2019-02-28 11:34:45 -08:00
Jason Volk
6ab36254c2
ircd::allocator: Add nothrow overload to state / fixed.
2019-02-28 10:49:28 -08:00
Jason Volk
a600a28095
configure: Check for <memory_resource> availability.
2019-02-28 10:24:43 -08:00
Jason Volk
04c02d5e7a
ircd: Ⓜ️ :room::power: Relax existential condition to allow fallback; minor cleanup.
2019-02-27 20:31:39 -08:00
Jason Volk
9e063bbf83
ircd::resource: Add a pending request counter; block destruction of method when pending.
2019-02-27 17:49:40 -08:00
Jason Volk
0e7fb8051e
ircd: Ⓜ️ :events: Fix iteration behavior with equal range parameters.
2019-02-27 16:27:04 -08:00
Jason Volk
85cae708db
ircd::json: Add candidate vector merge impl.
2019-02-27 15:52:39 -08:00
Jason Volk
33d89755e8
ircd::json: Reorg utility headers; start a tool header.
2019-02-27 12:10:10 -08:00
Jason Volk
9ac64fcff7
ircd::json: Add vector utility methods to interface.
2019-02-27 11:23:52 -08:00
Jason Volk
3f85eb761a
ircd::openssl: Include the openssl/asn1.h header.
2019-02-26 18:56:29 -08:00
Jason Volk
ce609c00bf
ircd::json: Fix comparison suite for vector::const_iterator.
2019-02-26 18:38:49 -08:00
Jason Volk
cc586a352e
modules/client/sync: Implement iteration base of linear sync.
2019-02-26 18:04:37 -08:00
Jason Volk
78a1281b1c
ircd: Ⓜ️ :sync: Make data.out a pointer to the json::stack.
2019-02-26 15:50:58 -08:00
Jason Volk
1ad1c38a53
ircd::resource::response::chunked: Pass buffer_size through the constructor.
2019-02-26 15:37:30 -08:00
Jason Volk
dd42e04bb5
ircd::json::stack: Complete the move semantics for entities.
2019-02-26 15:27:03 -08:00
Jason Volk
3e1157f043
ircd: Ⓜ️ 🆔 Add test for whether hostname is an IP literal.
2019-02-26 13:55:01 -08:00
Jason Volk
85cbaffca4
ircd: Ⓜ️ 🆔 Reuse the rfc3986 grammar with the mxid grammar.
2019-02-26 13:55:01 -08:00
Jason Volk
581fcca2f7
ircd::rfc3986: Expose parsing grammar externally.
2019-02-26 13:52:10 -08:00
Jason Volk
7b226d5477
ircd::json: Use the ircd::spirit expectation_failure.
2019-02-26 10:58:05 -08:00
Jason Volk
9aaba79919
ircd::db: Checkpoint coarse configuration values for now.
2019-02-25 18:20:48 -08:00
Jason Volk
2854ea9a0f
Makefiles: Remove --gdb-index here because no -gsplit-dwarf used.
2019-02-25 18:20:48 -08:00
Jason Volk
f3d4e27b24
ircd: Ⓜ️ :room: Start a room statistics interface.
2019-02-25 18:20:48 -08:00
Jason Volk
6f7fc0a837
ircd::db: Add interface to query size of key in column.
2019-02-25 18:17:01 -08:00
Jason Volk
11766b3e04
ircd: Ⓜ️ :v1: Remove non-opts overloads; workaround g++-7 compiler bug.
2019-02-25 18:00:39 -08:00
Jason Volk
e3a6e55808
ircd: Ⓜ️ :device: Add unrestricted set() overload.
2019-02-25 18:00:39 -08:00
Jason Volk
af5b0e69a1
modules/client/sync: Employ json::stack::checkpoint using boolean return values in all handlers.
2019-02-24 14:49:29 -08:00
Jason Volk
940975b448
ircd::json::stack: Add checkpoint device.
2019-02-24 14:49:29 -08:00
Jason Volk
ea4912d09a
ircd::json::stack: Move final-flush to stack dtor rather than top value dtor.
2019-02-24 14:49:29 -08:00
Jason Volk
ec50b0f76e
ircd: Ⓜ️ :sync: Make instance-level conf::items for all sync::items.
2019-02-22 17:11:53 -08:00
Jason Volk
2db5278eb2
ircd::db: Log the error message on database constructor before rethrow.
2019-02-22 15:40:53 -08:00
Jason Volk
c9f8e44c78
ircd: Ⓜ️ :sync: Add stats.info conf item; rename debug_stats item.
2019-02-22 15:40:53 -08:00
Jason Volk
a4e709c6d4
ircd: Ⓜ️ :sync: Add conf item for polylog item stats to debuglog.
2019-02-22 15:40:52 -08:00
Jason Volk
6ccc171bce
ircd: Ⓜ️ :v1::user::keys::claim: Add additional convenience construction.
2019-02-21 17:02:41 -08:00
Jason Volk
dd7e31806d
ircd: Ⓜ️ :v1::user::keys::query: Add another convenient request composer.
2019-02-21 14:57:45 -08:00
Jason Volk
d083d09e03
ircd::json: Relax assertion for array::empty() expectations.
2019-02-21 14:11:13 -08:00
Jason Volk
0cb852e732
ircd::json::array: Deinline various.
2019-02-21 14:00:00 -08:00
Jason Volk
207a12934c
ircd: Ⓜ️ :user: Reorg user::account_data interface.
2019-02-21 12:11:42 -08:00
Jason Volk
7f37400dcb
ircd: Ⓜ️ :user: Reorg user::profile interface.
2019-02-21 11:53:25 -08:00
Jason Volk
a3923e8374
ircd: Ⓜ️ :device: Typedef device::id; add func to get device from access_token.
2019-02-20 19:08:38 -08:00
Jason Volk
98a8ca7bf2
ircd: Ⓜ️ :device: Associate access_token to device.
2019-02-20 15:46:48 -08:00
Jason Volk
d5e8bbbf4a
modules: Stub m.device_list_update edu handler; json schema.
2019-02-20 13:36:29 -08:00
Jason Volk
0efd723edb
ircd: Ⓜ️ :device: Develop interface; use individual state events for properties.
2019-02-20 13:36:29 -08:00
Jason Volk
7c09123a3c
ircd: Ⓜ️ :room::state: Add a type prefix-domain iteration to state interface.
2019-02-20 13:10:56 -08:00
Jason Volk
18a41f81f1
modules: Move m::device definitions from m_user to m_device.
2019-02-20 09:46:27 -08:00
Jason Volk
b3baebd395
ircd: Ⓜ️ :device: Add a proper device interface (sans device::set()).
2019-02-19 17:42:05 -08:00
Jason Volk
74c5a58273
ircd::resource: Use 308 instead of 301 for redirect.
2019-02-19 14:43:21 -08:00
Jason Volk
9d0542a93a
ircd::resource: Add permanent redirect device.
2019-02-19 13:25:32 -08:00
Jason Volk
b57ef2e8fe
ircd::resource::response: Avoid call to write empty content here.
2019-02-19 11:35:11 -08:00
Jason Volk
42a41eeb0d
ircd::http: Fix/Add 30x related codes.
2019-02-19 11:34:48 -08:00
Jason Volk
e8f8008ea9
ircd::openssl: Use variable includes; add openssl/hmac.h header check.
2019-02-18 15:27:50 -08:00
Jason Volk
3d7d15685e
ircd::openssl: Add a linked version check.
2019-02-18 15:17:50 -08:00
Jason Volk
dbbc22d98a
ircd::magic: Relax the linked version check.
2019-02-18 15:17:50 -08:00
Jason Volk
b9822a8c6c
ircd::openssl: Return version strings for header and linked library.
2019-02-18 15:12:01 -08:00
Jason Volk
3b8130cee1
ircd: Ⓜ️ :dbs: Fixes to the index_redact path and related; minor reorg.
2019-02-18 13:42:25 -08:00
Jason Volk
0644db459c
ircd: Ⓜ️ :event: Add various size constants replacing magic numbers.
2019-02-18 13:42:25 -08:00
Jason Volk
bc0e12e31b
ircd: Ⓜ️ Add m.direct_to_device edu schema / header.
2019-02-18 12:23:58 -08:00
Jason Volk
f0ce1cdcae
ircd: Split up resource.h.
2019-02-18 11:04:02 -08:00
Jason Volk
f275cf8c83
ircd: Ⓜ️ :event::auth::chain: No closing over full event; overload void closure.
2019-02-16 15:25:36 -08:00
Jason Volk
a380186001
ircd: Ⓜ️ Various cleanup; toward demangled linkage; mark size indicating stack use.
2019-02-16 15:25:36 -08:00
Jason Volk
547c6ca8e5
ircd: Ⓜ️ :v1: Add query_auth request.
2019-02-16 15:25:36 -08:00
Jason Volk
551168c643
ircd: Various quietudes.
2019-02-16 15:25:36 -08:00
Jason Volk
d8536ca9a9
ircd: Move fpe into util.
2019-02-16 13:17:44 -08:00
Jason Volk
eb1e510720
ircd::fs: Include <sys/sysmacros.h> if available.
2019-02-15 18:48:59 -08:00
Jason Volk
4f721f48e5
Eliminate friend-injection.
2019-02-15 18:48:59 -08:00
Jason Volk
2660b30061
ircd: Ⓜ️ :event: Add auth::chain utility.
2019-02-14 16:48:45 -08:00
Jason Volk
194160a735
ircd: Ⓜ️ :event::refs: Reorientations for consolidated refs.
2019-02-14 14:02:34 -08:00
Jason Volk
17e1bb96bf
ircd: Ⓜ️ :dbs: Consolidate event_refs column. Drop prev_events column.
2019-02-14 13:11:37 -08:00
Jason Volk
30d27df649
ircd: Ⓜ️ :room::power: Fix m.room.power_levels format validation per the spec.
2019-02-14 13:08:48 -08:00
Jason Volk
f48274fc58
ircd: Ⓜ️ :event::auth: Preliminary v1 auth rules.
2019-02-13 18:44:26 -08:00
Jason Volk
2c60fa4fce
ircd: Ⓜ️ :event::index: Prevent any column search for empty event_id.
2019-02-13 18:37:21 -08:00
Jason Volk
df64c6e573
ircd: Ⓜ️ :room::power: Improve requirements for different constructions.
2019-02-13 16:01:18 -08:00
Jason Volk
11264d2806
ircd: Ⓜ️ :room: Add convenience wrapper for event::idx state::get() to interface.
2019-02-13 16:01:18 -08:00
Jason Volk
1a6d173a0b
ircd: Ⓜ️ :room::state: Change return value from event::id to event::idx for simple get().
2019-02-13 16:01:18 -08:00
Jason Volk
674373be90
ircd: Ⓜ️ :event::auth: Restructure / rename interfaces; move is_power_event() to module.
2019-02-12 17:50:44 -08:00
Jason Volk
aaf80932fe
ircd: Ⓜ️ :room::auth: Simplify closure requirements.
2019-02-12 17:47:35 -08:00
Jason Volk
74fdda36e2
ircd: Ⓜ️ :event::conforms: Add checks for m.room.member state_key.
2019-02-12 17:19:13 -08:00
Jason Volk
7117d4a17c
ircd: Ⓜ️ :event::conforms: Add check for m.room.aliases sender host vs. state_key.
2019-02-12 15:34:40 -08:00
Jason Volk
903a117bf7
ircd: Ⓜ️ :event::conforms: Add check for room_id host matching sender host for create event.
2019-02-12 15:22:53 -08:00
Jason Volk
1bd9ce0d1e
ircd: Ⓜ️ :event::conforms: Add checks for duplicate / self / missing auth refs.
2019-02-12 15:07:50 -08:00
Jason Volk
20eb440408
ircd: Ⓜ️ :event: Improve the event::cache checking behavior.
2019-02-12 14:57:08 -08:00
Jason Volk
2f6384b068
ircd: Ⓜ️ :room: Add room::auth interface w/ console cmd.
2019-02-12 12:04:02 -08:00
Jason Volk
8a81a6d24e
ircd: Ⓜ️ :event::auth: Add comments; remove cruft.
2019-02-12 12:04:01 -08:00
Jason Volk
4d95daf8e3
ircd::fs: Add slice_usage_warning around io_submit() / open(2).
2019-02-12 12:04:01 -08:00
Jason Volk
95dbc571f8
ircd::ctx: Support slice_usage_warning outside of context system too.
2019-02-12 12:04:01 -08:00
Jason Volk
c204ece49a
ircd: Ⓜ️ :event: Add std::string overloads to event get() suite.
2019-02-12 10:03:20 -08:00
Jason Volk
df8cee0b47
ircd: Ⓜ️ :event: Fallback to JSON query for keys in the get() suite.
2019-02-12 10:02:37 -08:00
Jason Volk
4077c5faa3
ircd: Ⓜ️ :typing: Partial normalization;
2019-02-11 15:57:01 -08:00
Jason Volk
a1c8845e1e
ircd: Ⓜ️ 🧾 Normalize module definition names / layout.
2019-02-11 15:57:01 -08:00
Jason Volk
38d4718f20
ircd: Ⓜ️ :presence: Normalize module definition names.
2019-02-11 15:57:01 -08:00
Jason Volk
238c7ee8d9
ircd: Ⓜ️ :event: Checkpoint invoke; minor cleanup.
2019-02-11 14:02:47 -08:00
Jason Volk
2b4e63f6f0
ircd::mods: Rename and expose exports map; add/update console cmds.
2019-02-09 18:43:05 -08:00
Jason Volk
0bd8571612
ircd::mods: Improve path translation for symbols() suite; add comments.
2019-02-09 18:43:05 -08:00
Jason Volk
68be0a321e
ircd: Ⓜ️ :event: Convert modular components to demangled style.
2019-02-09 18:43:04 -08:00
Jason Volk
7b12718e66
ircd::mods: Improve target symbol name generation.
2019-02-09 18:43:04 -08:00
Jason Volk
c5d993f7c5
ircd::mods: Demangled imports.
2019-02-09 03:08:12 -08:00
Jason Volk
3fcb701b47
ircd::mods: Consolidate codepaths to binding.
2019-02-08 23:50:00 -08:00
Jason Volk
e15045ea3f
ircd::mods: Use std map for mangles.
2019-02-08 23:18:46 -08:00
Jason Volk
b4f09d06ec
ircd::mods: Simplify is_module() stack.
2019-02-08 20:40:08 -08:00
Jason Volk
1b48dd7c68
ircd::mods: Improve section search in symbol tools.
2019-02-08 20:39:30 -08:00
Jason Volk
77bbdd9ebe
ircd::json: Cleanup generator definition here; use better rule template.
2019-02-08 19:41:04 -08:00
Jason Volk
3151931ee4
Linker options package.
2019-02-08 18:24:20 -08:00
Jason Volk
5c19cfa3de
ircd::db: Truncate comments.
2019-02-08 09:18:39 -08:00
Jason Volk
80a25cf352
ircd: Ⓜ️ :event::auth: Add auth chain traversal.
2019-02-08 07:54:03 -08:00
Jason Volk
2b82dfec76
ircd: Ⓜ️ :event::auth: Add iteration by type.
2019-02-08 07:53:39 -08:00
Jason Volk
ef740d339b
ircd: Ⓜ️ :event: Add event::auth examination device.
2019-02-08 03:19:54 -08:00
Jason Volk
2a431fa26a
ircd: Ⓜ️ :dbs: Add event_auth column.
2019-02-08 03:19:54 -08:00
Jason Volk
cbe829368f
ircd: Ⓜ️ :event: Start an auth header; add is_power_event().
2019-02-08 03:19:54 -08:00
Jason Volk
0aa977c307
ircd: Ⓜ️ :event: Simplify verify stack.
2019-02-07 23:41:29 -08:00
Jason Volk
8926e0d1f1
ircd: Attempt to find a current exception in terminate().
2019-02-07 23:09:31 -08:00
Jason Volk
fb6be95f2c
ircd: Ⓜ️ :v1: Add the user::keys::claim ctor stack complex; minor cleanup.
2019-02-07 23:09:30 -08:00
Jason Volk
dcb1f2197e
ircd: Ⓜ️ :v1: Split user:: / user::keys headers.
2019-02-07 22:16:19 -08:00
Jason Volk
a4bd140cc2
ircd::db: Add interruption threshold at seek call.
2019-02-07 22:16:19 -08:00
Jason Volk
72a3ff2856
ircd: Employ path_string() at various callsites.
2019-02-07 22:16:19 -08:00
Jason Volk
e666f72b74
ircd::mods: Toward eliminating boost::filesystem exposure to this unit.
2019-02-07 22:16:19 -08:00
Jason Volk
db552e2ec4
ircd::fs: Add interface to filesystem::relative() function.
2019-02-07 20:49:50 -08:00
Jason Volk
7b67b106b6
ircd::fs: Add convenience tls scratch buffers for name and path manip.
2019-02-07 20:49:26 -08:00
Jason Volk
cc636d375f
ircd::util: Improve string() suite; add flags for shrink_to_fit().
2019-02-07 18:03:21 -08:00
Jason Volk
4c43b42f62
ircd::json::stack: Add overload for character append.
2019-02-07 08:19:28 -08:00
Jason Volk
b6bfc5dd5c
ircd::client: Add debuglog around main exec.
2019-02-07 08:19:28 -08:00
Jason Volk
8c99e90a85
ircd::client: Add request count to loghead.
2019-02-07 08:19:28 -08:00
Jason Volk
3a8f53e46e
ircd: Ⓜ️ Start a device header.
2019-02-07 08:19:27 -08:00
Jason Volk
810a6017dc
ircd::net: Allow allow_self_signed to cover more cases.
2019-02-07 02:36:02 -08:00
Jason Volk
d5f03fba59
ircd: Ⓜ️ :v1: Add ctor stack complex for user::keys::query.
2019-02-07 00:40:48 -08:00
Jason Volk
b687d63169
ircd::ctx: Create and use log facility.
2019-02-07 00:17:26 -08:00
Jason Volk
ce0d974868
ircd: Ⓜ️ :v1: Add principals for user::keys::query & claim; remove unstables.
2019-02-07 00:17:26 -08:00
Jason Volk
8eb68c0e2e
ircd: Ⓜ️ :dbs: Add missing event refs comparator: minor cleanup.
2019-02-06 21:32:26 -08:00
Jason Volk
93fb468ba2
ircd: Ⓜ️ :vm: Add tools using the eval instance_list.
2019-02-06 20:54:21 -08:00
Jason Volk
70c901a894
ircd: Ⓜ️ :vm: Add json::array eval ctor.
2019-02-06 20:54:04 -08:00
Jason Volk
bb68dfc1e7
ircd: Ⓜ️ Add event::hash(json::object) w/ branch from event.source.
2019-02-06 20:52:42 -08:00
Jason Volk
a36f375162
ircd::json: Max iov::max_size a constexpr.
2019-02-06 20:51:50 -08:00
Jason Volk
e497fe8506
ircd: Ⓜ️ :event: Add event_id() convenience suite to reverse index().
2019-02-06 17:18:38 -08:00
Jason Volk
ec8f0c1e1c
ircd: Ⓜ️ :event: Add refs interface.
2019-02-06 17:18:38 -08:00
Jason Volk
2586476a57
ircd: Ⓜ️ :dbs: Fix prefix related for event_refs column.
2019-02-06 17:18:38 -08:00
Jason Volk
a63f23fc2d
ircd::db: Minor reorg; move db::index defs near db::column.
2019-02-06 16:42:27 -08:00
Jason Volk
9c63e8e5dd
ircd: Ⓜ️ Limit content property count in send() suite.
2019-02-06 02:58:21 -08:00
Jason Volk
9bd86e7f69
ircd: Ⓜ️ :request: Use conf items for buffer sizes and limits.
2019-02-06 02:34:52 -08:00
Jason Volk
4da523ddf9
ircd: Ⓜ️ 🆔 Avoid character readback here.
2019-02-05 23:18:05 -08:00
Jason Volk
965134079e
ircd: Fix regression.
2019-02-05 23:18:05 -08:00
Jason Volk
ed62a4c61c
ircd: Ⓜ️ Minor formatting.
2019-02-05 23:18:05 -08:00
Jason Volk
ca4ef84c9f
ircd: Ⓜ️ :dbs: Add event_refs indexer; reorg event indexers related.
2019-02-05 19:05:17 -08:00
Jason Volk
843f78548b
ircd: Ⓜ️ :dbs: Add event_refs metadata column.
2019-02-05 19:05:17 -08:00
Jason Volk
6cb4020034
ircd: Ⓜ️ :dbs: Rename head/refs options to room_head/room_refs; update vmopts and sites.
2019-02-05 19:05:17 -08:00
Jason Volk
67d57ed2b6
ircd::json: Add a specific escape transform utility to interface.
2019-02-05 15:42:39 -08:00
Jason Volk
d7c68d2fb7
ircd: Ⓜ️ :room: Fix regressions.
2019-02-05 02:20:14 -08:00
Jason Volk
ccf9f87e2a
ircd: Ⓜ️ 🆔 Fail boolean validators faster on empty id.
2019-02-05 01:58:12 -08:00
Jason Volk
44d105b1ba
ircd: Ⓜ️ 🆔 Minor cleanup.
2019-02-05 01:58:12 -08:00
Jason Volk
fe1f097e58
ircd: Ⓜ️ :sync: No propagation of m::error from polylog sync handlers.
2019-02-05 01:58:12 -08:00
Jason Volk
08940bddaf
ircd::resource: Add conf items to toggle X-Matrix Authorization.
2019-02-05 01:58:12 -08:00
Jason Volk
5f759a617c
ircd::resource: Improve X-Matrix destination host check.
2019-02-04 23:16:27 -08:00
Jason Volk
a40a7912b0
ircd: Ⓜ️ :room::messages: Add special case for ctor seeking depth=0.
2019-02-04 20:01:31 -08:00
Jason Volk
f11282f583
ircd::db: Fix prefixed iterator seek to pos::BACK.
2019-02-04 19:45:27 -08:00
Jason Volk
d36a6cd2b0
ircd: Ⓜ️ :room: Add index(room::id) convenience to get some integer rep for room.
2019-02-04 19:19:56 -08:00
Jason Volk
7e11176ab7
ircd: Ⓜ️ :room::messages: Simplify/optimize seek() functions.
2019-02-04 19:19:56 -08:00
Jason Volk
d5f01d013d
ircd::db: Add a last() iterator convenience for column / index.
2019-02-04 19:17:52 -08:00
Jason Volk
6947c7e953
ircd: Ⓜ️ Move the state/send event iov composer into m_room.
2019-02-04 13:59:01 -08:00
Jason Volk
3f4a8647af
ircd::db: Dressings for port interfaces.
2019-02-04 13:59:01 -08:00
Jason Volk
9e2b3163b3
ircd::db: Reorder various definitions.
2019-02-04 13:59:01 -08:00
Jason Volk
d2380ecd36
ircd::json::stack: Add raw rewind method to interface.
2019-01-26 17:01:07 -08:00
Jason Volk
7d96e90347
ircd: Ⓜ️ :sync: Add data commitment indication to loghead.
2019-01-26 17:00:48 -08:00
Jason Volk
c080d5523c
ircd: Ⓜ️ :presence: Improve get() interface based on realistic usage needs.
2019-01-26 16:59:12 -08:00
Jason Volk
0b8a2dfae4
ircd: Ⓜ️ Reorder / reorg m_event unit definitions.
2019-01-26 15:24:03 -08:00
Jason Volk
5ae0a521d6
ircd: Ⓜ️ :event::fetch: Swap the fallback logic to json query after row query.
2019-01-26 14:06:03 -08:00
Jason Volk
5ce55a9dee
ircd: Ⓜ️ :event::fetch: Simplify interface; reference opts as class member.
2019-01-26 13:52:33 -08:00
Jason Volk
e20d71a28a
ircd: Ⓜ️ Fix m::events regression relying on event::fetch::row.
2019-01-26 13:38:46 -08:00
Jason Volk
c458448104
ircd: Ⓜ️ :dbs: Drop the origin column.
2019-01-25 17:37:30 -08:00
Jason Volk
b203def78b
ircd::mods: Deinline the mapi header ctor.
2019-01-25 14:53:13 -08:00
Jason Volk
246a5faba4
ircd::db: Add interface for range deletions.
2019-01-25 12:32:04 -08:00
Jason Volk
5b3bee79a6
ircd::fs: Normalize buffering for path interface; add path features.
2019-01-25 11:49:24 -08:00
Jason Volk
2886924bf0
ircd::fs: Reorg path interface related.
2019-01-25 10:39:37 -08:00
Jason Volk
f3cc3d945d
ircd: Ⓜ️ :dbs: Tweak various meta_block/bloom size defaults.
2019-01-24 16:50:16 -08:00
Jason Volk
5d701601ae
ircd: Ⓜ️ :dbs: Add indiv meta_block confs for all colums; various meta_block fixes.
2019-01-24 13:34:34 -08:00
Jason Volk
736a6a1f27
ircd: Ⓜ️ :event::fetch: Optimize row construction when json query used.
2019-01-24 13:24:17 -08:00
Jason Volk
91f741ec57
ircd: Ⓜ️ :dbs: Minor cleanup.
2019-01-24 13:16:34 -08:00
Jason Volk
14570f73e3
ircd: Ⓜ️ :dbs: Drop the auth_events column.
2019-01-24 13:05:48 -08:00
Jason Volk
695985327e
ircd: Ⓜ️ :dbs: Drop the redacts column.
2019-01-24 12:52:45 -08:00
Jason Volk
250f315589
ircd: Ⓜ️ :dbs: Drop the membership column; minor cleanup / fixes.
2019-01-24 12:52:26 -08:00
Jason Volk
d64a49428e
ircd: Ⓜ️ Demote membership from top-level key; remove from m::event tuple.
2019-01-24 12:52:26 -08:00
Jason Volk
5d3dd964a0
ircd: Ⓜ️ :event: Move essential() stripping routines to module.
2019-01-24 12:05:58 -08:00
Jason Volk
3b78c9154a
ircd: Ⓜ️ :event: Skip non-existent columns in m::cached() check.
2019-01-24 12:02:58 -08:00
Jason Volk
f1a6654f21
ircd: Ⓜ️ Remove any options which toggle full json persistence.
2019-01-24 11:37:26 -08:00
Jason Volk
5ea765642e
ircd: Ⓜ️ :dbs: Drop the hashes column.
2019-01-24 11:12:41 -08:00
Jason Volk
c551777f7b
ircd: Ⓜ️ :dbs: Drop the signatures column.
2019-01-24 11:12:15 -08:00
Jason Volk
d7fa6ff04c
ircd::db: Update row ctor to ignore missing requested columns by name.
2019-01-24 10:52:05 -08:00
Jason Volk
a95b688925
ircd: Ⓜ️ :dbs: Drop the prev_state column from schema.
2019-01-23 16:11:26 -08:00
Jason Volk
b439e935ab
ircd: Ⓜ️ Use more generic exception catch here.
2019-01-23 16:10:50 -08:00
Jason Volk
c2521b587b
ircd::db: Consider if column dropped for boolean test.
2019-01-23 16:10:22 -08:00
Jason Volk
92154be55d
ircd: Ⓜ️ Use event::keys::selection bitset in event::fetch::opts rather than event::keys.
2019-01-23 15:36:02 -08:00
Jason Volk
2b9e2c850e
ircd::db: Remove the txn::append template iteration over a json::tuple.
2019-01-23 15:34:56 -08:00
Jason Volk
764585e370
ircd: Ⓜ️ :dbs: Move direct column append into function; minor cleanup.
2019-01-23 14:47:47 -08:00
Jason Volk
2fd50fc9af
ircd::db: Split db.cc into db_env.cc and db_port.cc.
2019-01-23 14:08:02 -08:00
Jason Volk
ecd158f375
ircd::db: Create database/env.h index of all database/env/ headers.
2019-01-23 13:34:50 -08:00
Jason Volk
f01a72c8f6
ircd: Ⓜ️ Merge m_request.cc into m.cc
2019-01-23 13:28:51 -08:00
Jason Volk
cd30a01e9d
ircd: Ⓜ️ Move all ircd/m/* units up to ircd/.
2019-01-23 13:24:53 -08:00
Jason Volk
14b57f2eac
ircd: Rename aio.h/aio.cc with fs_ prefix.
2019-01-23 13:20:38 -08:00
Jason Volk
f95ed6851b
ircd::json: Deinline / defriend various json::object related.
2019-01-22 12:04:23 -08:00
Jason Volk
39dde3b323
ircd::json: deinline / defriend various json::member related.
2019-01-22 11:43:55 -08:00
Jason Volk
0d78a07f55
ircd::json: Minor reorg / cleanup; improve some thrown errors.
2019-01-22 11:05:30 -08:00
Jason Volk
c9a4690d0c
ircd::json: Add escape mapping; unify the string generators.
2019-01-21 15:34:57 -08:00
Jason Volk
efc4831497
ircd::json: Improve conformity of various limitation constants.
2019-01-21 14:38:34 -08:00
Jason Volk
b2caba08a9
ircd::util: Fix u2a() input casting.
2019-01-19 13:42:05 -08:00
Jason Volk
950f989cf0
ircd::crh: Add HMAC support.
2019-01-19 13:20:58 -08:00
Jason Volk
18091eeb46
ircd::crh: Add sha1 hashing device.
2019-01-19 12:25:55 -08:00
Jason Volk
1041118b9b
ircd: Ⓜ️ :sync: Add catch handler for more descriptive error.
2019-01-18 15:09:39 -08:00
Jason Volk
0dd6abf9ca
ircd: Options package in preparation for lto.
2019-01-18 14:54:04 -08:00
Jason Volk
51c5ffbb5e
ircd: Ⓜ️ :event::fetch: Eliminate the selected_only option; make unconditional.
2019-01-18 14:54:04 -08:00
Jason Volk
b947aee02d
ircd: Ⓜ️ Fix subobject-linkage.
2019-01-18 14:54:04 -08:00
Jason Volk
4d05fe0353
ircd: Ⓜ️ :event::fetch: Reorg / cleanup internal interface.
2019-01-18 14:33:42 -08:00
Jason Volk
84309261b2
ircd::fs::aio: Even more counters.
2019-01-18 10:14:38 -08:00
Jason Volk
aeea524ac9
ircd::net: Improve listener interface w/ instance reference in callbacks.
2019-01-18 10:14:37 -08:00
Jason Volk
d639eceba2
ircd: Move runlevel related into ircd::run:: namespace.
2019-01-18 09:08:56 -08:00
Jason Volk
36bcb9a300
ircd::db: Remove the handles vector optimization.
2019-01-17 15:38:00 -08:00
Jason Volk
bb354c5c05
ircd::db: Bypass row iterator creation when not seeking on construction.
2019-01-17 15:38:00 -08:00
Jason Volk
42d9f6dc79
ircd: Ⓜ️ :event::fetch: Simplify opts ctor; minor cleanup.
2019-01-17 15:38:00 -08:00
Jason Volk
197478b531
ircd: Ⓜ️ Replace magic buffer sizes; minor cleanup.
2019-01-17 14:54:20 -08:00
Jason Volk
95cb4329fe
ircd::log: Remove unconditional critical output from stdout (remains for stderr).
...
Removed due to mark() causing critical output.
2019-01-17 14:54:20 -08:00
Jason Volk
1fb64a8924
ircd: Ⓜ️ :event::fetch: Set the fetch.valid state after index lookup failure.
2019-01-17 14:54:20 -08:00
Jason Volk
1eca2cafb3
ircd::fs::aio: Optimize the syscall pattern by selectively reading the eventfd.
2019-01-17 13:21:43 -08:00
Jason Volk
a61d9e5d96
ircd: Ⓜ️ :event::fetch: Add option for tight-to-selections.
2019-01-16 18:35:58 -08:00
Jason Volk
9e450cd912
ircd: Ⓜ️ :room::messages: Fix fetch() wrapping; pass any fopts.
2019-01-16 18:09:36 -08:00
Jason Volk
1b9e306ff0
ircd: Ⓜ️ :event::fetch: Various fixes / minor reorg.
2019-01-16 18:08:31 -08:00
Jason Volk
147ec1763b
ircd: Ⓜ️ :event::fetch: Clear source on subsequent valid row seek().
2019-01-16 17:53:24 -08:00
Jason Volk
c4b17c293a
ircd: Ⓜ️ :event::fetch: Condition on a valid event_idx here.
2019-01-16 16:38:58 -08:00
Jason Volk
8b05ea9d39
ircd: Ⓜ️ :event::fetch: Add some assertions on the seek().
2019-01-16 16:38:14 -08:00
Jason Volk
c43a0e49ab
ircd::db: Tweak cell::valid() stack.
2019-01-16 16:38:14 -08:00
Jason Volk
f9127e5681
ircd: Ⓜ️ :event::fetch: Obey keys selection when fetching event with full json query.
2019-01-16 16:38:14 -08:00
Jason Volk
fc703660f6
ircd: Ⓜ️ Add selecting-key ctor for event from json::object.
2019-01-16 16:38:14 -08:00
Jason Volk
2b12c8a9c5
ircd: Ⓜ️ :dbs: Use event source if available; add write options.
2019-01-16 15:55:08 -08:00
Jason Volk
f857e25ea7
ircd: Ⓜ️ :event: Add a source json::object as a member.
2019-01-16 14:35:10 -08:00
Jason Volk
11607b3993
ircd: Ⓜ️ :dbs: Use conditional column constructors for event columns.
2019-01-16 13:47:45 -08:00
Jason Volk
0652dfbc59
ircd::db: Allow null column transactions to be ignored rather than erroneous.
2019-01-16 13:46:15 -08:00
Jason Volk
918bc95d1a
ircd::db: Add nothrow column construction overload.
2019-01-16 13:23:00 -08:00
Jason Volk
4ded053406
ircd::db: Add cfid() lookup suite.
2019-01-16 13:21:36 -08:00
Jason Volk
5ae495031f
ircd: Ⓜ️ :event::fetch: Improve fetch options related; minor cleanup.
2019-01-16 12:19:25 -08:00
Jason Volk
2171cc23e8
ircd::db: Fix cell::load seek validation.
2019-01-15 19:03:52 -08:00
Jason Volk
8b1887c5f8
ircd::fs::aio: Fix assertion.
2019-01-15 19:03:52 -08:00
Jason Volk
c5489cecb0
ircd: Ⓜ️ :event::fetch: Add options to seek(); add event_json query branch.
2019-01-15 19:03:52 -08:00
Jason Volk
c314a9bb78
ircd: Ⓜ️ :dbs: Add event_json column with conditional indexer.
2019-01-15 15:36:18 -08:00
Jason Volk
7c998e48ed
ircd: Ⓜ️ :dbs: Cleanup / reorg write-indexers stack.
2019-01-15 13:00:15 -08:00
Jason Volk
1ab20cf721
ircd: Ⓜ️ Reorg / split / de-friend-inject various event interfaces.
2019-01-15 12:49:53 -08:00
Jason Volk
482112b369
ircd::mods: Improve exception translation.
2019-01-13 16:55:52 -08:00
Jason Volk
1a53b0e6e4
ircd::ctx: Improve exception handling at base frame.
2019-01-13 16:37:31 -08:00
Jason Volk
cbf456a388
ircd: Rename and refactor ircd::assertion interface into ircd::panic.
2019-01-13 16:37:31 -08:00
Jason Volk
ea4c3447c6
ircd::fs::aio: Simplify various conditions; add various comments; cleanup.
2019-01-13 14:02:03 -08:00
Jason Volk
4871928bfa
ircd::ctx: Partial de-inline of dock methods.
2019-01-13 13:57:34 -08:00
Jason Volk
3fae228c1a
ircd::json: Simplify json::object interface: eliminate path traversing overloads.
2019-01-12 16:47:48 -08:00
Jason Volk
b42ded1fc7
ircd::http: Add string views to make the raw head data available.
2019-01-12 11:56:00 -08:00
Jason Volk
d5956f47f7
ircd: Ⓜ️ Fix the m::cached logic to discount missing values.
2019-01-11 17:38:33 -08:00
Jason Volk
655d4e41c6
ircd::db: Configuration package.
2019-01-11 17:37:51 -08:00
Jason Volk
cbc4ddefe4
ircd::db: Fix issues with cache queries.
2019-01-11 17:36:05 -08:00
Jason Volk
d3d5f03b8c
ircd::db: Ensure no internal block cache is created by rocksdb when do not want.
2019-01-11 16:48:57 -08:00
Jason Volk
f55ad72ed5
ircd::db: Maintain our own names for caches.
2019-01-11 16:21:04 -08:00
Jason Volk
9a42fd9f60
ircd::db: Prevent submitting row with one cell to request pool.
2019-01-11 14:01:56 -08:00
Jason Volk
0f20a6a6ba
ircd::db: Improve row seek debugging and related.
2019-01-11 13:57:35 -08:00
Jason Volk
1198f7bc56
ircd::json::stack: Add object::append() convenience.
2019-01-10 16:58:44 -08:00
Jason Volk
4c495e1f44
modules/client/sync: Various cleanup / simplify.
2019-01-10 16:58:37 -08:00
Jason Volk
b15d3b929f
ircd: Ⓜ️ :room::messages: Support seeking to event index of 0 for begin.
2019-01-10 13:17:01 -08:00
Jason Volk
2d860b25a8
ircd: Ⓜ️ :sync: Checkpoint.
2019-01-09 20:39:12 -08:00
Jason Volk
5815fc87c2
ircd: Ⓜ️ :events: Simplify interface.
2019-01-09 18:08:29 -08:00
Jason Volk
6c96e0d785
ircd: Ⓜ️ :events: Simplify the for_each iteration interface.
2019-01-09 17:11:00 -08:00
Jason Volk
179d40fd21
ircd: Ⓜ️ Optimize event property query.
2019-01-08 17:17:41 -08:00
Jason Volk
443905859f
ircd: Ⓜ️ :sync: Additional abstraction; checkpoint polylog /sync modules.
2019-01-08 17:17:41 -08:00
Jason Volk
f9ec33916c
ircd::json::stack: Add internal convenience member instance in the object and array class.
2019-01-08 15:53:41 -08:00
Jason Volk
ce999b916a
ircd::json::stack: Add chase device; add top() conveniences.
2019-01-08 11:06:00 -08:00
Jason Volk
cf6fc070a7
ircd::json::stack: Keep state for member append; null member if no append.
2019-01-07 14:00:24 -08:00
Jason Volk
7df8a8a20c
ircd::util: Add more pretty date units.
2019-01-07 13:22:47 -08:00
Jason Volk
b0b404b172
ircd::aio: Handle EINTR on the read(); clarify comment.
2019-01-05 18:16:41 -08:00
Jason Volk
005e4217ed
ircd::mods: Various cleanup.
2019-01-05 17:18:08 -08:00
Jason Volk
b878f577d5
ircd: Ⓜ️ :user: Add a query for user to user visibility.
2019-01-04 14:47:46 -08:00
Jason Volk
61e88e75bc
modules/client/sync: Additional sync items reorganization.
2019-01-04 14:47:01 -08:00
Jason Volk
136d3a61a3
ircd::net::acceptor: Move socket close calls to exception handlers.
2019-01-04 12:44:29 -08:00
Jason Volk
86911226ed
ircd: Ⓜ️ Preliminary modular client sync system.
2019-01-03 17:21:02 -08:00
Jason Volk
ab121835af
ircd::log: Log critical messages to all outputs and ignore all masks.
2019-01-03 15:56:21 -08:00
Jason Volk
23b8874dc8
ircd::json::stack: Add a throw point before array append.
2019-01-03 15:54:53 -08:00
Jason Volk
815252e71f
ircd: Remove unused ap/cbor on this branch.
2019-01-02 12:27:17 -08:00
Jason Volk
c2103ec0d6
ircd::fs: Add sysfs access interface.
2019-01-01 21:15:10 -08:00
Jason Volk
23c1a87c4c
ircd::fs: Add tools for device related.
2019-01-01 19:53:12 -08:00
Jason Volk
b091fc7acb
ircd::client: Fix typo.
2018-12-31 20:18:02 -08:00
Jason Volk
03d78b3ce8
ircd::resource: Use pretty format for X-IRCd-Request-Timer header.
2018-12-31 20:09:25 -08:00
Jason Volk
f6c6250fcb
ircd:;db: Add the file size to the table file creation log msg.
2018-12-31 16:26:57 -08:00
Jason Volk
eba727a9db
ircd::db: Add a counter for the env pool tasks.
2018-12-31 16:12:10 -08:00
Jason Volk
b169f0cc80
ircd::db: Log more detailed table creation statistics.
2018-12-31 16:01:24 -08:00
Jason Volk
bc12702ed7
ircd::db: Log more detailed compaction job statistics.
2018-12-31 15:36:25 -08:00
Jason Volk
3b2188280a
util: Use more compact fmt for abbrev time.
2018-12-31 15:22:09 -08:00
Jason Volk
8f6c17aeb1
ircd::db: Fix log msg.
2018-12-31 14:34:10 -08:00
Jason Volk
11429bfff1
ircd::client: Tweak the loghead format.
2018-12-31 13:04:35 -08:00
Jason Volk
c15a44f921
ircd::net: Improve socket identification in various log messages.
2018-12-31 12:57:32 -08:00
Jason Volk
d983970907
ircd::http: Improve conditions for header generation.
2018-12-31 12:28:28 -08:00
Jason Volk
57079c0276
ircd::http: Add more functionality to headers class.
2018-12-31 12:28:28 -08:00
Jason Volk
6a25df6582
ircd::http: Check for user supplied header before generating one.
2018-12-30 18:07:18 -08:00
Jason Volk
6e71c05586
ircd: Ⓜ️ :error: Improve constructions; ensure json content-type.
2018-12-30 17:35:34 -08:00
Jason Volk
af37529470
ircd: Ⓜ️ :vm: Add a second sequence number; split out pdu write function.
2018-12-30 17:09:57 -08:00
Jason Volk
7bc1eee991
ircd::db: Add alignment assertion on read callback.
2018-12-30 15:13:29 -08:00
Jason Volk
b36b34be30
ircd::client: Reuse the request timer as an async timer.
2018-12-30 15:13:00 -08:00
Jason Volk
43a354da49
ircd::util: Add a format option for pretty_nanoseconds() et al for abbreviated units.
2018-12-30 13:38:14 -08:00
Jason Volk
ba7ad88d7a
ircd::aio: Additional assertion.
2018-12-29 20:15:24 -08:00
Jason Volk
663b164f39
ircd::fs: Abstract the common options into opts struct.
2018-12-29 20:02:22 -08:00
Jason Volk
3bec2c27d4
ircd::db: Set a lower priority io value for the LOW pool.
2018-12-29 19:43:17 -08:00
Jason Volk
a36d473708
ircd::fs::aio: Rename function.
2018-12-29 19:43:17 -08:00
Jason Volk
c8d5543c11
ircd::fs::aio: Improve handling of return and error behaviors of io_submit.
2018-12-29 19:43:17 -08:00
Jason Volk
afba6c2b5c
ircd::fs::aio: Add close-on-exec flag to the eventfd.
2018-12-29 19:43:17 -08:00
Jason Volk
5b934c5e71
ircd::db: Tweak error formatting.
2018-12-29 19:43:17 -08:00
Jason Volk
2e1828adbf
ircd::rfc3986: De-template grammar; fix rule array.
2018-12-29 19:43:17 -08:00
Jason Volk
3466597981
ircd::fs: Various reorg; cleanup.
2018-12-29 19:43:17 -08:00
Jason Volk
7e023beb4f
ircd::db: Reduce env debug noise when no compaction callback.
2018-12-28 18:18:13 -08:00
Jason Volk
12401c70aa
ircd::db: Don't start background tasks before runlevel::RUN.
2018-12-28 17:53:26 -08:00
Jason Volk
6784be5be8
ircd::db: Tweak interruption points; cleanup.
2018-12-28 17:14:19 -08:00
Jason Volk
c93cd90db1
ircd::aio: Simplify stats.
2018-12-28 16:30:27 -08:00
Jason Volk
30dc2ce7ed
ircd::fs: Various cleanup / renames.
2018-12-28 15:30:29 -08:00
Jason Volk
16ebbbfa8a
ircd::ctx: Move and adjust default stack size.
2018-12-28 14:07:40 -08:00
Jason Volk
d786079fca
ircd::log: Check if ios is available as a condition for vlog_threadsafe().
2018-12-28 13:24:33 -08:00
Jason Volk
a66d5082d7
ircd::ctx: Prevent spawning initial pool contexts when no ios available.
2018-12-28 13:24:33 -08:00
Jason Volk
c97fcb3b2a
ircd::ios: Add function to check if an ios available.
2018-12-28 13:05:03 -08:00
Jason Volk
4a47b39298
ircd::ctx: Create and use an options structure for ctx::pool.
2018-12-28 12:57:32 -08:00
Jason Volk
fe0f548496
ircd::db: Update / cleanup / comment various opts related.
2018-12-28 10:55:57 -08:00
Jason Volk
c82382ea2c
ircd::db: Use a zero soft-limit to yield all requests when saturated; prefetch condition.
2018-12-27 17:20:43 -08:00
Jason Volk
5ae69dde95
ircd::ctx: Check for termination to condition pool work loop.
2018-12-27 17:20:43 -08:00
Jason Volk
364302c212
ircd::ctx: Add soft and hard limit logic for submitting to pool.
2018-12-27 17:20:42 -08:00
Jason Volk
dad9ec8e44
ircd::fs: Increase default io_submit threshold.
2018-12-27 15:05:21 -08:00
Jason Volk
62bf807ad2
ircd::db: Wire up more IOPriority and write_opts related.
2018-12-27 14:58:04 -08:00
Jason Volk
7f41ca2f48
ircd::fs: Add nodelay option to write_opts; relax the flush on write by default.
2018-12-27 14:58:04 -08:00
Jason Volk
29fd84010f
ircd::db: RocksDB does its own read loop for sequential_file.
2018-12-27 14:58:04 -08:00
Jason Volk
beb7a0c180
ircd::db: Bypass call for block_size when not direct io.
2018-12-27 14:58:04 -08:00
Jason Volk
0c5ebde1fc
ircd::fs::aio: Add blocking point to manage io_submit's in flight; various reorg.
2018-12-27 14:58:03 -08:00
Jason Volk
69ae8308e5
ircd::fs::aio: Various improvements; fix cancel w/ queue; class member queues rather than tls.
2018-12-27 14:58:03 -08:00
Jason Volk
e58a975750
ircd::fs: Use a nice-style value for request priority; default to zero.
2018-12-27 14:58:03 -08:00
Jason Volk
2f5d175957
ircd::db: Add cached membership test to row interface.
2018-12-26 19:45:04 -08:00
Jason Volk
13621feca0
ircd::db: Use better cache membership test.
2018-12-26 19:44:26 -08:00
Jason Volk
38920719de
ircd: Ⓜ️ Add suite to check if event is cached.
2018-12-26 19:01:13 -08:00
Jason Volk
5fb887096b
ircd::fs: Prevent ODR warnings from these weak defs.
2018-12-26 15:49:08 -08:00
Jason Volk
444000faf1
ircd::fs: Add a nodelay option on reads.
2018-12-26 15:42:23 -08:00
Jason Volk
7a9d70f15d
ircd::aio: Add a reference to the fs opts structure for the request.
2018-12-26 15:40:22 -08:00
Jason Volk
528dff78ff
ircd::aio: Flush the io_submit queue on all non-reading ops.
2018-12-26 15:16:31 -08:00
Jason Volk
9f70ce1b28
ircd::ctx: Add pool::min() convenience.
2018-12-24 16:20:03 -08:00
Jason Volk
c1c11b4aed
ircd::db: Enrich seek(row) opts; add proper error handling and propagation.
2018-12-24 14:33:35 -08:00
Jason Volk
b035bb9824
ircd::db: No need to copy gopts in db::cell related.
2018-12-24 14:32:33 -08:00
Jason Volk
2876398c04
ircd::db: Simplify/Consolidate error hierarchy.
2018-12-24 13:32:22 -08:00
Jason Volk
aa166d0c5d
ircd::json::stack: Add noexcept for non-throwers called during stack unwinds.
2018-12-24 12:06:57 -08:00
Jason Volk
387e8b8eed
ircd::ctx: Improve pool loop; improve log msg; add interruption point.
2018-12-24 12:06:05 -08:00
Jason Volk
956a8e239c
Use more aggressive tls-model options.
2018-12-23 17:36:35 -08:00
Jason Volk
70ebf4b066
ircd::ctx: Use thread_local for these.
2018-12-23 17:26:41 -08:00
Jason Volk
b5168eb063
ircd::db: Prevent copying log message if unnecessary.
2018-12-23 14:33:22 -08:00
Jason Volk
599831f680
ircd::ctx: Condition the prof checks on NDEBUG.
2018-12-22 21:27:19 -08:00
Jason Volk
894a947e24
ircd::ctx: Add specific define to activate prof::mark() for build.
2018-12-22 21:17:12 -08:00
Jason Volk
29e7fa3515
ircd::ctx: Use closure for continuation.
2018-12-22 21:03:14 -08:00
Jason Volk
37ba013413
ircd::ctx: Simplify continuation; eliminate to_asio derived type.
2018-12-22 20:11:00 -08:00
Jason Volk
8e8602e08a
ircd::log: Skip some operations for log levels not compiled in.
2018-12-22 17:24:49 -08:00
Jason Volk
c2b344b74e
ircd: Allow exceptions to propagate from various interruptors.
2018-12-22 17:24:48 -08:00
Jason Volk
365cf865d0
ircd::ctx: Various improvements/reorg of continuation/to_asio.
2018-12-22 17:24:48 -08:00
Jason Volk
308b27cda1
ircd::aio: Simplify the submit(request) procedure.
2018-12-22 17:24:48 -08:00
Jason Volk
d5ffc6b0de
ircd::ctx: Improve prof related; add full ticker of counters.
2018-12-22 15:17:18 -08:00
Jason Volk
39d4f2fb83
ircd::ctx: Expose the profile state struct in the prof:: interface.
2018-12-22 13:47:13 -08:00
Jason Volk
a590ad1a03
ircd::ctx: Another attempt at using continuation dtor as an interruption point.
2018-12-22 13:36:48 -08:00
Jason Volk
0ed9382db0
ircd::ctx: Reorder the interruption point conditional branches.
2018-12-22 13:19:02 -08:00
Jason Volk
b5f4aeb67d
ircd::ctx: Assert ctx dtor isn't called while running.
2018-12-22 13:04:02 -08:00
Jason Volk
48b50acab2
ircd::ctx: Cleanup and recondition stack-protect related.
2018-12-22 13:04:02 -08:00
Jason Volk
97880281f8
ircd::aio: No need to post more than one chaser at a time.
2018-12-22 12:13:31 -08:00
Jason Volk
08c940d0df
ircd::ctx: Use better interruption check; remove func condition.
2018-12-21 18:22:44 -08:00
Jason Volk
29d6d819ca
ircd::fpe: Use std noreturn here.
2018-12-21 17:19:16 -08:00
Jason Volk
5e196ce0ac
ircd::ctx: Emit stack_protect in some places.
2018-12-21 17:18:41 -08:00
Jason Volk
d902269165
ircd::mods: Throw fs::error rather than boost's filesystem_error.
2018-12-21 15:33:18 -08:00
Jason Volk
cb2b3e7c16
ircd: Minor link options package.
2018-12-21 14:38:14 -08:00
Jason Volk
1ef9fa7676
ircd:json: De-template output grammar and assume iterator type; remove ostreamer.
2018-12-21 14:02:02 -08:00
Jason Volk
d28c007f3c
ircd::json: De-template input grammar and assume iterator type.
2018-12-21 14:00:54 -08:00
Jason Volk
7c5b709803
ircd::http: De-template grammar and assume iterator type.
2018-12-21 13:56:20 -08:00
Jason Volk
31ffcfa859
ircd: Ⓜ️ 🆔 De-template grammars and assume iterator type; minor fixes.
2018-12-21 13:55:11 -08:00
Jason Volk
1262163805
ircd::fs::aio: Add condition to submit for queue full; assertions; minor cleanup.
2018-12-21 13:25:08 -08:00
Jason Volk
69e3677dd5
ircd::fs: Add instrumentation related for dynamic stack array.
2018-12-21 13:19:34 -08:00
Jason Volk
a5ebc28928
ircd::fs::aio: Reorganize with symbol overriding; add conf items.
2018-12-21 13:04:57 -08:00
Jason Volk
c3d95aa8de
ircd::fs: Remove the thread_local convenience for make_iov().
2018-12-21 12:57:58 -08:00
Jason Volk
2f36fec41a
ircd::fs: Cleanup the duplicate support state indicators.
2018-12-21 12:09:44 -08:00
Jason Volk
f9ee616a9a
ircd::ctx::prof: Use a profile instance as a totals counter.
2018-12-21 11:55:43 -08:00
Jason Volk
2c5d6bb7ba
ircd::fs::aio: Preliminary io_submit queue to leverage disk controller optimizations.
2018-12-21 10:36:05 -08:00
Jason Volk
152060da36
ircd::fs: Create iov on the stack rather than with tls.
2018-12-21 10:28:51 -08:00
Jason Volk
67e6d363db
ircd::ctx: Add interruption point before yield to asio.
2018-12-20 14:21:48 -08:00
Jason Volk
68d0561788
ircd::aio: Reorder definitions.
2018-12-20 13:41:00 -08:00
Jason Volk
0d21e05c09
ircd::aio: Minor cleanup.
2018-12-20 13:37:25 -08:00
Jason Volk
9d7a53ae49
ircd::ctx: Move resume-interruption point to this_ctx::wait() suite.
2018-12-20 13:27:21 -08:00
Jason Volk
7c24e6dab6
ircd::aio: Reduce the max events constant.
2018-12-20 11:52:46 -08:00
Jason Volk
78c4c2fb37
doc: Reorg some documentation.
2018-12-20 11:29:54 -08:00
Jason Volk
c1779fbf0d
ircd::client: Improve log message.
2018-12-19 17:06:30 -08:00
Jason Volk
009979a544
ircd: Ⓜ️ Increase error buffer size.
2018-12-19 15:57:23 -08:00
Jason Volk
2d90469f6b
ircd::log: Tweak defaults.
2018-12-19 14:14:28 -08:00
Jason Volk
df7e46722f
ircd::db: Add a ctx::slice_usage_warning message for background task executions.
2018-12-19 14:06:28 -08:00
Jason Volk
605cce9ed1
ircd::db: Propagate the FlushOptions.allow_write_stall option; improve sort cmd.
2018-12-19 13:58:09 -08:00
Jason Volk
f683e60df4
ircd::db: Add reflections for compaction and flush reasons.
2018-12-19 13:39:06 -08:00
Jason Volk
e1af547e16
ircd::db: Minor tweak log message fmt.
2018-12-19 13:09:10 -08:00
Jason Volk
5a0a9989e4
ircd::log: Rename facility to level.
2018-12-19 12:52:08 -08:00
Jason Volk
b4910319e0
ircd: Add various comments / documentations.
2018-12-19 12:35:21 -08:00
Jason Volk
0017a942e2
ircd::info: Reorganize info.
2018-12-19 12:35:21 -08:00
Jason Volk
ddfafd45e2
ircd::ctx: Exempt SLICE_EXEMPT contexts from slice_usage_warning.
2018-12-18 18:10:06 -08:00
Jason Volk
00e27b070e
ircd::log: Control logging with conf items.
2018-12-18 18:10:06 -08:00
Jason Volk
5d1f17b26e
ircd::db: Checkpoint options default package.
2018-12-18 17:36:51 -08:00
Jason Volk
e1fd3f556b
ircd: Move runlevel definitions into ircd.cc.
2018-12-18 17:34:12 -08:00
Jason Volk
bd5ecceb65
ircd::info: Reorg / add some more info.
2018-12-18 16:01:45 -08:00
Jason Volk
0006fa85ce
ircd::aio: Reduce the max events const.
2018-12-18 15:45:06 -08:00
Jason Volk
3afce36dd4
ircd::info: Get sysconf() for maximum AIO operations.
2018-12-18 15:44:43 -08:00
Jason Volk
582628fb71
ircd::fs: Add read/write options to restart operation on EINTR.
2018-12-18 14:44:25 -08:00
Jason Volk
254d5ccb50
ircd::fs: Add 'all' write option with internal loop.
2018-12-18 14:44:25 -08:00
Jason Volk
541b020a19
ircd::db: Add read options for 'aio' and 'all' to file env classes.
2018-12-18 14:44:25 -08:00
Jason Volk
bb3a68a95e
ircd::fs: Handle partial reads internally with 'all' option.
2018-12-18 14:44:25 -08:00
Jason Volk
c3cf4c02dd
ircd::fs: Use posix iov in AIO interface arguments.
2018-12-18 14:21:09 -08:00
Jason Volk
77a84b18d3
ircd::fs: Add offset to make_iov() suite.
2018-12-18 14:21:09 -08:00
Jason Volk
81ca6fecf4
ircd::fs: Add slice usage warning reasons; simplify conditional logic.
2018-12-17 16:20:54 -08:00
Jason Volk
a7b2f76c11
ircd::ctx: Add slice_usage_warning device.
2018-12-17 16:20:53 -08:00
Jason Volk
4686139f8e
ircd::ctx: Rework the prof stack to make a public test interface.
2018-12-17 15:24:41 -08:00
Jason Volk
1e1c9c6a1e
ircd::db: Add more information to some file-related env log messages.
2018-12-17 14:01:45 -08:00
Jason Volk
beda5abc2a
ircd: Ⓜ️ :dbs: Add conf items for some buffer sizes.
2018-12-17 13:18:27 -08:00
Jason Volk
2c713cc9a5
ircd::ctx: Tweak interruption point to asio; add comments.
2018-12-17 12:16:04 -08:00
Jason Volk
495b70ec6d
ircd::db: Improve shutdown sequence.
2018-12-16 18:37:51 -08:00
Jason Volk
ba10948e9d
ircd::ctx: Move principal interruption point into continuation.
2018-12-16 18:37:51 -08:00
Jason Volk
16ea21e9f3
ircd::db: Use appropriate log facility for bad news in events callbacks.
2018-12-16 18:37:51 -08:00
Jason Volk
fae947d433
ircd::db: Add a background cancel interface w/ console cmd.
2018-12-16 18:37:51 -08:00
Jason Volk
55023041b8
ircd::db: Reorg environment task pool related.
2018-12-16 18:37:51 -08:00
Jason Volk
2a23d9e6dd
ircd::ctx: Add more interface access to pool/queue; various cleanup.
2018-12-16 16:27:11 -08:00
Jason Volk
72859c650b
ircd::ctx: Convert various name character strings to string_view.
2018-12-16 16:27:11 -08:00
Jason Volk
a513ba9cf3
ircd::db: Deinline some env::state related.
2018-12-16 16:27:11 -08:00
Jason Volk
e22162f505
ircd::db: Add noexcept specifiers to all port interfaces.
2018-12-16 16:27:11 -08:00
Jason Volk
94518ded5f
ircd::db: Move env::state related; minor cleanup.
2018-12-16 16:27:11 -08:00
Jason Volk
705033c459
ircd::db: Relax various write-lock and uninterruptible points.
2018-12-16 16:27:10 -08:00
Jason Volk
d6e05aa826
ircd::db: Remove the write lock during manual range compaction.
2018-12-15 23:08:07 -08:00
Jason Volk
d754af2f18
ircd::db: Disable interruption for port operations.
2018-12-15 23:07:42 -08:00
Jason Volk
67ce539759
ircd::db: Improve shutdown sequence for environment.
2018-12-15 23:06:33 -08:00
Jason Volk
9f458938db
ircd: Gracefully ignore termination propagated from ircd::main().
2018-12-15 20:51:57 -08:00
Jason Volk
a2a66eb314
ircd::fs: Deinline various error ctor; simplify various error handling.
2018-12-15 20:50:32 -08:00
Jason Volk
d96ddae133
ircd::db: Propagate all errors from db::init_directory().
2018-12-15 20:50:32 -08:00
Jason Volk
3fd689931c
ircd::db: Add state and conditions for AIO operations on sequential_file.
2018-12-15 20:29:54 -08:00
Jason Volk
da97535713
ircd::db: Reduce the severity of the logmsg for ENOENT on a seqfile open().
2018-12-15 20:29:54 -08:00
Jason Volk
bb6ba69f0b
ircd::db: Fix error handling for column_names(); add comments.
2018-12-15 20:29:54 -08:00
Jason Volk
5bba7b3f16
ircd: Remove make install hook to create db dir: already done in db::init.
2018-12-15 20:29:54 -08:00
Jason Volk
f1948d38e0
ircd::log: Create log directory at runtime rather than install.
2018-12-15 20:29:54 -08:00
Jason Volk
a8584f3336
ircd::fmt: Fix unconditional null termination regression.
2018-12-15 20:29:53 -08:00
Jason Volk
d7891d91e8
ircd::mods: Improve dlopen()/handle construction accoutrements.
2018-12-15 20:29:53 -08:00
Jason Volk
5d7f971b89
ircd::mods: Disable interruption during dlopen() / static init.
2018-12-15 20:29:53 -08:00
Jason Volk
4216e939c8
ircd: Set runlevel to QUIT when ircd::quit() called in START state.
2018-12-15 18:18:00 -08:00
Jason Volk
98cb7693f3
ircd::ctx: Set context to NOINTERRUPT rather than clearing TERMINATED like an INTERRUPTED.
2018-12-15 18:18:00 -08:00
Jason Volk
7471bf54f4
ircd::ctx: Improve/conform some watchdog log messages.
2018-12-15 18:18:00 -08:00
Jason Volk
2cc7831770
ircd::fs: Add option to bypass AIO for specific operations.
2018-12-15 18:17:59 -08:00
Jason Volk
70d4b32c3d
ircd::db: Add interface for pause/continue of background work w/ console cmd.
2018-12-14 17:27:48 -08:00
Jason Volk
2eaf5c74c2
ircd::fmt: Minor simplify; cleanup.
2018-12-14 15:51:12 -08:00
Jason Volk
68e91d9206
ircd::client: Broadcast the notify to this dock here.
2018-12-14 15:38:31 -08:00
Jason Volk
c4d5f03725
ircd::fs: Add compat interface for range flush()/sync().
2018-12-13 18:04:48 -08:00
Jason Volk
5e8d5562da
ircd::fs: Simplify interface.
2018-12-13 17:46:08 -08:00
Jason Volk
9d423f84d8
ircd:;fs: Rename various fsync/sync related.
2018-12-13 16:54:09 -08:00
Jason Volk
a3613b1f4c
ircd::ctx: Don't persist conf items for slice/stack assertions.
2018-12-13 16:25:42 -08:00
Jason Volk
399198deac
ircd::ctx: Add flags for slice and stack usage watchdog exemption.
2018-12-13 16:21:54 -08:00
Jason Volk
3df645fcfb
ircd::ctx: Improve some prof log messages.
2018-12-13 15:19:26 -08:00
Jason Volk
e2cb79e28d
ircd::db: Minor cleanup; comments.
2018-12-13 13:44:37 -08:00
Jason Volk
b68677cc28
ircd::db: Simplify error handling and translation for env.
2018-12-12 17:32:24 -08:00
Jason Volk
7792f00461
ircd::db: Add more info to log message.
2018-12-12 16:55:11 -08:00
Jason Volk
a2892356d1
ircd::db: Compact range options package.
2018-12-12 16:02:31 -08:00
Jason Volk
62874ff498
ircd::db: Add src and dst level arguments to db::compact files interface.
2018-12-12 15:53:16 -08:00
Jason Volk
9236eeba75
ircd::db: Add dwarning for unaligned write w/ direct io.
2018-12-12 15:30:25 -08:00
Jason Volk
a7a00287bb
ircd::db: Assert the callback thread_id's match up with the current ircd::ctx.
2018-12-12 14:52:04 -08:00
Jason Volk
0b37c03c78
ircd::db: Simplify log message formats on callbacks.
2018-12-12 14:48:06 -08:00
Jason Volk
1cab1fda7e
ircd::db: Use db logger rather than rog for event callbacks.
2018-12-12 13:24:47 -08:00
Jason Volk
8d9b0fb4b1
ircd::db: Options package checkpoint.
2018-12-12 13:16:47 -08:00
Jason Volk
df36a6a4ac
ircd::db: Use proper fs::sync() for sync requests.
2018-12-12 13:16:47 -08:00
Jason Volk
b80735c575
ircd::fs: Add sync()/syncfs().
2018-12-12 13:16:47 -08:00
Jason Volk
c156266bd8
ircd::fs: Simplify error handling.
2018-12-12 13:16:47 -08:00
Jason Volk
6dc547f8f1
ircd::db: Simplify some rdb event log messages.
2018-12-12 10:42:11 -08:00
Jason Volk
41fd658b24
ircd::db: Add interface to get column and database options.
2018-12-12 10:17:47 -08:00
Jason Volk
a133235f82
ircd::db: Move database::options to db::options.
2018-12-12 10:17:47 -08:00
Jason Volk
c9e9fd3621
ircd::db: Use non-allocating message string for exception translation.
2018-12-12 10:12:24 -08:00
Jason Volk
a3f831e64f
ircd::net: Simplify various log messages with loghead().
2018-12-12 10:12:24 -08:00
Jason Volk
e97742ef39
ircd::net: Add loghead() similar to client::loghead().
2018-12-12 10:12:24 -08:00
Jason Volk
d7da57e073
ircd::db: Add log level interface w/ console cmd.
2018-12-12 10:12:23 -08:00
Jason Volk
76ac576f53
ircd::log: Improve reflection related; add reverse reflection.
2018-12-12 08:47:13 -08:00
Jason Volk
f667b73dac
ircd::db: Minor move database::column closer to database in the unit.
2018-12-12 08:03:59 -08:00
Jason Volk
24d8665695
ircd::db: Convey better compaction compression option.
2018-12-11 16:42:18 -08:00
Jason Volk
a03d28c6a1
ircd::db: Allow < -1 target level to indicate no level change at all.
2018-12-11 16:30:28 -08:00
Jason Volk
8e11620100
ircd::db: Distinguish range compact from files compact in interface.
2018-12-11 16:30:28 -08:00
Jason Volk
638a629151
ircd::fs: Translate boost to std for exceptions out of stdin::readline.
2018-12-11 14:32:51 -08:00
Jason Volk
2a437347cb
ircd: Ⓜ️ :dbs: Relax assertion.
2018-12-10 15:56:09 -08:00
Jason Volk
cfbf31c587
ircd::db: Fix log msg fmt consistency.
2018-12-10 15:18:27 -08:00
Jason Volk
8d6c7e3576
ircd::db: Add WAL information interface w/ console cmd.
2018-12-10 14:14:55 -08:00
Jason Volk
c3560d4890
ircd::db: Rename database::logs to database::logger.
2018-12-10 13:26:46 -08:00
Jason Volk
97b3003280
ircd: Convert various exception format string arguments to string_view.
2018-12-10 13:14:39 -08:00
Jason Volk
19f1929b1f
ircd::log: Use string_view for format string arguments.
2018-12-10 13:02:17 -08:00
Jason Volk
45bf911952
ircd::conf: Add feature to toggle whether conf item is persisted in a db.
2018-12-08 16:27:32 -08:00
Jason Volk
313bffffc2
ircd::fs: Add path to error message thrown from ls() et al.
2018-12-08 15:50:08 -08:00
Jason Volk
1ba22a21ba
ircd: Disperse accumulated global options as conf items in namespaces.
2018-12-08 15:36:34 -08:00
Jason Volk
0c0c3b1f41
ircd: Split runlevel related into header and unit.
2018-12-08 15:15:31 -08:00
Jason Volk
caf1190c91
ircd::db: Tweak interruption point related.
2018-12-07 12:48:54 -08:00
Jason Volk
41602087f4
ircd::ctx: Simplify flags type; fix flags test.
2018-12-07 12:45:05 -08:00
Jason Volk
4a2ad1c186
ircd::ctx: Reorg continuation for core wakeup conditions.
2018-12-07 12:31:30 -08:00
Jason Volk
9eabd745f5
ircd::ctx: Minor cleanup.
2018-12-07 12:03:25 -08:00
Jason Volk
418bbc0441
ircd::ctx: Minor simplify type elaborations.
2018-12-07 11:01:16 -08:00
Jason Volk
3af70e75c3
ircd::ctx: Minor cleanup / struct packing / type.
2018-12-07 10:13:29 -08:00
Jason Volk
caa92a98c3
ircd::ctx: Don't execute an interrupt handler for uninterruptible ctx.
2018-12-06 19:07:36 -08:00
Jason Volk
bacfa6de95
ircd::ctx: Assert interruption points aren't useless calls.
2018-12-06 19:04:31 -08:00
Jason Volk
086f92f989
ircd::rfc3986: Type checking on form encoding from json::members.
2018-12-06 17:31:22 -08:00
Jason Volk
6de17431ff
ircd: Reverse arguments for url::encode()/decode(); minor reorg.
2018-12-06 16:41:47 -08:00
Jason Volk
2caf425fde
ircd::rfc3986: Add form_encode() composer from json::members.
2018-12-06 16:27:05 -08:00
Jason Volk
e4922772f4
ircd::server: Fix issues with non-matrix peer construction.
2018-12-05 19:38:40 -08:00
Jason Volk
3f939367c0
ircd::log: Add console_enable/disable for all facilities.
2018-12-05 19:00:10 -08:00
Jason Volk
99001a4ea5
ircd: Initial ap.
2018-12-05 15:17:00 -08:00
Jason Volk
b9974bf4ab
ircd::http: Allow empty chunk header to indicate a zero length.
2018-12-05 15:15:49 -08:00
Jason Volk
10b8db0bb3
ircd::http: Add format string construction for http::error.
2018-12-05 15:15:26 -08:00
Jason Volk
d6241c66de
ircd: Add synchronization for runlevel changes.
2018-12-05 14:31:05 -08:00
Jason Volk
760bd0f19c
ircd::db: Workaround allow_fallocate options issue.
2018-12-03 14:31:48 -08:00
Jason Volk
0250c0f2ec
ircd::db: Disable fallocate() use for now.
2018-12-03 13:01:36 -08:00
Jason Volk
24e423c714
ircd::fs: Add support test for fallocate().
2018-12-03 12:58:42 -08:00
Jason Volk
47d6fbb35f
ircd::fs: Consolidate support tests and indications into namespace.
2018-12-03 12:55:52 -08:00
Jason Volk
f2ecf617ba
ircd::db: Stub a place to put the runtime loaded library version information.
2018-12-03 12:30:59 -08:00
Jason Volk
6d80be2d7a
ircd::db: Cleanup / comment db options initialization.
2018-12-03 11:54:35 -08:00
Jason Volk
402f0f91f1
ircd::db: Create DBOptions earlier for use when reading column names.
2018-12-02 17:45:36 -08:00
Jason Volk
e8088ce52a
ircd::db: Assert synchronization for sequential file operations; update offset on PositionedRead().
2018-12-02 17:19:13 -08:00
Jason Volk
c1d915db7a
ircd::db: Fix pragma.
2018-12-02 17:16:32 -08:00
Jason Volk
b45b25bdcd
ircd::db: Dressing for C99 array on stack here.
2018-12-01 17:07:15 -08:00
Jason Volk
b31432aae1
ircd::db: Checkpoint some table options for compression.
2018-12-01 16:11:32 -08:00
Jason Volk
711dfacd9a
ircd::fs: Improve strategy for AIO fsync/fdsync related.
2018-12-01 16:10:53 -08:00
Jason Volk
ca525b081f
ircd: Add noaio global flag; add command line option.
2018-12-01 15:55:53 -08:00
Jason Volk
965ecd16e5
ircd::fs: Break apart / improve make_iov() related stack / cleanup typedefs.
2018-12-01 15:46:38 -08:00
Jason Volk
2dc36775a8
ircd::fs: Check IOV_MAX limits for make_iov().
2018-12-01 15:21:06 -08:00
Jason Volk
62053e66e2
ircd::db: Minor interruption point tweaks.
2018-12-01 14:55:38 -08:00
Jason Volk
36b4e3cabe
ircd: Add init parameters for different origin and hostname strings.
2018-12-01 14:55:38 -08:00
Jason Volk
f9def72a89
ircd::db: Fix propagation of column's compression type to compaction options.
2018-11-30 15:19:49 -08:00
Jason Volk
ea0ad518ea
ircd::db: Fix interface / linkage for getting ColumnFamilyOptions ref from database::column.
2018-11-30 15:19:00 -08:00
Jason Volk
c451571108
ircd::db: Fix finding supported compression error.
2018-11-30 15:07:51 -08:00
Jason Volk
17817db656
ircd: Ⓜ️ :dbs: Add back the deprecated _event_bad descriptor marked for drop.
2018-11-30 14:44:16 -08:00
Jason Volk
3f6ae85f8f
ircd::db: Add automated column drop support; update existing descriptors.
2018-11-30 14:43:51 -08:00
Jason Volk
b0bfd87e9f
ircd::net: Support interruption of UDP listening.
2018-11-29 19:16:05 -08:00
Jason Volk
13bce714ab
ircd::rfc1035: Add constant for name buffer size.
2018-11-29 18:04:19 -08:00
Jason Volk
5db6447c4f
ircd::db: Disable thread tracking; add compression to column open log msg.
2018-11-29 16:47:17 -08:00
Jason Volk
d1bfba2204
ircd::db: Remove critical assertion here and add note.
2018-11-29 16:18:29 -08:00
Jason Volk
c74debac01
ircd::ctx: Cleanup / fixes for critical assertion related.
2018-11-29 16:12:33 -08:00
Jason Volk
60dd8c0eea
ircd::db: Enable block alignment based on compression; Enable O_DIRECT writes.
2018-11-29 15:41:42 -08:00
Jason Volk
4d9027088f
ircd: Ⓜ️ :state: No throwing when state node is not found here.
2018-11-29 15:24:39 -08:00
Jason Volk
0b0d20884d
ircd: Ⓜ️ :state: Eliminate remaining test-protocol iterations.
2018-11-29 15:10:51 -08:00
Jason Volk
d35dad46c2
configure: Add EXTRA_LIBS rather than modifying LIBS here.
2018-11-29 13:46:45 -08:00
Jason Volk
3ab6d4df79
ircd::fs::aio: Improve stats related.
2018-11-29 13:46:44 -08:00
Jason Volk
731c154b19
ircd::db: Disable AIO for fsync related for now.
2018-11-29 13:08:37 -08:00
Jason Volk
58d80ddc53
ircd::fs: Add option to toggle AIO for fsync related.
2018-11-29 10:18:43 -08:00
Jason Volk
44bf18d4df
ircd::fs: Integrate read(iov) suite.
2018-11-28 17:26:25 -08:00
Jason Volk
466ad228b0
ircd::fs: Integrate an overwrite() iov suite.
2018-11-28 17:26:06 -08:00
Jason Volk
20fe537409
ircd::fs: Integrate append() iov suite.
2018-11-28 17:21:28 -08:00
Jason Volk
db36ea6255
ircd::fs: fs::write() stack based on pwritev() using iov.
2018-11-28 17:10:48 -08:00
Jason Volk
c9b10bd841
ircd::fs: Use better typedefs for vector_view of buffers.
2018-11-28 17:10:17 -08:00
Jason Volk
322e25e725
ircd::info: Add runtime sysconf to get IOV_MAX.
2018-11-28 16:53:59 -08:00
Jason Volk
eff4c475e3
ircd::fs: Add iov util header; make aio interface to fs exclusively iov.
2018-11-28 16:53:04 -08:00
Jason Volk
67772facef
ircd::fs::aio: Add specific read and write stat counters.
2018-11-28 15:01:00 -08:00
Jason Volk
a70d65f171
ircd::util: Allow custom format string for pretty() suite.
2018-11-28 14:41:27 -08:00
Jason Volk
fde8dbc69d
ircd::fmt: Cleanup/reorg definition namespace scoping.
2018-11-28 14:41:27 -08:00
Jason Volk
24ad230aed
ircd::fmt: Modernize buffering, cleanup, comment various.
2018-11-28 14:41:27 -08:00
Jason Volk
5cdd2e6376
ircd::fs::aio: Add statistics for AIO subsystem w/ console cmd.
2018-11-27 19:54:24 -08:00
Jason Volk
12cf8c8772
ircd::fs::aio: Add additional assertions.
2018-11-27 19:53:32 -08:00
Jason Volk
0451dfd925
ircd::fs::aio: Add iovec bytes counter.
2018-11-27 19:53:05 -08:00
Jason Volk
062906143f
ircd::fs: Add an fs/aio.h header. Reorg various aio namespace related.
2018-11-27 18:09:12 -08:00
Jason Volk
0de55ce111
ircd::db: Attempt at direct IO writable_file (append) implementation.
2018-11-27 17:30:59 -08:00
Jason Volk
adf2de8aed
ircd::buffer: Add include-conditioned zero() fallback and improve return semantic.
2018-11-16 14:28:03 -08:00
Jason Volk
49354027a6
ircd::db: Various cleanup; simplify.
2018-11-15 20:54:50 -08:00
Jason Volk
ae1c6cc680
ircd::net: Catch std::system_error rather than boost here.
2018-11-14 18:57:42 -08:00
Jason Volk
46690f433c
ircd::ctx: Condition rdtsc linkage based on x86intrin availability.
2018-11-14 18:45:10 -08:00
Jason Volk
28115730de
ircd::info: Get the RLIMIT_RTTIME on startup info.
2018-11-14 18:45:10 -08:00
Jason Volk
48a15e026b
ircd::ctx::prof: Convert the settings into conf items.
2018-11-14 18:45:10 -08:00
Jason Volk
9222de0b34
ircd::ctx: Add access to rdtsc through ctx::prof; minor comments.
2018-11-14 16:55:46 -08:00
Jason Volk
70099d70a2
ircd: Ⓜ️ :room::messages: Add depth convenience; return parsed event_idx value.
2018-11-13 17:04:57 -08:00
Jason Volk
19ef3cfb67
ircd::fpe: Condition experimental asynchronous exception use.
2018-11-12 18:55:00 -08:00
Jason Volk
aee34ec734
ircd::allocator: Remove erroneous assertions.
2018-11-11 20:00:11 -08:00
Jason Volk
47732a0075
ircd::fpe: Add experimental exception-throwing SIGFPE w/ -fnon-call-exceptions.
2018-11-11 20:00:11 -08:00
Jason Volk
5d36bdf476
ircd: Remove redundant flag from Makefile.
2018-11-11 18:28:28 -08:00
Jason Volk
6967ad1faa
ircd::fpe: Add floating point environment suite; error scoping device.
2018-11-11 18:28:28 -08:00
Jason Volk
c0de9b2e76
ircd: Propagate the ec message here.
2018-11-11 15:52:48 -08:00
Jason Volk
bbe676a392
ircd::ctx: Split this_ctx devices into files; minor interface tweaks.
2018-11-11 14:13:37 -08:00
Jason Volk
e90f1729f0
ircd::db: Split writable_file into writable_file_direct using vtable for functionality.
2018-11-09 18:24:51 -08:00
Jason Volk
9e97ac0564
ircd: Simplify system_category / posix errno code test.
2018-11-09 00:29:31 -08:00
Jason Volk
af93d55927
ircd: Minor cleanup: simplify decl; fix comment; relax log level.
2018-11-08 23:05:12 -08:00
Jason Volk
36bb0d3175
ircd: Integrate all boost::system::system_error with stdlib.
2018-11-08 23:05:11 -08:00
Jason Volk
4c85f11a02
ircd: Add suite for equating std::system_category() with boost::system.
2018-11-08 23:05:11 -08:00
Jason Volk
cfcbbad0c0
ircd: Additional completeness overloads for make_system_error.
2018-11-08 18:07:22 -08:00
Jason Volk
86ab32e664
ircd: Minor section markings in exception.cc.
2018-11-08 17:10:56 -08:00
Jason Volk
a7e4acc519
ircd: Split and reorg ircd::hash/ircd::crh related headers and units.
2018-11-08 17:04:15 -08:00
Jason Volk
26d7e4e6de
ircd::db: Remove unused path from flush-begin log message.
2018-11-07 00:57:11 -08:00
Jason Volk
c5b8276840
ircd::resource: Improve stack to gather accurate internal error counts.
2018-11-07 00:24:18 -08:00
Jason Volk
7d47ee4d5a
ircd::resource: Return BAD_REQUEST rather than NOT_FOUND for required JSON missing.
2018-11-06 21:36:51 -08:00
Jason Volk
1f9afbd09c
ircd::resource: Improve method stats gathered.
2018-11-06 21:36:36 -08:00
Jason Volk
8b9b27d8bc
ircd::resource: Simplify the resource entry interface.
2018-11-06 21:35:30 -08:00
Jason Volk
fdff7428ce
ircd::client: Add request counting stats; console cmd related.
2018-11-06 21:34:28 -08:00
Jason Volk
7c815116a6
ircd::ctx: Fix comment typo.
2018-11-06 19:48:06 -08:00
Jason Volk
cc818f15b6
ircd::resource: Add stats for methods.
2018-11-05 20:45:30 -08:00
Jason Volk
8217b51526
ircd::resource: Reorg resource/method handler stack; devirtualize resource.
2018-11-05 20:45:30 -08:00
Jason Volk
d49b3ba7dd
ircd::resource: Minor reorg class layout / opts.
2018-11-05 19:14:53 -08:00
Jason Volk
cbbfbcac72
ircd::db: Optimize away one of the row ctor's vector heap allocations.
2018-11-05 17:12:29 -08:00
Jason Volk
e03d36aa48
ircd::allocator: Add allocator::scope device.
2018-11-05 16:45:08 -08:00
Jason Volk
2914487aad
ircd::json: Add more explicit integer ctors to value; minor reorg ctors.
2018-11-04 18:00:24 -08:00
Jason Volk
9299b0df9f
ircd: Make ircd::terminate / ircd::assertion funcjects.
2018-11-04 18:00:24 -08:00
Jason Volk
9d7032e29e
ircd: Ⓜ️ :room: Make the state iteration readahead value a conf item.
2018-11-02 20:05:11 -07:00
Jason Volk
8af997ab2e
ircd: Ⓜ️ :room: Add conf item to disable all state btree history queries.
2018-11-02 20:04:17 -07:00
Jason Volk
5236790228
ircd: Ⓜ️ Handle json::not_found on index() for more descriptive error.
2018-11-02 19:42:20 -07:00
Jason Volk
6b1fd6c559
ircd: Ⓜ️ :dbs: Remove the _event_bad column; patch event exists/good/bad stack.
2018-11-02 19:42:20 -07:00
Jason Volk
a5955fc9ae
ircd: Ⓜ️ :dbs: Options package; configuration tweak.
2018-11-02 19:15:57 -07:00
Jason Volk
25e6cd1332
ircd::db: Add compression string option to column descriptor.
2018-11-02 18:32:47 -07:00
Jason Volk
8311c1e7ff
ircd::db: Improve supported compressions listing w/ console cmd.
2018-11-02 18:02:27 -07:00
Jason Volk
ad003a0d66
ircd: Ⓜ️ :dbs: Add conf items for bloom filters.
2018-11-02 18:01:03 -07:00
Jason Volk
f2a08426c5
ircd: Ⓜ️ :dbs: Add conf item for meta block size of all direct event columns.
2018-11-02 09:01:23 -07:00
Jason Volk
49bad9f01d
ircd::db: Check for posix_fadvise(); implement InvalidateCache for environment if not direct IO.
2018-11-02 01:30:15 -07:00
Jason Volk
1d03747da3
ircd::db: Toward O_DIRECT writes from writable_file environment.
2018-11-02 01:11:36 -07:00
Jason Volk
95d42686f3
ircd::db: Add reflection for WriteLifeTimeHint.
2018-11-02 01:07:09 -07:00
Jason Volk
7b798645a4
ircd::db: Downgrade error severity to allow administrative resume.
2018-11-02 00:05:21 -07:00
Jason Volk
94bfe39ec6
ircd::fs: Save the std openmode in the fd::opts struct.
2018-11-01 23:35:52 -07:00
Jason Volk
916a5b26ea
ircd: Additional ircd::terminate() output and flushing.
2018-11-01 22:25:10 -07:00
Jason Volk
8db063bfc4
ircd::fs: Remove internal alignment paddings.
2018-11-01 22:23:04 -07:00
Jason Volk
13e6e02901
ircd::fs: Improve request priority value related; get sysconf info.
2018-11-01 20:19:55 -07:00
Jason Volk
3385d25c97
ircd::info: Improve various version information gathering.
2018-11-01 20:14:00 -07:00
Jason Volk
6b6106499f
ircd::fs: Add write_options.alignment; padding out to alignment for aio write.
2018-10-31 17:00:17 -07:00
Jason Volk
88be871149
ircd::aio: Switch to PREADV/PWRITEV iovector operations.
2018-10-31 16:29:20 -07:00
Jason Volk
5dcc7cd93b
ircd::db: Add error report state w/ interface w/ console cmd.
2018-10-31 15:53:43 -07:00
Jason Volk
0f7e17a519
ircd::db: Add resume from error interface w/ console cmd.
2018-10-31 15:03:32 -07:00
Jason Volk
5da7f20a9a
ircd::db: Add and use reflection for Status::Severity.
2018-10-31 14:48:14 -07:00
Jason Volk
ac01ae0936
ircd::db: Move reflections for WriteStall- and BackgroundError- related.
2018-10-31 14:40:00 -07:00
Jason Volk
ee670af436
ircd::db: Fix WriteStallInfo reflection and log message.
2018-10-31 14:22:31 -07:00
Jason Volk
34e330d77b
ircd::db: Simplify buffer alignment callback related; fix log message.
2018-10-31 14:09:10 -07:00
Jason Volk
f46886e0b8
ircd::db: Support future CanKeysWithDifferentByteContentsBeEqual feature.
2018-10-31 11:25:07 -07:00
Jason Volk
941b4ff8eb
ircd::db: Support passthru stub for comparator feature.
2018-10-31 11:23:55 -07:00
Jason Volk
895c52694e
ircd::db: Deinline database::comparator ctor.
2018-10-31 11:23:30 -07:00
Jason Volk
fec935463b
Merge branch 'libressl' of https://github.com/DanySpin97/charybdis
2018-10-30 13:58:18 -07:00
Jason Volk
22d06a4670
Merge branch 'libressl-2' of https://github.com/DanySpin97/charybdis
2018-10-30 13:38:14 -07:00
Jason Volk
a91cdeec0c
ircd::ctx: Reorg / abstract / deinline promise related.
2018-10-30 12:18:16 -07:00
Danilo Spinella
4e1be6d1fd
Drop const modifier for libressl
2018-10-29 15:37:51 +00:00
Danilo Spinella
0258ea7999
Add ASN1_TIME_seconds method for LibreSSL
...
Credits to https://github.com/Castaglia .
a3d65e8683
2018-10-29 15:28:18 +00:00
Jason Volk
0ea1ba2968
ircd: Ⓜ️ :room::power: Simplify level_event / level_state interface related.
2018-10-27 14:27:53 -07:00
Jason Volk
01ec851b4d
ircd: Ⓜ️ :dbs: Improve some column description strings.
2018-10-27 13:44:40 -07:00
Jason Volk
3447a1cc45
ircd: Ⓜ️ :room::power: Support power for state events in the interface.
2018-10-25 18:19:54 -07:00
Jason Volk
39eb015565
ircd: Ⓜ️ :room: Add join_rule query convenience suite.
2018-10-25 18:19:53 -07:00
Jason Volk
61016b479b
ircd: Ⓜ️ :room::power: Support defaulting level for the room creator.
2018-10-25 18:09:31 -07:00
Jason Volk
8733e16ca4
ircd: Ⓜ️ Add convenience suite to get or check the room creator's user id.
2018-10-25 18:09:31 -07:00
Jason Volk
e209d1661b
ircd: Ⓜ️ :room::state: Improve the present() state query.
2018-10-25 18:09:31 -07:00
Jason Volk
7d489a40e7
ircd: Ⓜ️ 🪝 Adjust hook matching to condition event.membership and event.content.membership.
2018-10-25 18:09:31 -07:00
Jason Volk
13f38782f5
ircd::util: Deinline various utils; minor cleanup.
2018-10-25 13:39:41 -07:00
Jason Volk
d19edbda98
ircd::mods: Improve MAPI header layout; various cleanup.
2018-10-25 13:03:07 -07:00
Jason Volk
30d938530a
ircd::client: Tweak log message format.
2018-10-24 19:06:35 -07:00
Jason Volk
d65c22fd9f
ircd: Use resource log facility for HTTP status related; add path to log msg.
2018-10-24 18:24:51 -07:00
Jason Volk
133cb4825c
ircd: Ⓜ️ :rooms: Add central linkage to send a summary to !public.
2018-10-24 18:08:46 -07:00
Jason Volk
72bfd645da
ircd: Ⓜ️ :rooms: Retype and rekey the state in !public organized by server.
2018-10-24 17:31:22 -07:00
Jason Volk
3a36bbfca5
ircd::server: Fix dangling-type exception_ptr in peer::err by clearing peers here.
...
This will destruct the exception first before the module which introduced the
exception's type unloads. On daemon shutdown, the module will unload and if
an instance of the exception is still held by peer::err bad things happen.
2018-10-24 17:31:22 -07:00
Jason Volk
e85917abb1
ircd: Ⓜ️ :rooms: Add public rooms count for total_room_count_estimate; cleanup.
2018-10-24 17:31:21 -07:00
Jason Volk
f7c7850465
ircd: Ⓜ️ :rooms: Add and use interface for publicrooms iteration.
2018-10-24 17:31:21 -07:00
Jason Volk
0291a0d83e
ircd: Ⓜ️ :rooms: Move iteration base to module; fix interface return types.
2018-10-24 17:31:21 -07:00
Jason Volk
62177dca20
modules: Start an m_rooms unit; move publicrooms summary chunk generation.
2018-10-24 17:31:21 -07:00
Jason Volk
6f2c9631a1
ircd::resource: Add snomask'ed log facility.
2018-10-24 12:44:13 -07:00
Jason Volk
dacbbbb051
ircd::client: Add snomask'ed log facility.
2018-10-24 12:44:00 -07:00
Jason Volk
59adeb839c
ircd::mods: Minor reorg: move internal section to top; cleanup terminate handler.
2018-10-24 12:16:08 -07:00
Jason Volk
b5b52d5ee3
ircd: Ⓜ️ :room: Reduce state iteration stack codepaths.
2018-10-23 18:11:56 -07:00
Jason Volk
da322fc048
ircd: Ⓜ️ Conditional reuse of state key format stack paths.
2018-10-23 18:04:21 -07:00
Jason Volk
0f1d5bac76
ircd: Ⓜ️ :room::members: Fix closure return value in iteration.
2018-10-23 14:45:22 -07:00
Jason Volk
c9426a3616
ircd: Ⓜ️ :room: Conditional reuse of keys for_each path.
2018-10-23 14:45:16 -07:00
Jason Volk
16ac997220
ircd: Ⓜ️ :users: Add lower_bounding for_each; prefix search to users console cmd.
2018-10-23 14:17:42 -07:00
Jason Volk
ba70c1b128
ircd: Ⓜ️ :room: Add lower_bound state_key only iteration to interface.
2018-10-23 14:16:36 -07:00
Jason Volk
537b7e26aa
ircd: Ⓜ️ :state: Add unmake_key() inverse convenience to make_key().
2018-10-23 13:48:23 -07:00
Jason Volk
33aea3fd19
ircd: Ⓜ️ Start a users coarse convenience interface.
2018-10-23 13:32:00 -07:00
Jason Volk
002dea97ec
modules/client/user: Move user create to m_user.
2018-10-23 13:22:08 -07:00
Jason Volk
bfa76efbc1
ircd::mods: Reorg primary interface / addl utils.
2018-10-23 11:15:21 -07:00
Jason Volk
15b300657f
ircd::mods: Add unloading state; add public interface for loading()/unloading() query.
2018-10-23 11:03:57 -07:00
Jason Volk
5fa42b5afd
ircd::mods: Use forward_list for mod::loading state.
2018-10-23 10:54:56 -07:00
Jason Volk
e6dd4beaaa
ircd::ctx: Harder default interruption on context dtor.
2018-10-23 10:16:15 -07:00
Jason Volk
242516c853
ircd: Ⓜ️ Add central interface for room state prefetch; add console cmd; apply to client sync.
2018-10-23 10:01:36 -07:00
Jason Volk
c83d17396b
modules: Rename vm_fetch to s_fetch.
2018-10-23 09:13:48 -07:00
Jason Volk
94fe5090f5
ircd::db: Strict block size deviation; relax read amplification bitmap
2018-10-22 13:53:02 -07:00
Jason Volk
8be65012ec
ircd::db: Refactor column indexing and state to handle dropped columns.
2018-10-22 07:09:55 -07:00
Jason Volk
183be76a3a
ircd::db: Use reference to descriptor in database::column object.
2018-10-22 07:09:16 -07:00
Jason Volk
5544da61b8
ircd::db: Move column alignment check outside of DB::Open ctor closure.
2018-10-22 04:34:05 -07:00
Jason Volk
d3e61abe7d
ircd::db: Implement interface for column dropping.
2018-10-22 04:34:05 -07:00
Jason Volk
87feb65615
ircd::db: Integrate more detailed rocksdb::TableProperties into db::sst::info.
2018-10-21 09:26:02 -07:00
Jason Volk
b1bbbfe50b
ircd::db: Convert sst::info ctors to assignment operators.
2018-10-21 09:15:30 -07:00
Jason Volk
100325b5a8
ircd::server: deinline peer::err ctor.
2018-10-21 05:35:02 -07:00
Jason Volk
7b4b6c479c
ircd::db: Use dead branch rather than comment for has() regression for now.
2018-10-21 04:41:21 -07:00
Jason Volk
3ffb91d0fd
ircd::ctx: Deinline to_asio continuation ctor.
2018-10-21 01:09:07 -07:00
Jason Volk
045a944911
ircd: Move a2u / pretty() suites from lex_cast to util::; start util.cc unit.
2018-10-21 01:00:41 -07:00
Jason Volk
337810d7e0
ircd: Ⓜ️ :dbs: Add meta block size confs for select direct columns; tweak block sizes.
2018-10-21 00:20:02 -07:00
Jason Volk
5a82a2e4e5
ircd::db: Move stats ticker hostpoint from database::cache to database::column.
2018-10-20 23:30:27 -07:00
Jason Volk
f9fca347d8
ircd::db: Reverse the compaction priority strategy.
2018-10-18 17:32:18 -07:00