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
Jason Volk
c31b29307b
ircd: Ⓜ️ :state: Fix fallback path for empty type in count().
2018-10-18 17:32:18 -07:00
Jason Volk
a63cfa86a2
ircd: Ⓜ️ :room::state: Simplify count() stack.
2018-10-18 17:32:18 -07:00
Jason Volk
6713aa54eb
ircd: Ⓜ️ :room::state: Fix empty type argument fallback path.
2018-10-18 17:32:18 -07:00
Jason Volk
0787246e23
ircd::log: Make buffer tls.
2018-10-18 17:32:18 -07:00
Jason Volk
0d6b49a0b6
ircd: Add pretty() human readable time utils.
2018-10-18 17:31:43 -07:00
Jason Volk
e540ad1412
ircd::fs: Better results for read buffer alignments.
2018-10-18 09:44:34 -07:00
Jason Volk
4c95b39ce5
configure: Add missing sys/stat.h sys/statvfs.h header checks.
2018-10-18 09:28:01 -07:00
Jason Volk
9da3d20e5c
ircd::db: Precache required buffer alignment of random access file for repeat calls.
2018-10-18 08:27:03 -07:00
Jason Volk
c0058aa53c
ircd::db: Fix debug variable name error.
2018-10-18 08:00:57 -07:00
Jason Volk
bd6f46f488
ircd::db: Column options package; meta column block sizes tweak.
2018-10-17 22:12:41 -07:00
Jason Volk
8ce716b384
ircd: Ⓜ️ :dbs: Tweak metablock default sizes.
2018-10-17 10:07:58 -07:00
Jason Volk
02f64c7f34
ircd: Add ios unit to provide a more central control point for asio.
2018-10-17 05:12:10 -07:00
Jason Volk
9833b50551
ircd: Ⓜ️ :dbs: Add metadata block size conf items for various meta columns.
2018-10-16 15:53:47 -07:00
Jason Volk
468c7e6f07
ircd::db: Add metadata block size parameter to the descriptor.
2018-10-16 13:39:43 -07:00
Jason Volk
fbad6072df
ircd: Ⓜ️ :dbs: Relax the bloom filter bitcounts; add some bloom on _state_node.
2018-10-16 09:13:53 -07:00
Jason Volk
df4ad6daca
ircd::db: Column table options package post rocksdb v5.15 upgrade.
2018-10-16 09:13:53 -07:00
Jason Volk
167eb18470
ircd::db: Disable use of rocksdb KeyMayExist in db::has() due to regression.
2018-10-16 09:13:53 -07:00
Jason Volk
0ad41ea0ff
ircd::db: Assert no context switch on iterator creation calls.
2018-10-16 09:13:53 -07:00
Jason Volk
bed1d49b6e
ircd::db: Condition filter check on if used for column (rocksdb regression workaround).
2018-10-16 09:13:53 -07:00
Jason Volk
a24270d2bb
deps: RocksDB to v5.15.10.
2018-10-15 22:31:29 -07:00
Jason Volk
ca11351692
ircd: Add assertion() overload taking message string.
2018-10-15 22:31:28 -07:00
Jason Volk
37b55e4b11
ircd::db: Options package for table metadata.
2018-10-14 08:53:46 -07:00
Jason Volk
d4d121f6c3
ircd::http: Minor definition section labels.
2018-10-14 02:40:22 -07:00
Jason Volk
9aa6e2b768
ircd: Ⓜ️ Rename most vm.notify hooks to vm.effect; Refactor vm::accept related.
2018-10-09 20:56:12 -07:00
Jason Volk
f68926e526
ircd: Ⓜ️ 🪝 Minor fixes for hook unmapper.
2018-10-09 20:48:07 -07:00
Jason Volk
0e5f8141c3
ircd::net: Add more tls cert verification exceptions w/ conf.
2018-10-04 15:16:15 -07:00
Jason Volk
0df3eafea2
modules/s_dns: Simplify/breakdown callback stack related.
2018-10-03 14:33:53 -07:00
Jason Volk
58c7a4885b
ircd::server: Remove redundant strings; minor cleanup.
2018-10-02 22:37:07 -07:00
Jason Volk
67a759ac21
ircd::rfc3986: Add validation suite for hostname strings related.
2018-10-02 18:11:50 -07:00
Jason Volk
1cf0b629cb
ircd::spirit: Add a template for the common expectation failure rethrow integration.
2018-10-02 18:11:50 -07:00
Jason Volk
a893c1e0a7
ircd::rfc3986: Rename some rules in the grammar.
2018-10-02 18:11:50 -07:00
Jason Volk
b9aa697206
ircd::resource: Make Access-Control-Allow-Origin response header a conf item.
2018-10-02 15:58:03 -07:00
Jason Volk
450ec3523e
modules/s_dns: Consolidate DNS related into units of a single module.
2018-10-01 13:56:00 -07:00
Jason Volk
0e6221b8dc
ircd::net::dns: Move closure chains out to modules/s_dns; minor reorg.
2018-10-01 12:47:49 -07:00
Jason Volk
5b7cf5a8eb
ircd::net::dns: Reorg namespace structure related.
2018-10-01 12:03:31 -07:00
Jason Volk
cbf96969db
ircd::http: Support 524 "A Timeout Occurred"
2018-10-01 11:30:34 -07:00
Jason Volk
05cc6ddf83
ircd::net: Move resolver service out to modules/s_resolver.
2018-09-30 20:18:32 -07:00
Jason Volk
b43b094f2c
ircd::rfc1035: Add reverse qtype mapping.
2018-09-30 20:18:32 -07:00
Jason Volk
5a627efaad
ircd::net::dns: Move cache related out to modules/s_dns.
2018-09-30 20:18:32 -07:00
Jason Volk
da8beda0c3
ircd: Ⓜ️ 🆔 Support intuitive constructions of m::node::id.
2018-09-30 17:58:16 -07:00
Jason Volk
4f3f729d9b
ircd: Ⓜ️ 🆔 Minor cleanup.
2018-09-30 17:37:24 -07:00
Jason Volk
0813adca32
ircd::client: Use socket ID rather than address for loghead.
2018-09-29 19:56:40 -07:00
Jason Volk
ccaaf22cac
ircd::net::dns: Use conf item for resolver servers.
2018-09-29 19:56:22 -07:00
Jason Volk
33a8430661
ircd::net: Reduce string allocations from various log compositions.
2018-09-29 17:40:45 -07:00
Jason Volk
d1c28abf7e
ircd::net: Minor cleanup various log calls.
2018-09-29 17:28:11 -07:00
Jason Volk
cb6f0032a4
ircd::net: Expose interface to get socket counter as an ID.
2018-09-29 17:15:45 -07:00
Jason Volk
8d7bf8dc88
ircd::client: Simplify/dedup error handling switch.
2018-09-29 17:09:07 -07:00
Jason Volk
0c25852109
ircd::client: Simplify instance_multimap related; keep state for local/remote addrs in client.
2018-09-29 16:52:54 -07:00
Jason Volk
5f37100236
ircd::net: Add some specific comparators for ipport.
2018-09-29 16:46:02 -07:00
Jason Volk
b4e4f0165f
ircd::net: Deinline some ipport ctors.
2018-09-29 16:39:14 -07:00
Jason Volk
cedfff720a
ircd: Ⓜ️ Fix return value for index(event_id).
2018-09-27 17:10:54 -07:00
Jason Volk
4b142de177
ircd: Ⓜ️ Fix prototype for pretty prev.
2018-09-27 17:10:22 -07:00
Jason Volk
771ecaef7e
ircd::client: Simplify log calls with single loghead() string.
2018-09-27 17:05:19 -07:00
Jason Volk
b93b4e31f6
ircd::client: Move dock into client namespace.
2018-09-27 16:36:50 -07:00
Jason Volk
f023d05e66
ircd::allocator: Pretty IEC units for memory info.
2018-09-27 01:53:03 -07:00
Jason Volk
2c054ec9ca
ircd::db: Comment with TODO about cache bloom filtering here.
2018-09-26 19:02:09 -07:00
Jason Volk
e542ef76fb
ircd::db: Add per-cache statistics.
2018-09-26 18:00:18 -07:00
Jason Volk
d9dc597c1c
ircd::db: Set a default high priority cache reserve percentage.
2018-09-26 02:44:20 -07:00
Jason Volk
3421667a45
ircd::db: Interface to get cache pinned usage.
2018-09-26 02:34:47 -07:00
Jason Volk
da46a2ac48
ircd::db: Do our own default sharding calc based on request context contention.
2018-09-26 02:03:31 -07:00
Jason Volk
65f52b0610
ircd::db: Remove the row pos seek.
2018-09-25 23:30:54 -07:00
Jason Volk
533d129322
ircd::db: Enable histogram interface; partial data tally.
2018-09-25 22:18:37 -07:00
Jason Volk
e5a96aab93
ircd::db: Deinline stats ctor; zero-init histogram; implement Reset().
2018-09-25 21:20:02 -07:00
Jason Volk
a806ce2762
ircd: Ⓜ️ :dbs: Update cache size defaults.
2018-09-25 21:14:11 -07:00
Jason Volk
5bd367df35
ircd::client: Recondition to avoid unnecessary log spam here.
2018-09-25 17:31:56 -07:00
Jason Volk
4c0f06aaa3
ircd: Ⓜ️ :feds: Fix missing linkage definition for feds::state.
2018-09-25 17:14:48 -07:00
Jason Volk
c90b530656
ircd: Ⓜ️ :feds: Add central interface linkage for feds head.
2018-09-25 17:14:48 -07:00
Jason Volk
295a08fc07
ircd::db: Checkpoint these level hard-values for now.
2018-09-25 16:38:19 -07:00
Jason Volk
cf783d2729
ircd: Ⓜ️ :room: Refactor out additional test protocol iterations; minor reorg.
2018-09-25 16:37:07 -07:00
Jason Volk
f54e05b7f0
ircd: Ⓜ️ :room: Passthru as wildcard for empty type string.
2018-09-25 16:09:46 -07:00
Jason Volk
64ccbea79d
ircd: Ⓜ️ :room: Refactor out remaining "test protocol" iterations from state interface.
2018-09-25 16:02:19 -07:00
Jason Volk
32496af5da
ircd::db: Ensure default init on int prop retval.
2018-09-25 15:07:56 -07:00
Jason Volk
8b27f7089d
ircd::db: Supply an insertion hint prefix extractor.
2018-09-25 02:37:29 -07:00
Jason Volk
15b907167d
ircd::client: Refuse to enqueue client request in unfavorable runlevel; tweaks shutdown.
2018-09-25 00:33:40 -07:00
Jason Volk
580a041ab5
ircd: Improve human readable unit tool suite.
2018-09-24 23:56:29 -07:00
Jason Volk
4e3efb73d3
ircd::db: Use cfmd rather than live-files way to get column family metadata.
2018-09-24 23:10:27 -07:00
Jason Volk
ca8082d01b
ircd::net: Relax this assertion with a log warning.
2018-09-24 23:10:27 -07:00
Jason Volk
2f3c461664
ircd::db: Place linkage for db comparators so they have one address.
2018-09-24 22:00:21 -07:00
Jason Volk
66e5a19751
ircd::db: Move the port define; explain.
2018-09-24 21:34:08 -07:00
Jason Volk
1959c8556c
ircd::db: Disable interruption in these frames fwiw.
2018-09-22 16:01:10 -07:00
Jason Volk
e745697448
ircd::db: Checkpoint some options related.
2018-09-22 16:01:10 -07:00
Jason Volk
3de9464058
ircd::db: Tweak/automake ingestion options related.
2018-09-22 15:04:39 -07:00
Jason Volk
e0bed2dc3e
ircd::db: Add sst dump writer; move sst tool.
2018-09-22 15:04:38 -07:00
Jason Volk
99ff78f5c7
ircd::db: Create an sst utility space; move fileinfo into sst.
2018-09-22 13:28:44 -07:00
Jason Volk
f7da7d9be8
ircd::db: Support SST dump tooling.
2018-09-21 17:33:34 -07:00
Jason Volk
7834c86360
ircd::db: Add support for direct SST file ingestion.
2018-09-21 15:08:57 -07:00
Jason Volk
452f9a9abb
ircd: Ⓜ️ Reorg init/fini sequence.
2018-09-21 15:07:28 -07:00
Jason Volk
ae36485d13
ircd::db: Add back the target level to range compact.
2018-09-20 23:30:51 -07:00
Jason Volk
795d62b1c7
ircd::db: Don't override uuid gen.
2018-09-20 23:30:51 -07:00
Jason Volk
9c64ae50e4
ircd: Ⓜ️ Reuse index query path.
2018-09-20 23:30:51 -07:00
Jason Volk
aea6659154
ircd: Ⓜ️ Reuse query path.
2018-09-20 23:30:51 -07:00
Jason Volk
9cced19111
ircd::client: Close sockets before terminating contexts on shutdown.
2018-09-20 23:30:50 -07:00
Jason Volk
4214977b78
ircd: Rename; use precision for pretty_iec().
2018-09-20 23:30:50 -07:00
Jason Volk
34e969d01e
ircd::fmt: Support long double; Add precision to double format specifier.
2018-09-20 23:30:50 -07:00
Jason Volk
5e158e37a5
ircd: Add pretty IEC unit printing utils.
2018-09-20 23:30:50 -07:00
Jason Volk
db9d1dcb99
ircd: Minor cleanup.
2018-09-20 23:30:50 -07:00
Jason Volk
7676bd0944
ircd::db: Add a fileinfo wrapping interface.
2018-09-20 15:57:15 -07:00
Jason Volk
f80aaa7904
ircd::db: Add util to get file list for specific column.
2018-09-20 15:56:46 -07:00
Jason Volk
c1a2e44ce0
ircd::db: Mask interruption; noexcept in filter overrides.
2018-09-19 17:16:08 -07:00
Jason Volk
7427ec991c
ircd::db: Add closure on manual compaction arguments.
2018-09-19 17:16:08 -07:00
Jason Volk
9afac08e40
ircd::db: Simplify compaction callback argument requirements w/ struct.
2018-09-19 17:16:07 -07:00
Jason Volk
53651ad808
ircd::db: Move database::descriptor out to db::descriptor.
2018-09-19 15:38:37 -07:00
Jason Volk
3abfb6b949
ircd::db: Some auto-compaction hard values for now.
2018-09-19 00:12:55 -07:00
Jason Volk
c53e02428d
ircd: Reuse path for error code string.
2018-09-19 00:02:47 -07:00
Jason Volk
2e245dacd1
ircd::server: Minor move handler binding.
2018-09-18 23:47:52 -07:00
Jason Volk
0e7a55d3b3
ircd::ctx::pool: Use queue push() instead of emplace().
2018-09-18 21:56:36 -07:00
Jason Volk
5a32754937
ircd::server: Catch anything at these handlers.
2018-09-18 21:48:40 -07:00
Jason Volk
3b960d2576
ircd: Add misc assertions.
2018-09-18 21:24:19 -07:00
Jason Volk
b979426f7a
ircd::db: Update event-listener related.
2018-09-18 18:37:46 -07:00
Jason Volk
5698637dd6
ircd::ctx::pool: Use ctx::queue for pool's queue.
2018-09-18 16:45:04 -07:00
Jason Volk
dadf237bb5
ircd::server: Minor cleanup; modernize some log calls.
2018-09-18 15:10:10 -07:00
Jason Volk
fc09ba81af
ircd::db: Add compaction callback interface.
2018-09-18 15:07:09 -07:00
Jason Volk
4660619f4a
modules/media/media: Disable bloom; ircd: Ⓜ️ :dbs: Disable state_node bloom.
2018-09-17 23:51:55 -07:00
Jason Volk
75ea43885b
ircd: Ⓜ️ :dbs: Add conf items for column block sizes.
2018-09-17 23:42:25 -07:00
Jason Volk
8d435305d0
ircd::net: Wait for pending resolver tags to complete on shutdown.
2018-09-17 21:31:23 -07:00
Jason Volk
176e70d2c7
ircd::db: Add table block_size setting to column descriptor.
2018-09-17 21:26:55 -07:00
Jason Volk
a4f8cf83f6
ircd::server: Handle unfavorable runlevel in resolver callback.
2018-09-17 21:06:38 -07:00
Jason Volk
0ed617c889
ircd: Ⓜ️ 🪝 Add option for propagating exceptions.
2018-09-17 20:45:05 -07:00
Jason Volk
439e8618d6
ircd: Simplify/cleanup the coarse controls for client/server subsystems.
2018-09-17 16:47:36 -07:00
Jason Volk
3188b03943
ircd: Ⓜ️ :typing: Add an iteration of typist state w/ console cmd.
2018-09-16 20:55:12 -07:00
Jason Volk
46cb5aee41
modules/m_typing: Move non-handler related from client/rooms/typing.
2018-09-16 20:55:12 -07:00
Jason Volk
be8b9fece0
ircd::client: Query for remote which throws if d/c'ed here.
2018-09-15 06:50:06 -07:00
Jason Volk
d0bfe4fd8f
ircd::conf: Use lex_cast for item<bool> setter.
2018-09-15 06:41:34 -07:00
Jason Volk
9bc4f4ef58
ircd::conf: Support environmental variables overriding conf item values.
2018-09-15 06:41:34 -07:00
Jason Volk
ba401ee815
ircd: Ⓜ️ :dbs: Add conf items for all caches enable/disable.
2018-09-15 06:41:34 -07:00
Jason Volk
71d772a80c
ircd::conf: Enforce a max length on name strings.
2018-09-15 02:20:48 -07:00
Jason Volk
1711df33a9
ircd::conf: Use util::callbacks here.
2018-09-15 00:38:45 -07:00
Jason Volk
fe26b5e0c0
modules: thread_local mods::import cannot be used or the module gets stuck.
2018-09-14 07:44:44 -07:00
Jason Volk
d6d1deccc6
ircd::resource: Tweak resource path search and fallback to webroot.
2018-09-13 23:34:40 -07:00
Jason Volk
8900c7d95e
Add datadir (share) configure, Makefile and ircd::fs related.
2018-09-13 22:02:52 -07:00
Jason Volk
71edf65c7c
ircd: Ⓜ️ :vm: Remove the depends aborted depends map fetus.
2018-09-13 19:49:25 -07:00
Jason Volk
d97a5ac571
ircd: Ⓜ️ :vm: Remove the vm::phase; create fetch_hook.
2018-09-13 18:30:40 -07:00
Jason Volk
11948e47ac
ircd: Move m::import to mods::import where it is more appropriate.
2018-09-13 18:19:27 -07:00
Jason Volk
08d9f2c606
ircd: Ⓜ️ Remove the room::state::tuple contraption.
2018-09-13 07:53:51 -07:00
Jason Volk
81d7ba8c39
ircd: Various string_view conversion fixes.
2018-09-13 06:47:52 -07:00
Jason Volk
7d94b1c17b
ircd: Relax noexcept in std::function template declarations.
2018-09-13 05:12:25 -07:00
Jason Volk
09529ae311
ircd: Fix std::ios::openmode name.
2018-09-13 05:12:01 -07:00
Jason Volk
5e06c4795b
ircd: Replace any std::uncaught_exception() -> std::uncaught_exceptions().
2018-09-13 05:02:24 -07:00
Jason Volk
65f87b58bc
ircd: Ⓜ️ Use better constexpr for room_id() stack buffer size.
2018-09-13 05:02:24 -07:00
Jason Volk
d3766ee0e5
ircd: Ⓜ️ Add room federate query w/ console indicator.
2018-09-12 23:31:32 -07:00
Jason Volk
2ae2bb0eef
ircd: Ⓜ️ Add room version query w/ console cmd.
2018-09-12 23:26:15 -07:00
Jason Volk
5c879bd380
ircd: Ⓜ️ 🧾 Start central interface to get receipt information.
2018-09-12 22:32:00 -07:00
Jason Volk
f4831c863a
modules/m_room: Add interface to count events in a room between two arguments.
2018-09-12 22:32:00 -07:00
Jason Volk
632278e607
ircd: Ⓜ️ :room: Finesse a messages::seek_idx() into the seek stack.
2018-09-07 06:19:21 -07:00
Jason Volk
f7bb1f9360
ircd::info: Fix some informational timestamps.
2018-09-05 23:32:52 -07:00
Jason Volk
5ac5a26f83
ircd::json: Conditions for which string grammar to invoke.
2018-09-05 23:23:26 -07:00
Jason Volk
8593d09c80
ircd::json: Enforce string type for member key on constructions.
2018-09-05 23:23:26 -07:00
Jason Volk
6858ea2bb1
ircd: Ⓜ️ :vm: Add commitopts (copts) to vm::accepted structure.
2018-09-05 19:43:09 -07:00
Jason Volk
cffe958d2b
ircd::json: Add splice operations over json::strung.
2018-09-05 19:37:59 -07:00
Jason Volk
d3493e5901
ircd::json: Split strung into file.
2018-09-05 18:45:25 -07:00
Jason Volk
66edb4a7fb
ircd::db: Add custom cache stats ticker.
2018-09-05 03:13:05 -07:00
Jason Volk
4067809a9a
ircd: Ⓜ️ :state: Add addl rep util; checkpoint remove stub.
2018-09-05 01:36:44 -07:00
Jason Volk
ace2a990b5
ircd::json: Change condition order.
2018-09-05 00:55:55 -07:00
Jason Volk
6dc3f4044a
modules: Checkpoint vm_fetch fwiw (disabled from active eval codepaths).
2018-09-04 23:27:01 -07:00
Jason Volk
e48750e6aa
ircd: Ⓜ️ Just disable MISSING_PREV_STATE check here.
2018-09-04 23:24:05 -07:00
Jason Volk
2140f42cd7
ircd::resource: Internalize the buffering boilerplate used with json::stack.
2018-09-04 22:03:12 -07:00
Jason Volk
bc88a4cf6d
ircd::server: Assertion on tag removal.
2018-09-04 20:27:30 -07:00
Jason Volk
a806b2d60b
modules/m_event: Add modules; move pretty() suite out of ircd: Ⓜ️ :.
2018-09-04 20:27:30 -07:00
Jason Volk
aeb41e7341
ircd: Ⓜ️ Add pretty_msgline() suite.
2018-09-04 06:35:10 -07:00
Jason Volk
7f43da8a07
ircd::db: Test if directory for db::available() listing.
2018-09-04 02:32:12 -07:00
Jason Volk
f7fbd0f5d2
ircd::db: Detect O_DIRECT possible for database directory on init.
2018-09-04 02:32:12 -07:00
Jason Volk
3426fc650f
ircd::fs: Test if O_DIRECT possible on path target.
2018-09-04 01:43:21 -07:00
Jason Volk
4f55dac071
ircd::db: Minor cleanup.
2018-09-03 21:43:31 -07:00
Jason Volk
60a0694853
construct: Add program option to disable direct IO.
2018-09-03 07:59:05 -07:00
Jason Volk
80d0db9f26
ircd::db: Remove unnecessary default to O_DIRECT.
2018-09-03 07:48:23 -07:00
Jason Volk
be84bf83de
ircd::conf: Add item init callback.
2018-09-03 04:41:14 -07:00
Jason Volk
ff7fbdf99e
ircd::rfc1035: Relax SRV rdata assertion.
2018-09-03 03:36:23 -07:00
Jason Volk
b0e9107870
ircd::db: Cache size cannot be strict here.
2018-09-03 03:24:37 -07:00
Jason Volk
c980ce464f
configure: Rework the SSL support sections.
2018-09-03 03:05:09 -07:00
Jason Volk
a0f8fef153
ircd: Ⓜ️ :request: Runtime exception for request which is too large.
2018-09-03 00:37:11 -07:00
Jason Volk
08a35bdc6a
ircd::conf: Add reset() suite to rexecute item callbacks.
2018-09-02 21:16:49 -07:00
Jason Volk
6f940ab51e
ircd::db: Improve debug msg on column init.
2018-09-02 21:16:49 -07:00
Jason Volk
795beb2ad2
ircd: Ⓜ️ :dbs: Checkpoint these column descriptions in order already used.
2018-09-02 21:16:49 -07:00
Jason Volk
7145af512d
ircd: Ⓜ️ :dbs: Update some bloom filter default values.
2018-09-02 21:16:49 -07:00
Jason Volk
6440ea3f11
ircd: Ⓜ️ :dbs: Add conf items for events db column caches.
2018-09-02 21:16:49 -07:00
Jason Volk
a5d014d10a
ircd::db: Use our cache wrapping for block and compressed column caches.
2018-09-02 17:53:24 -07:00
Jason Volk
084d434c59
ircd::db: Add internal cache wrapper interface; add comment.
2018-09-02 17:53:24 -07:00
Jason Volk
107e4b59af
ircd::fs: Use the gnu_dev_*() suite rather than sys/types macros.
2018-09-01 23:51:54 -07:00
Jason Volk
26ed7c2770
ircd::client: Move client make_shared into ircd/client.cc due to SO issues.
2018-09-01 22:35:01 -07:00
Jason Volk
bbc26ebb75
ircd::net: Minor cleanup.
2018-09-01 22:21:42 -07:00
Jason Volk
168b82a972
ircd::client: Improve the acceptance pattern; condition on conf limits.
2018-09-01 22:21:42 -07:00
Jason Volk
384f5917d0
ircd::net::listener: Add callback to proffer the connection before handshake.
2018-09-01 22:12:49 -07:00
Jason Volk
e3262a7b31
ircd::client: Function to count clients connected from remote addr.
2018-09-01 21:19:15 -07:00
Jason Volk
1cedbd7b06
ircd::client: Convert client instance_list to instance_multimap.
2018-09-01 21:05:45 -07:00
Jason Volk
b63c103bb7
ircd: Disable CBOR for now.
2018-09-01 16:57:56 -07:00
Jason Volk
f7813f61a5
ircd::client: Rename the client request pool.
2018-09-01 15:08:48 -07:00
Jason Volk
91dff38a57
ircd: Ⓜ️ Add prefetch() to event::fetch interface.
2018-09-01 07:15:03 -07:00
Jason Volk
62426ab210
ircd::db: Add column prefetch.
2018-09-01 07:15:03 -07:00
Jason Volk
ca1ee19a47
ircd::db: Minor simplify.
2018-09-01 07:15:03 -07:00
Jason Volk
ff7d2514a0
ircd::db: Remove the cache prefetch/fetch interface.
2018-09-01 07:15:03 -07:00
Jason Volk
13c9e5bf6f
ircd::client: Add interface to respawn contexts after a terminate w/ console cmd.
2018-09-01 07:15:02 -07:00
Jason Volk
4a1e498059
ircd::openssl: Increase default generated certificate duration value.
2018-08-31 21:53:35 -07:00
Jason Volk
3ee9186173
ircd: Ⓜ️ Improve safe init exception propagation.
2018-08-30 21:55:20 -07:00
Jason Volk
140c4a5143
ircd: Ⓜ️ Only set ircd offline presence on clean ~init.
2018-08-30 21:55:20 -07:00
Jason Volk
32a67c82c9
ircd::mods: Minor cleanup.
2018-08-30 21:55:19 -07:00
Jason Volk
60b3cd828e
ircd::net: Add listener::name() interface method.
2018-08-30 19:15:28 -07:00
Jason Volk
e5f94ed704
ircd::http: Simplify interface; DRY.
2018-08-30 19:00:07 -07:00
Jason Volk
83edde639f
ircd::http: Improve query::string::at() error message to show key name.
2018-08-30 10:58:32 -07:00
Jason Volk
ac3b45604a
ircd::db: Move comment.
2018-08-30 07:21:44 -07:00
Jason Volk
a4bb471cf7
ircd::openssl/ircd::net: Add presupplied rfc3526 DH parameters.
2018-08-29 16:16:55 -07:00
Jason Volk
fcb5965e45
ircd::net: Save listener opts and add accessor.
2018-08-29 15:52:37 -07:00
Jason Volk
b1aa733d95
ircd::db: Additional critical exclusion and interruption zones.
2018-08-28 21:53:17 -07:00
Jason Volk
e8e2ca4850
ircd::fs: Reorg some #include statements.
2018-08-28 20:15:40 -07:00
Jason Volk
5c6874c790
ircd::db: Get better required alignments for direct IO.
2018-08-28 20:15:40 -07:00
Jason Volk
5dd9b7a3cf
ircd::fs: Support for finding the O_DIRECT alignments from system.
2018-08-28 20:15:40 -07:00
Jason Volk
76e48b3ef3
ircd::ctx: Test for valid then() before calling from here.
2018-08-28 18:58:09 -07:00
Jason Volk
d70ef25711
ircd::db: Simplify port entry checks.
2018-08-28 15:57:49 -07:00
Jason Volk
3833aa70cb
ircd::db: Additional trivial vtable placements.
2018-08-28 15:44:03 -07:00
Jason Volk
a4e4424ede
ircd: Improve main control flow for termination condition during init.
2018-08-28 15:04:23 -07:00
Jason Volk
89fbab2d7a
ircd::openssl: Add yield points to genprime routine.
2018-08-28 13:15:26 -07:00
Jason Volk
0787b5ff71
ircd::openssl: Add dhparam generator suite.
2018-08-28 13:01:10 -07:00
Jason Volk
0dcaedabff
ircd::openssl: Move genrsa_cb to genprime_cb for abstractive reuse.
2018-08-28 12:53:34 -07:00
Jason Volk
8340f005da
ircd::db: Use terminate() on the request pool on ~init(); log messages.
2018-08-28 12:06:56 -07:00
Jason Volk
2b199ae3ed
ircd::net/ircd::server/ircd::client: Various cleanup; log messages.
2018-08-28 12:06:45 -07:00
Jason Volk
2a11c33c9f
ircd::ctx: More list assertions.
2018-08-27 01:45:31 -07:00
Jason Volk
cd74a39330
ircd::db: Move the write mutex to a global and lock for compaction points too.
2018-08-26 20:46:59 -07:00
Jason Volk
edbc0984c5
ircd::ctx: Linkage for default and move semantics of ctx::context.
2018-08-26 20:46:59 -07:00
Jason Volk
48a436fcc1
ircd: Ⓜ️ :event: Addl prev utils; simplify before().
2018-08-26 07:13:47 -07:00
Jason Volk
02d1cd1115
ircd: Ⓜ️ Add central linkage for m::feds::state.
2018-08-26 07:13:47 -07:00
Jason Volk
0a9fdda893
ircd::allocator: Add state::available(n) query.
2018-08-25 18:46:54 -07:00
Jason Volk
2424208a01
ircd::json: Reverse number's <alternative>.
2018-08-25 15:06:17 -07:00
Jason Volk
41dd3cca29
ircd::resource: Better debug log indication of chunked encoding response.
2018-08-25 13:59:22 -07:00
Jason Volk
74bb040b8c
ircd::resource: Make response head buffer size a named const; fix comment.
2018-08-25 13:58:49 -07:00
Jason Volk
170475f374
ircd: Ⓜ️ Add user::events iterator w/ console cmd.
2018-08-24 14:01:32 -07:00
Jason Volk
bf234c77a4
ircd: Ⓜ️ :user: Ensure bools are returned from iteration closures here.
2018-08-24 13:55:33 -07:00
Jason Volk
0b98144cfe
ircd::db: Minor cleanup; assertions.
2018-08-24 10:59:22 -07:00
Jason Volk
0f79ad7b08
ircd: Ⓜ️ :room: Officiate random_origin w/ central linkage; use view closure.
2018-08-24 04:19:55 -07:00
Jason Volk
84f4cbd359
ircd::db: Serialize entry to rdb's write impl to circumvent pthread deadlock.
2018-08-24 03:40:37 -07:00
Jason Volk
c94b6f02ca
ircd::db: Options package; no DIO writes
2018-08-24 03:40:25 -07:00
Jason Volk
5825b21231
ircd::fs: Disable fsync()/fdatasync() via AIO for now.
2018-08-24 00:40:35 -07:00
Jason Volk
1450678b83
ircd::db: Plug remaining filesystem operations into ircd::fs / AIO.
2018-08-24 00:40:35 -07:00
Jason Volk
e0024b82ea
ircd::fs: Use fallocate() rather than posix_fallocate(); add keep_size.
2018-08-23 23:08:41 -07:00
Jason Volk
6f2eeaec67
ircd::db: Full dressing on the environment.
2018-08-23 23:08:41 -07:00
Jason Volk
f666728d37
ircd::fs: Add assertion; minor.
2018-08-23 23:08:41 -07:00
Jason Volk
e3827124e9
ircd::fs: Use lseek() for size(fd) overload.
2018-08-23 23:08:22 -07:00
Jason Volk
79d4c15ff5
ircd::fs: Deinline and improve append() related.
2018-08-23 23:08:22 -07:00
Jason Volk
55b2b128c6
ircd::fs: Add an fallocate wrapper for now.
2018-08-23 21:24:35 -07:00
Jason Volk
0ce45b50d6
ircd::fs: Add truncate() suite.
2018-08-23 21:24:19 -07:00
Jason Volk
888862ec56
ircd::fs: Deinline and improve overwrite() suite.
2018-08-23 21:23:42 -07:00
Jason Volk
ec0670262e
ircd::db: Give some env callbacks handlers.
2018-08-23 18:57:24 -07:00
Jason Volk
bbcddbcf5b
ircd::db: Use our fs::size() for file sizing env callback.
2018-08-23 05:37:32 -07:00
Jason Volk
29d4ec71d5
ircd::db: Update env exception handlers to propagate to rocksdb.
2018-08-23 04:20:16 -07:00
Jason Volk
f630c28439
ircd::db: Add error_to_status conversion for rocksdb::Status.
2018-08-23 04:19:32 -07:00
Jason Volk
585f6c97c3
ircd::db: Minor cleanup.
2018-08-23 04:16:49 -07:00
Jason Volk
1a1002c96d
ircd::fs: Propagate error_code through exception system; improve stack.
2018-08-23 03:31:36 -07:00
Jason Volk
ed6dc56d35
ircd: Add make_error_code(std::system_error) for completeness.
2018-08-23 03:23:59 -07:00
Jason Volk
671170afb4
ircd::db: Use an ircd::assertive so failure happens in optimized mode here.
2018-08-23 02:19:28 -07:00
Jason Volk
824e3305a4
ircd::db: Implement WaitForJoin() to wait on all ctx pool joins.
2018-08-23 02:16:44 -07:00
Jason Volk
d01430e64a
ircd::db: Replace default sleep() callback with ctx::sleep().
2018-08-23 02:14:50 -07:00
Jason Volk
5239e49f4f
ircd::db: Improve opts related for random_access_file; minor cleanup.
2018-08-23 01:54:58 -07:00
Jason Volk
7698759d04
ircd::db: Integrate env::sequential_file with AIO.
2018-08-23 01:54:18 -07:00
Jason Volk
1748ff843b
ircd::info: Sample system page size from sysconf().
2018-08-23 01:09:11 -07:00
Jason Volk
cbd149b650
ircd: Ⓜ️ :room::origins: Add a bool for_each() to eventually replace test().
2018-08-22 17:42:35 -07:00
Jason Volk
f48ec4a6a4
ircd::resource: Minor cleanup.
2018-08-22 15:17:55 -07:00
Jason Volk
2b4a727671
ircd::client: Client pool conf item notify callback to effect update.
2018-08-22 14:37:52 -07:00