Jason Volk
829516afde
ircd::db: Add compaction priority option to descriptor.
...
ircd:Ⓜ️ :dbs: Tune compaction priority algorithm.
2020-03-13 15:12:22 -07:00
Jason Volk
0fb19b85ca
ircd: Ⓜ️ :media::file: Adjust download overloads; fix use of empty remote string in messages.
2020-03-13 14:52:08 -07:00
Jason Volk
32459bd7f1
ircd: Add multi-string table index util, naive impl.
2020-03-13 11:28:27 -07:00
Jason Volk
2cefc5e248
ircd::http: Optimize head constructions; reduce branch paths.
2020-03-13 11:07:39 -07:00
Jason Volk
da92021818
ircd: Add intrinsic typedef header; update stringops unit.
2020-03-12 21:09:56 -07:00
Jason Volk
ffcbc87fdd
ircd: Rename try_lex_cast to lex_castable.
2020-03-12 21:09:56 -07:00
Jason Volk
8914af3e84
ircd::net::dns: Add complementary interface to getservbyport(3).
2020-03-12 21:09:56 -07:00
Jason Volk
164b881442
ircd::http: Add code 102 Processing (RFC 2518), 103 Early Hints (RFC 8297).
2020-03-11 18:18:53 -07:00
Jason Volk
6da0ae9c22
ircd::http: Parse response location header.
2020-03-11 16:37:02 -07:00
Jochen Friedrich
b84f3f03ae
fixed lookup of boost headers
2020-03-10 13:16:42 -04:00
Jason Volk
3b2342e001
ircd: Ⓜ️ :room::origins: Simplify callstack; remove unused iteration.
2020-03-09 14:41:36 -07:00
Jason Volk
a4f18fcd00
ircd::mods::ldso: Add loaded check using the dlfcn method.
2020-03-08 18:55:33 -07:00
Jason Volk
49dc7e77f2
ircd: Ⓜ️ :media: Use abstract federation request for media downloads.
2020-03-07 21:33:44 -08:00
Jason Volk
63aa71ce58
ircd: Ⓜ️ :fed: Implement federation 3.1 well-known for server name resolution.
2020-03-07 21:33:44 -08:00
Jason Volk
55ffdddc6a
ircd: Ⓜ️ :fed: Refactor all interfaces using abstract request.
2020-03-07 21:33:44 -08:00
Jason Volk
c0a5a7a89e
ircd: Ⓜ️ Simplify various interfaces using string rather than net::hostport remotes.
2020-03-07 17:17:46 -08:00
Jason Volk
a068981452
ircd: Ⓜ️ :fed: Simplify and rename well known fetch function.
2020-03-07 14:55:50 -08:00
Jason Volk
4935015b18
ircd::net::dns: Consolidate cache interfaces in public header; weak unresolved for now.
2020-03-07 12:51:12 -08:00
Jason Volk
6ab71b8fdc
ircd: Ⓜ️ :fed: Add well-known request for server name resolution w/ console cmd.
2020-03-06 18:28:41 -08:00
Jason Volk
6679b66806
ircd::prof: Move ctx::syscall_usage_warning into prof.
2020-03-06 15:43:24 -08:00
Jason Volk
726422f576
ircd::prof: Add a log facility for namespace.
2020-03-06 15:43:24 -08:00
Jason Volk
0e25a2e055
ircd::net::dns: Add support for netdb; interface to getservbyname(3).
2020-03-06 15:43:24 -08:00
Jason Volk
0a90b4d4cc
ircd: Ⓜ️ :fed: Apply the canon service to all remotes without a service string.
2020-03-06 10:37:28 -08:00
Jason Volk
14cce54b1f
ircd::net: Add missing service(hostport) mutable referencer.
2020-03-05 20:10:35 -08:00
Jason Volk
c44d732443
ircd: Ⓜ️ Rename v1/v2 namespace to fed.
2020-03-05 20:06:14 -08:00
Jason Volk
f5d5f6de3b
ircd::server: Require service suffix for peer map keying; refactor host canonization.
2020-03-05 20:06:14 -08:00
Jason Volk
65d41d0093
ircd::net::dns::resolver: Copy to preserve service string from hostport in tag.
2020-03-05 14:18:57 -08:00
Jason Volk
a46bf7dcbe
ircd::net: Eliminate the legacy canon_port/canon_service defaults.
...
ircd:Ⓜ️ Move canon_port/canon_service into matrix lib.
2020-03-05 14:18:55 -08:00
Jason Volk
e7eb5a62c7
ircd::server: Add peer level aggregate for cleanup_canceled().
2020-03-04 12:00:39 -08:00
Jason Volk
7f2eb104b6
ircd::net::acceptor: Refactor error and limit handling branches; fix reset.
2020-03-03 14:14:43 -08:00
Jason Volk
6ec9867843
ircd::net::acceptor: Add a default proffer callback when none set.
2020-03-03 13:54:14 -08:00
Jason Volk
14b962a695
ircd: Ⓜ️ :vm: Track evaluation hook phase.
2020-03-02 20:55:08 -08:00
Jason Volk
f471093d3e
ircd: Ⓜ️ :user::rooms: Use _event_state to eliminate the ircd.member type.
2020-03-01 17:13:15 -08:00
Jason Volk
cb0363f13c
ircd: Ⓜ️ :rooms: Add dump to file util w/ console cmd.
2020-02-28 20:19:42 -08:00
Jason Volk
8d9a9eccfb
ircd: Ⓜ️ :rooms: Add prefetch context on iteration.
2020-02-28 20:19:42 -08:00
Jason Volk
d402eddb98
ircd::run: Place out-of-line default ctor/dtor definitions.
...
ircd::http::error: Place out-of-line dtor definition.
ircd:Ⓜ️ :error: Place out-of-line dtor definition.
ircd::exception: Place out-of-line dtor definition.
ircd:Ⓜ️ :vm: Place out-of-line ctor definitions for copts/opts.
2020-02-28 12:36:45 -08:00
Jason Volk
ac021785a2
ircd::net::hostport: Deinline amalgam constructors.
2020-02-28 10:21:49 -08:00
Jason Volk
a038116a50
ircd::run: Add convenience overload for run::changed.
2020-02-28 09:55:36 -08:00
Jason Volk
a6131d1268
ircd::ctx: Split sleep()/wait() suites into headers.
2020-02-28 09:11:06 -08:00
Jason Volk
92b7ae5c17
ircd::prof: Split cycles into header.
2020-02-27 19:09:10 -08:00
Jason Volk
8ce0c46f63
ircd::server: Minor reorg; section comments.
2020-02-27 15:39:31 -08:00
Jason Volk
bd46cf49ed
ircd::spirit: Disable zealous assert for character test in spirit headers.
2020-02-27 12:44:57 -08:00
Jason Volk
c1737e167c
ircd::ios: Employ the asio::executor abstraction w/ backward-compat.
2020-02-27 12:44:57 -08:00
Jason Volk
47a5136045
ircd: Additional comments / docs on main mode confs.
2020-02-27 12:44:57 -08:00
Jason Volk
1bdf52b7bb
ircd: Ⓜ️ :events: Add preliminary interface to _event_state w/ console cmd.
2020-02-26 18:24:17 -08:00
Jason Volk
d579dd54aa
ircd::util: Add pre-c++2a identity functor template.
2020-02-26 18:10:41 -08:00
Jason Volk
139059f381
ircd: Split panic/terminate exception related into header.
2020-02-26 14:17:43 -08:00
Jason Volk
72b772b530
ircd: Make exception.o as an asio unit for system_error interop; minor comments.
2020-02-26 11:50:10 -08:00
Jason Volk
e36537d8ca
ircd::spirit: Fix upstream visibility related 737d9dd162.
2020-02-25 20:04:17 -08:00
Jason Volk
b61a566b03
ircd: Workaround missing boost::begin/boost::end related 737d9dd1626.
2020-02-25 20:04:17 -08:00
Jason Volk
8b45d8e97f
ircd::ios: Remove unused fwddecl related 737d9dd1626.
2020-02-25 20:04:17 -08:00
Jason Volk
628b194151
ircd::ctx: Relax member access.
2020-02-24 16:44:15 -08:00
Jason Volk
8baaf366c4
ircd: Ⓜ️ :event: Fix signature interface regression; optimize call path.
2020-02-24 11:01:52 -08:00
Jason Volk
a0af97ae3e
ircd: Use universal reference argument for always_assert().
2020-02-23 20:53:27 -08:00
Jason Volk
4bef7dca7b
ircd: Split stdinc into additional macros header.
2020-02-21 12:22:56 -08:00
Jason Volk
a4f48eaab8
ircd: Ⓜ️ :vm::eval: Conduct parallel fetch of new keys for vector eval.
2020-02-20 18:43:47 -08:00
Jason Volk
20bc23abde
ircd: Ⓜ️ :dbs: Replace pairs with tuples for reference lifetime issue w/ clang.
2020-02-20 16:25:51 -08:00
Jason Volk
a13d9282ac
ircd: Ⓜ️ :vm::eval: Add vector_view construction and eval to interface/stack.
2020-02-20 14:49:33 -08:00
Jason Volk
c3349b9d40
ircd::ctx::dock: Add convenience interface for interrupt/terminate/notify.
2020-02-19 16:16:53 -08:00
Jason Volk
24325c8fc1
ircd: Ⓜ️ Add overload for nothrow integral m::get w/ defaulting.
2020-02-19 13:27:13 -08:00
Jason Volk
0c1970af0f
ircd: Ⓜ️ :feds: Add default inline construction to reassert noexcept.
2020-02-19 13:26:05 -08:00
Jason Volk
e886e79073
ircd::db: Inline pointer-conditional overloads for cache interface.
2020-02-19 08:50:36 -08:00
Jason Volk
43f5ebe8e3
ircd::ctx: Inline the interruptible/uninterruptible instanced interface.
2020-02-19 08:40:15 -08:00
Jason Volk
7d4cf45f01
ircd::server: Fix bug when overrun discarded in cancellation buffer.
2020-02-13 16:33:44 -08:00
Jason Volk
c63141c4dc
ircd: Complete the assert workaround for clang.
2020-02-12 15:12:03 -08:00
Jason Volk
7669fd53d9
ircd::json: Move exception construction branch to unlikely seg; minor cleanup.
2020-02-12 14:34:26 -08:00
Jason Volk
72642ef556
ircd: Add PBC stub.
2020-02-11 15:47:18 -08:00
Jason Volk
3c9f0c82e7
ircd: Ⓜ️ :matrix: Remove noexcept specifier for clang mangle resolution.
2020-02-11 12:19:32 -08:00
Jason Volk
0fd8019149
ircd::ctx: Use thread_local keyword for current.
2020-02-11 12:18:25 -08:00
Jason Volk
1ebe09f36b
ircd::json: Resize value bitfields to alignment for movdqa.
2020-02-11 10:12:58 -08:00
Jason Volk
c4f294810c
ircd::log: Remove duplicate condition for __assert_fail.
2020-02-10 18:54:59 -08:00
Jason Volk
04595054d8
ircd::json: Fix member constructor template.
2020-02-10 14:35:17 -08:00
Jason Volk
ab6672877d
ircd::json: Move max_string_size constant to header.
2020-02-09 14:54:38 -08:00
Jason Volk
13469512c3
ircd::util: Disable undefined-var-template warning for clang.
2020-02-02 17:35:33 -08:00
Jason Volk
4f96fafe67
ircd::prof: Fix gnu_inline extern emission from clang.
2020-02-01 22:18:49 -08:00
Jason Volk
438dd21048
ircd::rfc3986: Increase visibility of grammar namespace for clang.
2020-02-01 22:18:49 -08:00
Jason Volk
e241ab9e51
ircd::assert: Deconflict extern keyword duality for clang.
2020-02-01 17:20:50 -08:00
Jason Volk
1b699745bb
ircd::server: Fix syntax for clang.
2020-02-01 13:35:11 -08:00
Jason Volk
9d7e35adb1
ircd::util: Inline template definitions for clang.
2020-02-01 13:34:45 -08:00
Jason Volk
9e187f7406
ircd::db::prefetcher: Fix alignment attribution for clang.
2020-02-01 12:33:24 -08:00
Jason Volk
0c43394446
ircd::ctx::ole: Fix struct namespace error.
2020-02-01 12:31:37 -08:00
Jason Volk
0231e26c76
ircd: Add overloads for counted character leading/trailing strip.
2020-01-23 20:55:13 -08:00
Jason Volk
b0a773c922
ircd::db: Add conf item to repair on open.
2020-01-11 23:31:53 -08:00
Jason Volk
e2e4ea544b
ircd::ctx: Move paragraph in README.
2020-01-11 23:31:53 -08:00
Jason Volk
5993c6cdf4
ircd: Ⓜ️ :event::fetch: Minor cleanup.
2020-01-11 23:31:53 -08:00
Jason Volk
cdfdde3334
ircd::db: Add interface to checksum files per column.
...
modules/console: Add column params to db check cmd.
2020-01-08 12:32:56 -08:00
Jason Volk
ffcc49b9e5
ircd::db: Add interface to checksum per file.
2020-01-08 12:32:56 -08:00
Jason Volk
f952cecfbb
ircd: Ⓜ️ :vm: Add txnid to opts; propagate from federation send.
2020-01-06 17:01:21 -08:00
Jason Volk
d9c7985376
ircd: Ⓜ️ :sync: Add next_batch central convenience; add branding to token.
2020-01-06 13:24:21 -08:00
Jason Volk
4ef3f6eab7
ircd::ctx: Add nice/ionice values to pool opts; propagate on spawn.
2020-01-06 12:19:38 -08:00
Jason Volk
78d300b3b7
ircd::ctx: Add nice/ionice values to context.
2020-01-06 12:19:38 -08:00
Jason Volk
68a56374e3
ircd: Ⓜ️ :fed: Allow empty response to not throw in convenience cast.
2020-01-05 17:30:58 -08:00
Jason Volk
1245101a5b
ircd: Undef legacy major/minor macros if included through sys/types.h.
2019-12-31 13:42:22 -08:00
Jason Volk
031f3e0a72
ircd::buffer: Add constructors which limit requested size to input buffer.
2019-12-31 11:23:20 -08:00
Jason Volk
316d668a58
ircd: Add always_assert() inline expression trap.
2019-12-26 14:41:43 -08:00
Jason Volk
37cde44d58
ircd::cbor: Reconstitute head reader and utils.
2019-12-26 11:43:01 -08:00
Jason Volk
45e5104a87
ircd::leb128: Add RB_GENERIC condition on platform intrinsics.
2019-12-21 14:37:41 -08:00
Jason Volk
189b5cfbcd
ircd: Ⓜ️ :keys: Add back tls_fingerprints due to reintroduction by matrix.org.
2019-12-21 14:34:28 -08:00
Jason Volk
ba5352e560
ircd: Ⓜ️ :room: Add annotate() convenience reaction.
2019-12-11 14:09:22 -08:00
Jason Volk
6fa63f8bf0
ircd: Ⓜ️ :room: Add react() convenience sender.
2019-12-11 14:07:24 -08:00
Jason Volk
bf2df9c223
ircd: Ⓜ️ Add a tuple structure for m_relates_to.
2019-12-11 11:01:11 -08:00
Jason Volk
4970e4f626
ircd::util::params: Support prefixed non-positional parameters.
2019-12-10 22:02:30 -08:00
Jason Volk
5b3cc11859
ircd::util::params: Modernize; remove allocation.
2019-12-10 17:51:14 -08:00
Jason Volk
8dfbe808d6
ircd: Ⓜ️ :room::head: Add room version hint to opts to reduce query.
2019-12-10 12:06:54 -08:00
Jason Volk
5c74bfbd7f
ircd: Ⓜ️ :event: Add event::my(event::idx) query util; branch for event: 🆔 :host() use.
2019-12-10 12:06:54 -08:00
Jason Volk
7b3f0a1874
ircd: Ⓜ️ :event::refs: Add note for fwd decl. [ci skip]
2019-12-10 11:37:09 -08:00
Jason Volk
12b340c093
ircd: Ⓜ️ :room::head: Elaborate the prev_events generating interface; add features.
2019-12-10 11:37:09 -08:00
Jason Volk
a32e05e9c4
ircd::util: Increase constness; remove default template arguments on definition.
2019-12-04 23:28:29 -08:00
Jason Volk
df79d61395
ircd::util: Elide std::function overhead for util::unwind suite.
2019-12-03 13:39:49 -08:00
Jason Volk
21ad249f74
ircd: Ⓜ️ :event::fetch: Move default opts ctor out of line.
2019-12-03 12:09:25 -08:00
Jason Volk
1a22309919
ircd::resource: Add doxygen brief for suite; also note abstraction leak.
2019-12-02 17:50:11 -08:00
Jason Volk
66934f317a
ircd::json::stack: Track and assert the running recursion level.
2019-12-01 21:37:22 -08:00
Jason Volk
bd6860743c
ircd::uleb128: Add #ifdefs for intrinsics.
2019-11-30 10:47:20 -08:00
Jason Volk
6d380dcb6c
ircd::uleb128: Ensure ceiling for result at the type length.
2019-11-30 10:47:20 -08:00
Jason Volk
538c3530f3
ircd::leb128: Add optimized template specializations for 8 and 16 byte words.
2019-11-30 10:47:20 -08:00
Jason Volk
62f2f5ea8d
ircd: Implement unsigned LEB128.
2019-11-30 10:47:20 -08:00
Jason Volk
83bdee822a
ircd::spirit: Add template with exception translation wrapping qi::parse().
2019-11-30 10:47:20 -08:00
Jason Volk
c8d1fa5170
include/ircd/Makefile: Use expression for gch removal.
2019-10-14 10:27:19 -07:00
Jason Volk
d44da6c8fd
ircd::ctx: Add inline redefinition of coroutine_context::jump().
2019-10-10 19:34:01 -07:00
Jason Volk
7afb295c09
ircd::ctx: Partial inline continuation.
2019-10-10 19:33:49 -07:00
Jason Volk
e1e67f7603
ircd: Ⓜ️ 🆔 Inline ctors with missy jumps.
2019-10-09 22:15:49 -07:00
Jason Volk
864afd78e4
ircd::ctx: Fix trivial branch sequence causing L2 => I1 miss; hot section.
2019-10-09 22:07:17 -07:00
Jason Volk
7e21c1c8db
ircd::ctx: Ensure assert_critical() callsite DCE in non-debugmode.
2019-10-09 16:30:08 -07:00
Jason Volk
51e62a56f6
ircd::net::socket: Switch to deadline timer.
2019-10-08 19:30:48 -07:00
Jason Volk
c0fc0a1cad
ircd::prof: Add interface to pressure stall information on linux platforms.
2019-10-08 19:30:48 -07:00
Jason Volk
8d1f10f8b4
ircd: Support explicit float lex_cast.
2019-10-08 16:59:31 -07:00
Jason Volk
b82123e09a
ircd::util: Prevent section creation std::function wrapper in ~unwind.
2019-10-08 14:56:23 -07:00
Jason Volk
1d1f04126b
ircd: Ⓜ️ :dbs: Add _event_state column.
2019-10-05 22:24:21 -07:00
Jason Volk
e5f72b7855
ircd::db::database::env: Fix linkage of fs::evict() options argument related.
2019-10-05 18:02:15 -07:00
Jason Volk
2b2374db6c
ircd: Split all non-matrix definitions back to lib; rename module to net_dns_cache.
2019-10-05 17:37:44 -07:00
Jason Volk
9e3c9be5a8
ircd::server: Minor cleanup of init related.
2019-10-05 16:21:06 -07:00
Jason Volk
7ec7390211
ircd: Ⓜ️ :init::backfill: Fix interface; reenable for primary.
2019-10-04 14:36:52 -07:00
Jason Volk
1f88439bc1
ircd: Ⓜ️ :homeserver: Additional my_ tools.
2019-10-04 13:55:06 -07:00
Jason Volk
1add5349ac
ircd: Ⓜ️ :homeserver: 🔑 Add the verify_keys generation subroutine.
2019-10-04 13:55:06 -07:00
Jason Volk
6f798df65c
ircd: Ⓜ️ :homeserver: Refactor conf related; patch self:: related; console cmds.
2019-10-04 13:49:37 -07:00
Jason Volk
08ea932c59
ircd: Ⓜ️ Simplify/remove homeserver::rooms related.
2019-10-04 12:48:02 -07:00
Jason Volk
723997fd2e
ircd: Ⓜ️ :homeserver: Additional construction; bootstrap related.
2019-10-03 12:15:23 -07:00
Jason Volk
8764f523d4
ircd: Ⓜ️ :vm: Move core from modules to matrix; split units.
2019-10-03 12:14:29 -07:00
Jason Volk
cfc76f1777
ircd::net::dns: Move resolver into libircd proper.
2019-10-03 12:14:29 -07:00
Jason Volk
d71ffa6338
ircd::ed25519: Use string_view for path ctor.
2019-10-02 18:16:55 -07:00
Jason Volk
a3cf1dfa30
ircd::fmt: Introduce the format string literal operator.
2019-10-02 18:16:55 -07:00
Jason Volk
e7c66d86d9
ircd::run: Add another runlevel; eliminate main callback; simplify.
2019-10-02 16:49:30 -07:00
Jason Volk
dbb3c55db5
matrix: Add m::homeserver; preliminary virtual origin networks.
2019-10-01 17:56:01 -07:00
Jason Volk
e28a3d7f7a
ircd::mods: Add comparison operator suite for module instance.
2019-10-01 17:56:01 -07:00
Jason Volk
9c49e8bdb5
ircd: Ⓜ️ Remove tls fingerprint related.
2019-09-30 20:38:57 -07:00
Jason Volk
60b2de8ef4
ircd::run: Add main event callbacks.
2019-09-30 14:41:15 -07:00
Jason Volk
7fd40513f4
ircd::util::callbacks: Add default void prototype to template.
2019-09-30 14:23:28 -07:00
Jason Volk
035ec56bc3
ircd::net::acceptor: Condition accepted SNI from listener's certificate for now.
2019-09-30 14:23:28 -07:00
Jason Volk
d45b18f3e8
ircd::openssl: Add getters for X509 from SSL_CTX.
2019-09-30 14:23:28 -07:00
Jason Volk
43a86a428c
ircd::net::acceptor: Split/cleanup the acceptor configuration related.
2019-09-30 14:23:28 -07:00
Jason Volk
01af00bae0
ircd::ctx: Preliminary trilean logic concept (WIP).
2019-09-30 14:23:28 -07:00
Jason Volk
36b621e72b
ircd::ctx: Minor fix inconsistent header HAVE_ defines.
2019-09-30 14:23:28 -07:00
Jason Volk
31ee90c056
ircd: Ⓜ️ :self: Move the signoff/signon greeting to self.cc.
2019-09-30 14:23:28 -07:00
Jason Volk
ad195ef8a4
Fix build / Makefile related errors.
2019-09-30 14:23:28 -07:00
Jason Volk
0b0e903dc7
construct: Add matrix unit; move instance out from ircd.
2019-09-30 14:23:28 -07:00
Jason Volk
85845dcff2
Abstract ircd::resource from ircd: Ⓜ️ :resource; fix header stack.
2019-09-29 14:00:02 -07:00
Jason Volk
10854b2886
ircd::http: Add format string error ctor template.
2019-09-28 14:12:53 -07:00
Jason Volk
5f4d8afd86
ircd: Ⓜ️ :user: Remove noexcept for I/O interrupt; minor cleanup.
2019-09-28 01:19:25 -07:00
Jason Volk
98d04ebb2f
ircd::util::callbacks: Add note to comment.
2019-09-27 21:40:19 -07:00
Jason Volk
8259ac6a31
ircd: Ⓜ️ Improve fetch init/fini for now.
2019-09-27 21:18:07 -07:00
Jason Volk
f6992ca3e1
matrix: Split matrix base unit.
2019-09-27 19:35:26 -07:00
Jason Volk
183e44e0b6
modules: Distill all API's from modules up to matrix lib.
2019-09-27 19:35:26 -07:00
Jason Volk
d3809d43e5
Reorganize Makefiles.
2019-09-27 19:35:26 -07:00
Jason Volk
89e0a7fc82
ircd: Move matrix application related to derived library.
2019-09-27 19:35:26 -07:00
Jason Volk
7934756858
ircd: Ⓜ️ Split user registration API from client/register; minor reorg.
2019-09-27 19:35:26 -07:00
Jason Volk
7d1da07894
ircd::net::wait: Simplify ctor stack for noexcept suggestion.
2019-09-26 14:03:43 -07:00
Jason Volk
0b4ec3873c
ircd: Ⓜ️ :room: Make inline ctor noexcept.
2019-09-26 14:03:43 -07:00
Jason Volk
d8bfacd128
ircd::fs: Add missing base path for RB_LIB_DIR.
2019-09-25 17:09:05 -07:00
Jason Volk
33b57e48ba
include/ircd: Add -x c++-header to PCH cxxflags.
2019-09-25 09:43:33 -07:00
Jason Volk
6dcdbba06b
ircd::magick: Minor cleanup.
2019-09-24 18:34:03 -07:00
Jason Volk
8880eadfd5
ircd: Ⓜ️ :room::events: Additional prefetch()/preseek() related interfaces.
2019-09-24 15:46:11 -07:00
Jason Volk
4254960ee1
ircd: Ⓜ️ Simplify m::visible(); refactor implementation.
2019-09-24 15:16:19 -07:00
Jason Volk
9cb0f46440
ircd: Ⓜ️ :room::events: Cleanup/simplify; reorg interface.
2019-09-24 14:31:14 -07:00
Jason Volk
575bacee8d
ircd: Ⓜ️ :room::events: Simplify count() suite.
2019-09-23 23:26:07 -07:00
Jason Volk
f86b129ea6
ircd::json::stack: Add class member counters; assertions; conditions.
2019-09-23 20:11:20 -07:00
Jason Volk
8ec205b4b5
ircd::resource::response::chunked: Further elaborate the class.
2019-09-23 19:46:32 -07:00
Jason Volk
f9e5ece672
ircd: Ⓜ️ :get: Fix false assertion when no result.
2019-09-22 21:13:45 -07:00
Jason Volk
39ade19ae3
ircd::ctx: Switch from steady_timer to deadline_timer.
2019-09-22 20:59:54 -07:00
Jason Volk
320af9e9b8
ircd::ctx: Add context::DEFER flag; cleanup ios::descriptor set.
2019-09-22 18:28:07 -07:00
Jason Volk
2f88540f3c
ircd::ctx: Expose critical_assertion related details.
2019-09-22 17:35:20 -07:00
Jason Volk
a20659b1d8
ircd::ios: Profile the latency of handler execution.
2019-09-22 16:27:54 -07:00
Jason Volk
2be2d7ca8c
ircd::util: Allow integer index on all overloads for precooked format strings.
2019-09-22 16:09:15 -07:00
Jason Volk
41646091f8
ircd::ctx: Experimental mitigations for return address misprediction on context switch.
2019-09-22 16:09:15 -07:00
Jason Volk
71a59d20e0
ircd::prof: Add a scope_cycles utility device.
2019-09-21 12:15:31 -07:00
Jason Volk
08ef760266
ircd::prof: Split type struct into header.
2019-09-21 12:14:01 -07:00
Jason Volk
a9a77f86d1
ircd: Inline single jump without LTO for now.
2019-09-21 12:14:01 -07:00
Jason Volk
ea1a18adfe
ircd::ios: Minor cleanup; remove cruft.
2019-09-21 12:14:01 -07:00
Jason Volk
5b28f51d1e
ircd::db::prefetcher: Move all counters into a dedicated structure.
2019-09-20 11:12:16 -07:00
Jason Volk
99d080767f
ircd: Add interface to backtrace(3).
2019-09-19 22:07:41 -07:00
Jason Volk
15c4c3cc63
ircd::util: Additional noexcept ctor.
2019-09-19 22:07:41 -07:00
Jason Volk
71a56fecb7
ircd: Move demangle() out of util.
2019-09-19 16:37:45 -07:00
Jason Volk
083493dd1c
ircd: Ⓜ️ :room: Minor cleanup; move ctor defs out of class.
2019-09-19 11:31:10 -07:00
Jason Volk
dc5a335968
ircd::db::prefetcher: Add fetched byte counters; accumulated timers.
2019-09-18 22:25:05 -07:00
Jason Volk
9d2e506253
ircd::db: Add direct-dispatch if request worker available; various optimizations.
2019-09-18 20:23:34 -07:00
Jason Volk
e2ed860c04
ircd::ctx::pool: Add wouldblock() convenience to interface.
2019-09-18 20:05:51 -07:00
Jason Volk
35d39a7d70
ircd::db: Move prefetcher to header; reorg definitions; minor reorg.
2019-09-18 15:15:02 -07:00
Jason Volk
c12205e39b
ircd: Ⓜ️ :room::state: Refactor the prefetch() interface.
2019-09-18 13:39:02 -07:00
Jason Volk
83cce03f6f
ircd: Ⓜ️ :room::state: Add prefetch() support to state::history/state::space.
2019-09-18 13:30:15 -07:00
Jason Volk
601f26983e
ircd: Ⓜ️ Support vector of membership states in optimal aggregate query.
2019-09-18 12:30:51 -07:00
Jason Volk
0d25e68c50
ircd: Ⓜ️ Support query for non-membership with empty string to interface.
2019-09-18 12:30:51 -07:00
Jason Volk
11699baff0
ircd: Ⓜ️ Consolidate m::membership() suite to header; minor cleanup.
2019-09-18 12:30:50 -07:00
Jason Volk
41cfb47de4
ircd: Add strncpy++ tool.
2019-09-18 09:50:14 -07:00
Jason Volk
e94a21aa7d
ircd: Ⓜ️ :redacted: Add prefetch() to interface.
2019-09-17 21:06:03 -07:00
Jason Volk
26154de7c4
ircd: Ⓜ️ :event::refs: Add prefetch() to interface.
2019-09-17 21:06:03 -07:00
Jason Volk
a3163a5ae7
ircd: Ⓜ️ Use util::boolean for m::redacted.
2019-09-17 21:06:03 -07:00
Jason Volk
b3323c3f8d
ircd: Ⓜ️ :event::append: Add option to bypass redaction query.
2019-09-17 20:17:37 -07:00
Jason Volk
dc1364c735
ircd: Ⓜ️ :media::block: Add zero-copy block::get() closure.
2019-09-17 20:17:37 -07:00
Jason Volk
e267b5232d
ircd: Ⓜ️ :media::block: Add prefetch() to interface.
2019-09-17 11:35:50 -07:00
Jason Volk
6102c0a8b2
ircd: Ⓜ️ :room::events: Improve comment [skip ci].
2019-09-17 11:03:30 -07:00
Jason Volk
b3f646b478
ircd: Ⓜ️ :room::events: Add prefetch() convenience to interface.
2019-09-17 10:35:58 -07:00
Jason Volk
a9b86c5594
ircd: Ⓜ️ :fetch: Add an attempt_limit option to interface; minor cleanup.
2019-09-16 12:30:36 -07:00
Jason Volk
49ed79e9df
ircd: Ⓜ️ :fetch: Rename opts::limit to opts::backfill_limit.
2019-09-16 12:09:30 -07:00
Jason Volk
568a2881df
ircd: Ⓜ️ :event::refs: Branch on the event_idx sentinel here.
2019-09-15 20:21:17 -07:00
Jason Volk
b4b07debbd
ircd: Ⓜ️ :event::append: Add option to elide query for state prev_content.
2019-09-15 19:47:03 -07:00
Jason Volk
ea33e0326e
ircd: Ⓜ️ :rooms::summary: Refactor for per-origin result synthesis and learning.
2019-09-15 14:59:36 -07:00
Jason Volk
6450d38c04
ircd: Ⓜ️ :rooms: Split rooms::summary header.
2019-09-14 17:44:49 -07:00
Jason Volk
35c37f6a67
ircd::buffer: Add boolean operators.
2019-09-14 17:15:56 -07:00
Jason Volk
398851af68
ircd::server::tag: Use explicit move assignment operations.
2019-09-14 16:55:57 -07:00
Jason Volk
9319df1a1b
ircd: Ⓜ️ :rooms::summary: Export state key manip utils to interface.
2019-09-14 16:08:33 -07:00
Jason Volk
5493376731
ircd: Ⓜ️ Start a search namespace; add spec tuple.
2019-09-14 13:51:24 -07:00
Jason Volk
8dac4c5a03
ircd::info: Add section label comment. [skip ci]
2019-09-14 12:17:07 -07:00
Jason Volk
56c025ab7b
ircd::net::socket: Minor cleanup; move warning into unlikely branch.
2019-09-14 12:17:07 -07:00
Jason Volk
6da9219039
ircd: Ⓜ️ :feds: Give the op enum more prominence.
2019-09-13 23:16:07 -07:00
Jason Volk
a2ffebeb06
ircd: Ⓜ️ :rooms::summary: Use server name as fetch target.
2019-09-13 18:41:06 -07:00
Jason Volk
1f82e009b7
ircd::json: Deinline member ctor.
2019-09-13 16:32:26 -07:00
Jason Volk
0c45fb827d
ircd: Ⓜ️ :vm: Add a specific edu option to vmopts.
2019-09-13 15:26:44 -07:00
Jason Volk
54c29274f2
ircd: Ⓜ️ :room::server_acl: Propagate exceptions through check().
2019-09-13 14:10:27 -07:00
Jason Volk
a280350dee
ircd::net: Fix the asio callback and error_code interp on socket waits.
2019-09-13 12:44:59 -07:00
Jason Volk
b19ed6854b
ircd::net: Consolidate all eof error_code related.
2019-09-13 12:44:59 -07:00
Jason Volk
d6a2328fa0
ircd::server::tag: Use unique_buffer for cancellation mgmt.
2019-09-12 18:37:33 -07:00
Jason Volk
9c68d01d86
ircd: Ⓜ️ :room: Remove cruft.
2019-09-12 11:57:42 -07:00
Jason Volk
dcab8eb08e
ircd::prof: Remove cruft; minor cleanup.
2019-09-12 10:18:51 -07:00
Jason Volk
2110f7e632
ircd::server: Declare associating ctor noexcept (-Wnoexcept).
2019-09-11 18:07:55 -07:00
Jason Volk
fac2a1e070
ircd: Ⓜ️ :vm::eval: Add count(event_id) to static interface.
2019-09-11 12:51:54 -07:00
Jason Volk
0241f2b9a1
ircd: Ⓜ️ :room::members: Add host argument to interface stack for more efficient queries.
2019-09-11 10:53:48 -07:00
Jason Volk
71f922d3a1
ircd::server: Qualify noexcept interface functions.
2019-09-10 16:54:41 -07:00
Jason Volk
949c765cd9
ircd::ctx: Additional internal wrappers in hot section.
2019-09-10 15:23:44 -07:00
Jason Volk
ec4c6c46ac
ircd: Ⓜ️ :vm: Partial revert of a35328f38; remove mutex; use sequencing.
2019-09-10 14:45:54 -07:00
Jason Volk
87fd0f04ea
ircd::ctx::mutex: Add deadlock assertion on lock.
2019-09-10 12:12:10 -07:00
Jason Volk
fcb4f6c5f4
ircd::ctx::mutex: Add waiting(ctx) to interface.
2019-09-10 11:06:16 -07:00
Jason Volk
ba11205f2c
ircd::ctx::dock: Add query to find if ctx is waiting on dock.
2019-09-10 11:06:16 -07:00
Jason Volk
efdc626495
ircd::ctx::list: Add typedefs for iteration suite closures.
2019-09-10 11:06:16 -07:00
Jason Volk
b6149b429e
ircd::ctx::dock: Add noexcept to interface observers.
...
ircd::ctx: Propagate noexcept on hot leafs;
ircd::ctx::list: Deinline size().
2019-09-10 11:06:11 -07:00
Jason Volk
ac572aeeaa
ircd: Ⓜ️ Add branch and overload for event::id in room_id() suite.
2019-09-09 19:34:27 -07:00
Jason Volk
bd1b060314
ircd::json: Split some print_error cases into print_panic; relax print_error; minor cleanup.
2019-09-09 19:03:23 -07:00
Jason Volk
a35328f384
ircd: Ⓜ️ :vm: Add inner lock around write commitment.
2019-09-08 19:58:58 -07:00
Jason Volk
002e7aae1a
ircd::http: Add code 410 Gone.
2019-09-08 19:58:58 -07:00
Jason Volk
42d56a7bac
ircd::ctx: Fix inconsistent refcount() behavior.
2019-09-08 18:22:05 -07:00
Jason Volk
a6747ad3a0
ircd::ctx::promise_base: Add refcount(promise_base&) to suite.
2019-09-08 16:33:38 -07:00
Jason Volk
5b2216fb63
ircd::ctx::shared_state_base: Add assertions; comments; minor cleanup.
2019-09-08 16:31:21 -07:00
Jason Volk
fda4c9d0ce
ircd: Ⓜ️ :append: Add some \briefs. [skip ci]
2019-09-08 15:33:56 -07:00
Jason Volk
82ef916256
ircd: Ⓜ️ :events: Add rebuilder for type/sender meta columns.
2019-09-07 20:35:27 -07:00
Jason Volk
2739696e8f
ircd: Ⓜ️ :rooms: Add options construction from string; simplify.
2019-09-07 20:05:48 -07:00
Jason Volk
415491b9b6
ircd: Ⓜ️ :rooms: Improve options interface for meta-characteristics.
2019-09-07 16:56:17 -07:00
Jason Volk
d1a64471a2
ircd: Ⓜ️ :room::members: Move the present join optimization implementation from origins.
2019-09-07 16:56:17 -07:00
Jason Volk
f186fb6e12
ircd: Ⓜ️ :room: Redefine and expand the local_only(room) suite.
2019-09-07 16:06:45 -07:00
Jason Volk
34de10317b
ircd: Add info::versions instances for self API and ABI.
2019-09-07 14:10:01 -07:00
Jason Volk
463570bef1
ircd::info: Minor reorder declarations.
2019-09-07 14:02:51 -07:00
Jason Volk
0a4cfc59be
ircd::ctx: Minor cleanup; tweak promise union; noexcept and linkage for ctors.
2019-09-07 13:45:43 -07:00
Jason Volk
844bf46a5c
ircd::server: Add a canceled tag reaper.
2019-09-06 20:10:09 -07:00
Jason Volk
5ead261243
ircd::server: 🔗 Add read_ts and write_ts last operation timestamp.
2019-09-06 19:56:18 -07:00
Jason Volk
6a59036f4e
ircd: Ⓜ️ 🧾 Reorg/rename interface; simplify impl; add options argument.
...
ircd:Ⓜ️ 🧾 Remove central linkage cruft for interface.
2019-09-06 11:57:02 -07:00
Jason Volk
425aa83900
ircd: Ⓜ️ :rooms: Add options for user_id / room_alias related.
2019-09-05 21:36:16 -07:00
Jason Volk
dfdee1eac9
ircd: Ⓜ️ Consolidate viewport calculation data sources; signed integer conf item.
2019-09-05 21:36:16 -07:00
Jason Volk
6831f195aa
ircd: Ⓜ️ :room::events: Add viewport metric concept; conf item.
2019-09-05 18:10:44 -07:00
Jason Volk
c570e04622
ircd: Ⓜ️ :event::prev: Add _events_exist() convenience suite.
2019-09-05 18:10:44 -07:00
Jason Volk
f67eafd078
ircd: Ⓜ️ :vm::fetch: Remove/reorg stale fetch related options.
2019-09-05 18:10:44 -07:00
Jason Volk
9adba1b9dc
ircd::ctx: No need for mutable here.
2019-09-03 22:07:50 -07:00
Jason Volk
1210523757
ircd::ctx: Support shared futures.
2019-09-03 15:56:14 -07:00
Jason Volk
74679a3a5f
ircd: Ⓜ️ :fetch: Fix initialization order for server::request buf; add linkage for dtor.
2019-09-03 14:43:34 -07:00
Jason Volk
71edd9adee
ircd::util: Add maybe() exception tool.
2019-09-03 12:15:44 -07:00
Jason Volk
ebfaa508fd
ircd::ctx::ole: Move opts outside offload; reorg; minor cleanup.
2019-09-03 11:10:30 -07:00
Jason Volk
02009c4aa9
ircd::buffer: Cleanup/simplify shared_buffer.
2019-09-03 10:07:08 -07:00
Jason Volk
8642d2da0d
ircd: Add comment in debugtrap asm.
2019-09-03 10:07:07 -07:00
Jason Volk
3c45487611
ircd::ctx: Improve readme paragraph.
2019-09-01 21:06:30 -07:00
Jason Volk
fc98bbc641
ircd::util: Add mutable_cast convenience template.
2019-09-01 21:06:30 -07:00
Jason Volk
f211cc7429
Revert "ircd::ctx: Create vtables for promise and future."
...
This reverts commit d119d9a8c6
.
2019-09-01 21:06:30 -07:00
Jason Volk
062ea9ddf5
ircd::buffer: Support aligned allocations and aligned unique_buffer conversion.
2019-09-01 21:06:30 -07:00
Jason Volk
7e3b5db06a
ircd::buffer: Add unique to shared buffer conversion.
2019-08-31 22:54:49 -07:00
Jason Volk
52fd0d1b2e
ircd: Ⓜ️ :room::events::missing: Add limited iteration overload.
2019-08-31 00:17:11 -07:00
Jason Volk
003575c418
ircd: Ⓜ️ :room::events: Rename missing to horizon; reimplement missing.
2019-08-30 23:43:34 -07:00
Jason Volk
1d835f2ed2
ircd: Ⓜ️ :dbs: Minor reorder.
2019-08-30 23:09:21 -07:00
Jason Volk
217b2d51d5
ircd: Ⓜ️ Add additional horizon rebuilders.
2019-08-30 22:57:15 -07:00
Jason Volk
3d5b2ca262
ircd: Ⓜ️ :room::events::missing: Add count() to interface.
2019-08-30 22:57:15 -07:00
Jason Volk
91862e381f
ircd: Ⓜ️ Add additional query() convenience template.
2019-08-30 21:32:02 -07:00
Jason Volk
b38cf0012e
ircd: Ⓜ️ :event::horizon: Improve some comments.
2019-08-30 21:31:40 -07:00
Jason Volk
10cb380473
ircd: Ⓜ️ :room::events: Reorg sounding / gaps related interfaces; reorder definitions.
2019-08-30 19:41:48 -07:00
Jason Volk
6775ee2f3b
ircd: Ⓜ️ :room: Move m::room::events non-member tools to module; rename/reorg count().
2019-08-30 16:21:50 -07:00
Jason Volk
a52ad73e87
ircd: Ⓜ️ :room: Rename room::messages to room::events.
2019-08-30 14:43:19 -07:00
Jason Volk
fc61fd6b70
ircd: Ⓜ️ :fetch: Add backfill support; minor reorg.
2019-08-29 22:14:08 -07:00
Jason Volk
a93f5a54d6
ircd: Ⓜ️ :fetch: Support v1::event_auth operation with interface.
2019-08-29 22:14:07 -07:00
Jason Volk
9b23b4d907
ircd: Ⓜ️ :fetch: Add remote hinting to fetch::opts.
2019-08-29 22:14:07 -07:00
Jason Volk
ac573cd21d
ircd: Ⓜ️ :fetch: Cleanup/document interface; add basis for operation abstraction.
2019-08-29 21:32:10 -07:00
Jason Volk
fb8e3de485
ircd: Ⓜ️ :fed::event: Minor cleanup.
2019-08-29 18:27:08 -07:00
Jason Volk
b39676f85a
ircd: Add some timepoint convenience macros.
2019-08-29 17:12:15 -07:00
Jason Volk
7be4137c7e
ircd: Ⓜ️ :feds: Add some comments/documentation. [skip ci]
2019-08-29 14:18:49 -07:00
Jason Volk
d119d9a8c6
ircd::ctx: Create vtables for promise and future.
2019-08-29 14:17:46 -07:00
Jason Volk
035dbbab88
ircd: Ⓜ️ :typing: Add user control over sending and receiving typing events per room.
2019-08-28 16:48:36 -07:00
Jason Volk
04b17bc9d7
ircd: Ⓜ️ :typing: Interface cleanup.
2019-08-28 16:48:36 -07:00
Jason Volk
7b33dd1775
ircd: Ⓜ️ 🧾 Add briefs on interface.
2019-08-28 14:57:26 -07:00
Jason Volk
1323b30f34
ircd: Ⓜ️ :fetch: Move auth_chain() to vm::fetch module.
2019-08-27 20:58:52 -07:00
Jason Volk
766dfe027d
ircd: Ⓜ️ :keys::cache: Add has() to interface.
2019-08-27 16:26:58 -07:00
Jason Volk
9f95c3233b
ircd::db: Update defaults.
...
ircd:Ⓜ️ :dbs: Add custom sizes for _event_json.
2019-08-26 22:40:13 -07:00
Jason Volk
c57bc9077c
ircd: Ⓜ️ :fetch: Add future result interface; refactor eval out of flow. ( fixes #103 ) ( closes #131 )
...
modules: Split m_vm_fetch from m_fetch.
2019-08-26 16:17:09 -07:00
Jason Volk
13e2d56850
ircd::ctx::future: Ensure value is moved out.
2019-08-26 13:10:12 -07:00
Jason Volk
f073657b5a
ircd::db: Add granular compaction size related to column descriptor. ( #13 )
2019-08-26 12:14:26 -07:00
Jason Volk
b95a7a8a9e
ircd::exception: Add hide_name construction overload to macro.
2019-08-26 11:10:30 -07:00
Jason Volk
9b5ffb0b1f
modules: Split m::createroom related from client/.
2019-08-25 19:44:00 -07:00
Jason Volk
875b03fa1e
ircd: Ⓜ️ :room: Simplify prototypes.
2019-08-25 19:44:00 -07:00
Jason Volk
885499ad99
ircd: Ⓜ️ :room: Start a spec faithful display_name(room) diagnostic.
2019-08-25 16:05:10 -07:00
Jason Volk
42b689a7a0
ircd: Ⓜ️ :room::power: Document with some usage details.
2019-08-25 15:22:43 -07:00
Jason Volk
954fed8bba
ircd::stringops: Mark the has() template inline to avoid plt.
2019-08-24 16:49:01 -07:00
Jason Volk
4c924b2a43
ircd::util: Add the construction utility device.
2019-08-24 16:49:01 -07:00
Jason Volk
8ad0d46cff
ircd: Ⓜ️ :room::state: Move rebuild iterations out from interface.
2019-08-22 08:02:17 -07:00
Jason Volk
652ffa8ea2
ircd: Ⓜ️ :room::state: Improve coarse rebuild interface.
2019-08-22 06:02:02 -07:00
Jason Volk
4dba866c64
ircd: Ⓜ️ :room::auth: Rename to M_AUTH_FAIL.
2019-08-22 03:15:59 -07:00
Jason Volk
118efe5cc7
ircd: Ⓜ️ :room::state: Remove cruft.
2019-08-22 02:38:29 -07:00
Jason Volk
061b85de5b
ircd: Ⓜ️ :room::auth: Reorg check() stack interface related.
2019-08-22 02:25:03 -07:00
Jason Volk
065c0bd426
ircd: Ⓜ️ :media: Start a weak central interface; move core utils into namespace.
2019-08-22 01:53:28 -07:00
Jason Volk
3a36d847eb
ircd::rfc3986: Use a namespace rather than struct here.
2019-08-22 01:25:43 -07:00
Jason Volk
15dc7d17ef
modules/m_event: Add pretty_stateline() for state event detail.
2019-08-21 00:40:20 -07:00
Jason Volk
063bd39b09
ircd: Ⓜ️ :room::auth: Remove noexcept on interface for IO termination propagation.
2019-08-20 22:26:52 -07:00
Jason Volk
5e87a2e941
ircd: Ⓜ️ :room::auth: Improve error hierarchy.
2019-08-20 22:26:52 -07:00
Jason Volk
7e8d8666ff
ircd: Ⓜ️ :room::state: Add additional event::idx based tools.
2019-08-20 21:36:36 -07:00
Jason Volk
87a35a5a41
ircd: Add ago() convenience to timedate suite.
2019-08-20 21:23:18 -07:00
Jason Volk
fd953d4b10
ircd: Ⓜ️ :events::type: Add has()/has_prefix() to interface.
2019-08-20 21:23:18 -07:00
Jason Volk
204989802d
ircd: Ⓜ️ :events: Split and reorganize API sections into specific namespaces.
2019-08-20 21:23:18 -07:00
Jason Volk
0e956dbaca
ircd: Ⓜ️ :dbs: Start a directory README; add some comments.
2019-08-20 21:23:18 -07:00
Jason Volk
ac03c9a13b
ircd: Use bool return values through prefetching stack.
2019-08-19 21:18:26 -07:00
Jason Volk
e58434705e
ircd: Ⓜ️ :dbs: Augment event_sender with a second key domain.
2019-08-19 18:40:12 -07:00
Jason Volk
0c317bdf9d
ircd: Ⓜ️ :room::state::space: Add nullary count() to interface.
2019-08-18 08:33:00 -07:00
Jason Volk
e38371d50c
ircd: Ⓜ️ :room: Add basic count() suite.
2019-08-18 08:20:11 -07:00
Jason Volk
abca51deea
ircd: Ⓜ️ :room::power: Add cheap composer for augmented default power_levels content.
2019-08-18 06:38:10 -07:00
Jason Volk
52657ca410
ircd: Ⓜ️ :room::auth::chain: Simplify interface.
2019-08-18 05:46:42 -07:00
Jason Volk
cb94558c4a
ircd: Ⓜ️ :fed: Remove opts inline constructor due to shared linkage issues.
2019-08-18 04:13:12 -07:00
Jason Volk
8454ae0275
ircd: Ⓜ️ :room::head: Simplify interface; move to module.
2019-08-18 03:09:34 -07:00
Jason Volk
59618c6a44
ircd: Ⓜ️ Move event::auth to room::auth; move to module.
2019-08-18 03:09:34 -07:00
Jason Volk
7fa5948fd3
modules/vm: Check auth during eval.
2019-08-17 08:34:46 -07:00
Jason Volk
1541b2d52e
ircd: Ⓜ️ :user: Move rooms::origins to user::servers interface.
2019-08-17 02:59:13 -07:00
Jason Volk
34e87c08c3
ircd: Ⓜ️ :user::mitsein: Simplify interface.
2019-08-17 02:59:13 -07:00
Jason Volk
16f1ba2b11
ircd: Ⓜ️ :vm: Fix dependence on room_id without bypass mechanism in injector.
2019-08-17 02:59:13 -07:00
Jason Volk
c760eb0a12
ircd: Ⓜ️ :vm: Use bitmask of properties to generate in vm::copts.
2019-08-17 00:44:14 -07:00
Jason Volk
1c0f947211
ircd::json: Add name-based operations to tuple::keys::selection.
2019-08-17 00:39:12 -07:00
Jason Volk
3a0bfc8db9
ircd: Ⓜ️ :user::room: Add a one-liner is(user_room) test.
2019-08-16 23:54:04 -07:00
Jason Volk
100f5c646a
ircd: Ⓜ️ :sync: Fix phased polylog invocation conditions; eliminate initial flag. ( #105 )
2019-08-16 04:50:39 -07:00
Jason Volk
fc742ae2d0
ircd: Fix warning/error.
...
ircd: Minor cleanup.
2019-08-16 03:32:13 -07:00
Jason Volk
125ff95875
ircd: Ⓜ️ :room::state: Simplify util interface arguments.
2019-08-16 02:25:50 -07:00
Jason Volk
d17286515b
ircd: Ⓜ️ :room::state: Simplify/consolidate iteration interface.
2019-08-16 02:19:49 -07:00
Jason Volk
2532f7f5e2
ircd::fs::aio: Add submit_coalesce conf item.
2019-08-16 02:19:49 -07:00
Jason Volk
cd347d53cb
ircd: Ⓜ️ :create: Add a central room_version default conf item.
2019-08-16 02:19:48 -07:00
Jason Volk
aaa015c6b8
ircd: Ⓜ️ :name: Add room_version as a property name.
2019-08-16 02:19:48 -07:00
Jason Volk
a8b3e29cac
ircd: Apply noexcept on various constexpr callstacks.
2019-08-15 00:05:48 -07:00
Jason Volk
7fb0958080
ircd::json::tuple: Split additional non-member templates into header; constexpr member get()/at().
2019-08-15 00:05:48 -07:00
Jason Volk
7420bf1156
ircd::vector_view: Add assertion for bounds check here.
2019-08-14 22:33:41 -07:00
Jason Volk
0aacf44440
ircd::resource: Document/comment resource response classes.
2019-08-14 22:33:41 -07:00
Jason Volk
1c42206307
ircd: Ⓜ️ :feds: Add an exclude_myself option.
2019-08-14 01:52:32 -07:00
Jason Volk
3d808022ed
ircd: Ⓜ️ :feds: Rename interface function.
2019-08-14 01:26:02 -07:00
Jason Volk
fca330e1c1
ircd: Ⓜ️ :room: Reorg / slim the class member function interface.
...
ircd:Ⓜ️ :room: Rename interface function.
2019-08-14 01:09:34 -07:00
Jason Volk
c95d1e56ee
ircd: Ⓜ️ :init: Add preliminary worker context loop for backfill unit. ( #78 )
2019-08-13 23:39:05 -07:00
Jason Volk
765ec46b91
ircd::ctx::promise: Inline trivial accessors; explicit bool operator.
2019-08-13 20:53:02 -07:00
Jason Volk
42b65fa271
ircd::ctx: Add noexcept specifications; tweak inlines.
2019-08-13 20:26:08 -07:00
Jason Volk
e7609afb7b
ircd::ios: Add accessor to epoch counter.
2019-08-13 19:37:30 -07:00
Jason Volk
1bea1d2265
ircd: Ⓜ️ :room::origins: Add empty().
2019-08-13 05:35:42 -07:00
Jason Volk
74cef5d74d
ircd: Ⓜ️ :rooms: Add room::lonly() related to interface.
2019-08-13 05:09:14 -07:00
Jason Volk
6333c94fe0
ircd::info: Attempt to grab mlock rlimit; reorg log facilities and info dump.
2019-08-13 05:05:26 -07:00
Jason Volk
c7f9521a3f
ircd: Ⓜ️ :users: Rename for consistency.
2019-08-13 03:00:08 -07:00
Jason Volk
ea4d74967b
ircd: Ⓜ️ :events: Improve header comments.
...
ircd:Ⓜ️ :dbs: Fix typos.
2019-08-13 01:22:13 -07:00
Jason Volk
84e79a64e6
ircd: Ⓜ️ :rooms: Refactor interface; split rooms::summary; split module.
2019-08-12 23:55:07 -07:00
Jason Volk
0efc56c9c7
ircd::ctx::future: Add non-std get() w/ durations to avoid separate wait().
2019-08-12 20:43:39 -07:00
Jason Volk
b4842da414
ircd::ctx::future: Restrict the future type cast operator; fix conflict.
2019-08-12 20:43:04 -07:00
Jason Volk
76889eab6e
ircd: Ⓜ️ :user::highlight: Add for_each() to interface; simplify stack ( #87 ).
2019-08-12 04:10:28 -07:00
Jason Volk
f74ddd0171
ircd: Ⓜ️ Add back the id::NODE sigil; add to room_id() translation.
2019-08-12 01:39:16 -07:00
Jason Volk
f24bf54799
ircd: Ⓜ️ Eliminate the user::users room references.
2019-08-12 01:39:16 -07:00
Jason Volk
0c05241fec
ircd: Ⓜ️ :users: Refactor !users room out of the users:: interface.
2019-08-11 23:30:50 -07:00
Jason Volk
dffb03a562
ircd: Cleanup / simplify assert related interface.
2019-08-11 23:30:50 -07:00
Jason Volk
a2c05437d2
ircd::ctx: Export this_ctx down to ircd::.
2019-08-11 08:00:17 -07:00
Jason Volk
9a3f37c0af
ircd: Ⓜ️ :sync: Remove cruft.
2019-08-11 07:51:42 -07:00
Jason Volk
125f53872c
ircd::fs: Preliminary io_uring infrastructure plumbing.
2019-08-11 01:39:30 -07:00
Jason Volk
8bce90fbf3
modules/client/keys/upload: Properly implement one_time_keys upload. ( Fixes #9 )
2019-08-09 23:34:20 -07:00
Jason Volk
060e46f8e4
ircd: Conditionally compile with gettimeofday().
...
ircd: Stronger embedding for time point samples.
2019-08-08 18:09:50 -07:00
Jason Volk
ca99df8edb
ircd::assert: Always inline the debugtrap.
2019-08-08 16:12:52 -07:00
Jason Volk
3fe4baba4f
ircd: Ⓜ️ :user::highlight: Improve highlight matching quality. ( Fixes #122 )
2019-08-07 18:42:20 -07:00
Jason Volk
32ec94e29b
ircd: Add ifind() to stringops suite.
2019-08-07 16:32:12 -07:00
Jason Volk
ac14be5a01
ircd: Ⓜ️ :user::highlight: Match -at-room. ( Closes #118 )
2019-08-07 00:41:08 -07:00
Jason Volk
e0fec1e81d
modules/client/sync: Add device_id to sync data.
2019-08-06 19:18:03 -07:00
Jason Volk
f3ada0ed9c
ircd: Ⓜ️ :device: Add access_token_to_id() lookup suite.
2019-08-06 18:33:42 -07:00
Jason Volk
14f16f2b0d
ircd::fs: Support hole punching if available; add checks for allocate options.
2019-08-06 16:39:28 -07:00
Jason Volk
315276e3c4
ircd::info: Reorg/improve hardware information sampling.
2019-08-06 15:44:32 -07:00
Jason Volk
eddc5b3b55
ircd: Ⓜ️ :event::append: Add properties mask to opts; centralize. ( Fixes #119 )
2019-08-05 17:54:00 -07:00
Jason Volk
a66db65a1d
ircd: Tweak suggestion output; satisfy several suggestions.
2019-08-05 16:20:48 -07:00
Jason Volk
009d417273
ircd: Indicate noexcept on advised interfaces.
2019-08-05 16:19:20 -07:00
Jason Volk
c64bb6850c
ircd::net: Fix/improve the v6/v4 check.
...
ircd::net: Add an is_null(ipport/ipaddr).
ircd::net: Improve the v6/v4 check efficiency.
ircd::net: Swap defaulting from v6 to v4 for better null address output.
2019-08-04 18:05:58 -07:00
Jason Volk
8dd0a22351
ircd: Add additional formatted microdate().
2019-08-03 20:02:18 -07:00
Jason Volk
ac4e742010
ircd::log: Convert to hook architecture.
2019-08-03 18:36:42 -07:00
Jason Volk
2d83f2c201
ircd::util::callbacks: Add a callback convenience template.
2019-08-03 17:42:21 -07:00
Jason Volk
d394cd4d18
ircd::util::callbacks: Typedef access to the template class for derived classes.
2019-08-03 16:50:52 -07:00
Jason Volk
fa341c274e
ircd::log: Add some minor comments / document.
2019-08-03 16:11:14 -07:00
Jason Volk
3dfb593dec
modules/m_room_aliases: Consolidate state_key creation; case desensitize.
2019-08-02 22:01:00 -07:00
Jason Volk
be4a33c136
ircd: Ⓜ️ 🆔 Increase the buf SIZE constant to the next pow2.
2019-08-02 22:00:58 -07:00
Jason Volk
aa013ac526
ircd: Add string_view based tolower()/toupper().
2019-08-02 21:02:40 -07:00
Jason Volk
d8fcbf7325
ircd: Ⓜ️ Reinterface append(event) into event::append; move to module. ( #109 )
2019-08-02 17:34:31 -07:00
Jason Volk
7c5ef32008
ircd::util: Add a strong boolean typedef customization.
2019-08-02 17:34:31 -07:00
Jason Volk
7b32e8bbad
ircd: Ⓜ️ :room::aliases::cache: Improve interface and simplify implementation callstack.
2019-08-02 16:18:01 -07:00
Jason Volk
efa586c424
ircd: Clarify clock types in comments; minor cleanup.
2019-08-02 15:30:06 -07:00
Jason Volk
8e5e599690
ircd: Ⓜ️ Relax exception propagation through event::refs. ( Fixes #114 )
2019-08-02 15:04:29 -07:00
Jason Volk
af48bdfa6e
ircd::json: Stub an unescape().
2019-08-02 15:04:29 -07:00
Jason Volk
fefaaca2c2
ircd::prof: Split header into directory.
...
ircd::prof: Split linux/perf_event specific to unit.
2019-07-31 19:43:09 -07:00
Jason Volk
7333be92ca
ircd: Ⓜ️ :typing: Simplify interface; fix linkages.
2019-07-30 14:21:26 -07:00
Jason Volk
3f5777897b
ircd::util: Fix noexcept propagation through enum relaxation operators.
...
g++-9 warning
2019-07-30 13:46:22 -07:00
Jason Volk
ed56ef680a
ircd: Ⓜ️ :fed::user::keys::claim: Separate content creation functions from ctor.
...
ircd:Ⓜ️ :fed::user::keys::query: Separate content creation functions from ctor.
2019-07-30 12:30:27 -07:00
Jason Volk
de986d2272
ircd::json::stack: Make completed() return a string_view instead of const_buffer.
2019-07-30 12:26:26 -07:00
Jason Volk
d806ef48db
ircd::conf: Improve item maximum related constants.
2019-07-27 18:49:26 -07:00
Jason Volk
63a9f33d7c
ircd::net: Simplify socket check related.
2019-07-27 13:17:53 -07:00
Jason Volk
6c367c8abf
ircd: Ⓜ️ Fix error code.
2019-07-26 19:09:28 -07:00
Jason Volk
7cb7052273
ircd: Ⓜ️ :fetch: Add a room based fetch to interface.
2019-07-26 16:13:58 -07:00
Jason Volk
ae1ccca038
ircd: Ⓜ️ :event::prev: Remove ambiguous overload.
2019-07-26 15:58:58 -07:00
Jason Volk
5edd7a6117
ircd: Ⓜ️ :fetch: Whittle down the current interface; remove libircd linkages.
2019-07-26 15:51:15 -07:00
Jason Volk
839951752e
ircd::log: Improve critical trap message.
2019-07-26 15:15:58 -07:00
Jason Volk
fea6bfb395
ircd: Ⓜ️ 🪝 Fix missing facility in log calls.
...
ircd:Ⓜ️ 🪝 Minor cleanup.
2019-07-26 15:15:58 -07:00
Jason Volk
939b402a7d
Revert "ircd::event: Remove membership from top level."
...
This reverts commit fc8048dc74
.
2019-07-26 00:08:51 -07:00
Jason Volk
3f418bf1ed
ircd::server: Add a request log.
2019-07-25 23:12:18 -07:00
Jason Volk
9a5df1ae9c
ircd: Ⓜ️ Add additional format selection for pretty_oneline(event).
2019-07-25 15:57:04 -07:00
Jason Volk
b8adc69599
ircd: Ⓜ️ Move MEMBERSHIP_MAX_SIZE into room.
...
ircd:Ⓜ️ :room: Add a room version max size constant.
2019-07-25 14:29:07 -07:00
Jason Volk
ddcce0ef2b
ircd: Ⓜ️ :event: Document class member related.
2019-07-25 14:29:07 -07:00
Jason Volk
f450028c77
ircd::ctx::future: Use our steady_clock now() here.
2019-07-24 17:07:16 -07:00
Jason Volk
c45bfc4379
ircd: Ⓜ️ 🆔 :buf: Remove misleading move semantic.
2019-07-24 16:46:29 -07:00
Jason Volk
58c83b01a7
ircd: Ⓜ️ :feds: Add a closure_cached_errors option.
...
modules/m_command: Tweak ping options.
2019-07-23 22:46:48 -07:00
Jason Volk
eb3b4d82fb
ircd: Ⓜ️ :room::members: Simplify and improve interface; callsites.
2019-07-23 19:50:13 -07:00
Jason Volk
bde9e16e5c
ircd::ctx: Inline cur_slice_cycles().
...
modules/media/magick: Use this_ctx::cycles_here().
ircd::ctx: Improve prof::cycles API related.
2019-07-23 16:40:29 -07:00
Jason Volk
df11d9bec6
ircd: Ⓜ️ :room: Reorient join bootstrap definitions.
...
ircd:Ⓜ️ :room::bootstrap: Improve interface / various.
2019-07-23 16:40:29 -07:00
Jason Volk
e883f2a42b
ircd: Ⓜ️ :keys: Add additional fetch to interface.
2019-07-22 20:35:41 -07:00
Jason Volk
f1e3a9c53b
ircd: Ⓜ️ :keys: Add mass fetcher to interface.
2019-07-22 20:35:41 -07:00
Jason Volk
eb38a9ce15
ircd: Ⓜ️ :room::timeline: Improve iteration.
2019-07-22 19:10:19 -07:00
Jason Volk
4a37152c6d
ircd: Ⓜ️ :fetch: Add clear() to interface.
2019-07-22 14:20:21 -07:00
Jason Volk
53e7fe3fef
ircd: Ⓜ️ :fetch: Remove cruft.
2019-07-22 14:18:13 -07:00
Jason Volk
b17b508c2a
ircd: Ⓜ️ :room::origins: Add interface to count room servers online/error.
2019-07-21 19:08:40 -07:00
Jason Volk
6c9dbdbef5
ircd::ctx: Add queued(ctx) state to interface.
2019-07-21 18:07:26 -07:00
Jason Volk
471c08a41e
ircd::ctx: Split exception_handler w/ cxxabi header requirement.
2019-07-21 15:29:16 -07:00
Jason Volk
bcec03ce1a
ircd: Ⓜ️ :vm::eval: Add find_pdu() to interface.
2019-07-20 18:42:15 -07:00
Jason Volk
3051e6da83
ircd: Isolate inclusion of sys/time.h.
2019-07-20 18:42:15 -07:00
Jason Volk
e1356fb50d
ircd: Ⓜ️ :event::auth: Add hookdata::find() to improve initialization.
2019-07-20 18:42:15 -07:00
Jason Volk
9e2e20f3e8
ircd: Ⓜ️ :event::auth: Preliminary auth hook.
2019-07-20 18:42:15 -07:00
Jason Volk
95001450c5
ircd::db: Move some internal headers out of the installed includedir.
2019-07-20 18:42:15 -07:00
Jason Volk
556d73d96e
ircd::db::database::env::state: Restrict object semantics.
2019-07-20 18:42:15 -07:00
Jason Volk
2f2bc867fb
ircd: Improve various context names for consistency.
2019-07-20 18:42:15 -07:00
Jason Volk
f64f41775d
ircd::ctx::future: Fix action.
2019-07-19 18:17:53 -07:00
Jason Volk
58b286e651
ircd::log: Make the level enumeration strictly unsigned.
...
modules/console: Fix sign v. unsign comparison.
2019-07-19 18:17:52 -07:00
Jason Volk
0704625401
ircd::log: Simplify log class member interface.
2019-07-19 17:15:47 -07:00
Jason Volk
064f0b712c
ircd::log: Fixes for clang DCE.
2019-07-19 17:10:35 -07:00
Jason Volk
fd504be82c
ircd: De-inline the now()/time() samplers; minor cleanup.
2019-07-19 16:13:11 -07:00
Jason Volk
166236dfe8
ircd::ctx: Update README [skip ci]
2019-07-19 15:15:21 -07:00
Jason Volk
3301ed62f7
ircd::ctx: Fix future wait condition closing.
2019-07-19 14:46:57 -07:00
Jason Volk
51e3d7f081
ircd::ctx: Minor code-clarify/cleanup.
2019-07-19 14:42:46 -07:00
Jason Volk
c9745570fc
ircd: Ⓜ️ Add internal(room) to interface.
2019-07-19 14:27:57 -07:00
Jason Volk
e57561e8c1
ircd: Ⓜ️ Add type(room) to interface.
2019-07-19 14:27:57 -07:00
Jason Volk
bdc88e6c7e
imrcd: Ⓜ️ :room::members: Add empty() to interface.
2019-07-19 14:27:57 -07:00
Jason Volk
ad1940d614
ircd::db::env: Add NowNanos() override.
2019-07-17 19:11:43 -07:00
Jason Volk
48468a32f0
ircd::ctx: Add critical_assertion for when_() templates.
2019-07-17 18:10:34 -07:00
Jason Volk
82ed7ad69b
ircd::mods: Attempt to unconfuse backtraces.
2019-07-17 15:05:34 -07:00
Jason Volk
2b4c7a3646
ircd: Remove stale comment from stdinc.
2019-07-17 14:53:13 -07:00
Jason Volk
ad834bfc5b
ircd: Ⓜ️ :vm: Reorganize eval/vm::inject for room version differences; add comment.
2019-07-17 14:53:13 -07:00
Jason Volk
e0e9e09e67
ircd: Ⓜ️ Make append() return and propagate boolean.
2019-07-16 15:26:15 -07:00
Jason Volk
ef1f6f2642
ircd: Ⓜ️ Move event/append header.
2019-07-16 12:39:16 -07:00
Jason Volk
1c00399f66
ircd: Ⓜ️ Add interface to test if event is redacted.
2019-07-16 10:48:35 -07:00
Jason Volk
13830061a3
ircd: Ⓜ️ :event::refs: Add overload to check if ref type exists.
2019-07-16 10:27:53 -07:00
Jason Volk
2bcfe14822
ircd::ios: Add a handler epoch counter.
2019-07-15 17:20:47 -07:00
Jason Volk
ebbc5a5be0
ircd::ios: Apply noexcept to handler border functions.
2019-07-15 17:20:47 -07:00
Jason Volk
598585a431
ircd::ctx: Simplify concurrent template.
...
modules/client/sync: Improve concurrent instantiation sites.
2019-07-15 13:09:33 -07:00
Jason Volk
4d8d2a4dd7
ircd::json: Improve and inline value comparison operators.
2019-07-15 11:06:01 -07:00
Jason Volk
0344a12b40
ircd::json: Inline value constructors.
2019-07-15 11:06:01 -07:00
Jason Volk
1c01b21720
ircd::util: Add unit and deinline various date/time util.
2019-07-15 09:47:34 -07:00
Jason Volk
2a8162b2b7
ircd::net::hostport: Remove unique symbol.
2019-07-14 19:35:28 -07:00
Jason Volk
5242432e0c
ircd::ctx: Add concurrent_for_each.
2019-07-14 13:40:04 -07:00
Jason Volk
91af1a17fd
ircd::server: Add timestamp of when link's socket was estab.
2019-07-14 12:19:31 -07:00
Jason Volk
ee341f193d
ircd::stats: Converge on a single callpath to get val.
2019-07-14 11:17:53 -07:00
Jason Volk
c7a68a8cb3
ircd::ctx: Fix ctx::parallel argument allocation assumptions.
...
ircd::ctx: Rename tool.
2019-07-13 23:20:03 -07:00
Jason Volk
df8fd36fde
ircd: Ⓜ️ :user: Simplify user::room_tags impl w/ modern linkage.
...
ircd:Ⓜ️ :user: Simplify user::room_account_data impl w/ modern linkage.
ircd:Ⓜ️ :user: Modernize user::profile impl linkage.
ircd:Ⓜ️ :user: Modernize user::account_data impl linkage.
ircd:Ⓜ️ :user: Simplify user::ignores impl w/ modern linkage.
2019-07-13 18:15:27 -07:00
Jason Volk
6e97a72c50
ircd::ctx::ole: Minor interface reorg.
2019-07-13 18:15:27 -07:00
Jason Volk
1af930d541
Fix target inputs order in include/Makefile.
2019-07-13 15:51:55 -07:00
Jason Volk
2aafbaff5c
configure: Fix includedir and install path related.
2019-07-12 19:29:51 -07:00
Jason Volk
d0cc5b020b
ircd::fs: Minor reorg of fadvise related.
2019-07-12 19:29:51 -07:00
Jason Volk
212e4abb55
ircd: Ⓜ️ :fed: Add /v2/invite request support.
2019-07-12 19:29:51 -07:00
Jason Volk
ce55859fb2
ircd: Ⓜ️ Rename v1 to fed.
2019-07-12 19:29:51 -07:00
Jason Volk
2d7a914eb2
ircd: Ⓜ️ :event: Fix detection on hashing constructor.
2019-07-11 19:22:35 -07:00
Jason Volk
59467cf670
ircd::util: Add minmax().
2019-07-11 18:58:17 -07:00
Jason Volk
4947ef10f5
ircd: Ⓜ️ :room: Add missing linear event::idx get().
2019-07-11 18:58:17 -07:00
Jason Volk
dcffd35c40
ircd: Use buffer::copy() here.
2019-07-11 18:58:17 -07:00
Jason Volk
c4e5d06d91
ircd: Ⓜ️ :error: Improve construction stack.
2019-07-11 17:22:16 -07:00
Jason Volk
ae071552fb
ircd::ctx::ole: Add options structure; minor cleanup.
2019-07-11 15:51:09 -07:00
Jason Volk
de94e95422
ircd: Split out overgrown components from stringops.h
2019-07-11 15:51:09 -07:00
Jason Volk
d53744b3f8
ircd: Rename gmatch/gequals.
2019-07-11 15:51:09 -07:00
Jason Volk
0f4d1e2869
ircd::net::socket: Convert totals counters to stats::items.
2019-07-11 15:51:09 -07:00
Jason Volk
7fdf87a21f
ircd: Ⓜ️ :user: Combine user.h and user/user.h like other directories.
2019-07-11 15:51:09 -07:00
Jason Volk
6032331bf2
ircd: Ⓜ️ Move breadcrumb_rooms interface down one out from m::user::.
2019-07-11 15:51:09 -07:00
Jason Volk
808148e326
ircd::buffer: Add buffer overlap util;
...
ircd::buffer: Assert on overlap.
ircd::buffer: Add operator+=.
irde::buffer: More aggressive inlining.
2019-07-11 15:51:08 -07:00
Jason Volk
c0402f08f4
ircd::util: Improve the test trigger prototype.
2019-07-10 21:39:47 -07:00
Jason Volk
c39aad4d3f
ircd: Ⓜ️ :vm: Factor room_version into eval.
2019-07-10 06:52:56 -07:00
Jason Volk
329972ed01
ircd: Ⓜ️ :event: Update the make_id() suite.
2019-07-10 03:50:37 -07:00
Jason Volk
b7fc4710eb
ircd: Ⓜ️ :event::conforms: Add event_id hash check to static conformity checks.
2019-07-10 03:50:37 -07:00
Jason Volk
43d66420cd
Update incompatible uses of event_id.
2019-07-10 03:50:37 -07:00
Jason Volk
639b132250
ircd: Ⓜ️ Add a check_id(event) suite.
2019-07-10 02:12:16 -07:00
Jason Volk
0a210544b3
ircd: Ⓜ️ :event::conforms: Remove MISTMATCH_ORIGIN_EVENT_ID code.
2019-07-09 23:46:24 -07:00
Jason Volk
2755cfe71b
ircd: Ⓜ️ 🆔 Improve the validation interface / stack.
2019-07-09 02:33:27 -07:00
Jason Volk
719a965d9f
ircd: Ⓜ️ :event: Remove prev_state from top level.
2019-07-09 02:33:27 -07:00
Jason Volk
fc8048dc74
ircd::event: Remove membership from top level.
2019-07-09 02:03:03 -07:00
Jason Volk
e0655229c5
ircd::room::auth: Improve make_refs and cleanup interface related.
2019-07-09 02:03:03 -07:00
Jason Volk
d37aaa8542
ircd::assert: Only #error for include-order in --enable-debug mode.
2019-07-08 16:49:43 -07:00
Jason Volk
d5c035693c
ircd: Ⓜ️ :user: Add interface to im.vector.riot.breadcrumb_rooms.
2019-07-08 06:03:20 -07:00
Jason Volk
93b82445d9
ircd: Ⓜ️ :fetch: Fix initialization.
...
ircd:Ⓜ️ :event::fetch: Fix member statekeeping.
2019-07-08 06:03:20 -07:00
Jason Volk
015cbe53b1
ircd::net::socket: Add static counters for totals.
2019-07-08 06:03:20 -07:00
Jason Volk
11dd47a8aa
ircd: Ⓜ️ :sync: Add pointer to struct args in struct data.
2019-07-08 06:03:20 -07:00
Jason Volk
3057e9a328
ircd: Ⓜ️ Move event/get.h down one level.
2019-07-07 22:06:11 -07:00
Jason Volk
439402c08c
ircd: Ⓜ️ Add an m::query() template suite for DRY'ing common m::get() usage pattern.
2019-07-07 17:58:15 -07:00
Jason Volk
ec8bac81d1
ircd: Ⓜ️ :filter: Add missing fields on room_event_filter.
2019-07-07 17:00:36 -07:00
Jason Volk
49264bd13b
ircd: Ⓜ️ :sync: Add sync item children counter.
2019-07-06 22:25:16 -07:00
Jason Volk
18f07b6378
ircd: Ⓜ️ :sync: Move definitions to module.
...
ircd:Ⓜ️ :sync: Give sync::data an instance_list.
2019-07-06 22:25:12 -07:00
Jason Volk
dc4d13bca6
ircd: Ⓜ️ :event::fetch: Add internal buffer for event::id state.
2019-07-05 23:45:00 -07:00
Jason Volk
261151f539
ircd: Ⓜ️ :fetch: Remove ambiguating event_id() util.
2019-07-05 23:45:00 -07:00
Jason Volk
4a289c065a
ircd: Ⓜ️ :event: Add event_id member; reorg ctors.
2019-07-05 23:45:00 -07:00
Jason Volk
31aea230b1
ircd::conf: Explicit bool operators for std::string item.
2019-07-05 18:07:49 -07:00
Jason Volk
7af8e5774c
ircd::ios: Add no-op synchronous defer overload; use w/ this_ctx::yield().
2019-07-05 17:37:04 -07:00
Jason Volk
b8dfa9ccee
ircd::magick: Reorg and elaborate the job state tracking; add interface.
2019-07-05 16:05:36 -07:00
Jason Volk
612eeb3b7f
ircd::allocator: Add ctrl get()/set() w/ console cmd.
2019-07-04 00:20:49 -07:00
Jason Volk
e7b66eac3b
ircd: Ⓜ️ :event::prev: Stronger json::object type for v1 tuple value at indice.
2019-07-03 18:57:48 -07:00
Jason Volk
5d570a8da4
ircd: Ⓜ️ 🆔 Move event fwddecl closer to use; add more comments on v3/v4 objects.
2019-07-03 18:57:48 -07:00
Jason Volk
6a6c51d359
ircd::allocator: Distill out GNU malloc featurette from allocator.cc unit.
2019-07-03 18:57:48 -07:00
Jason Volk
ea0a1df3a1
configure: Add options for third-party allocator selection/deselection and inclusion.
2019-07-03 18:02:54 -07:00
Jason Volk
f88cc51e37
ircd: Move definitions for various valgrind suites to vg.cc for header isolation.
2019-07-03 15:14:29 -07:00
Jason Volk
60fda46bdf
ircd::http: Consolidate line terminator static strings.
2019-06-28 18:23:43 -07:00
Jason Volk
9ca019f03e
ircd: Ⓜ️ 🆔 :event: Add non-throwing static tests of v3/v4 id from string.
2019-06-28 03:42:07 -07:00
Jason Volk
6c62515a6d
ircd: Ⓜ️ 🆔 Use proper reference hashing procedure for event::v3/event::v4 ctors.
2019-06-27 20:06:26 -07:00
Jason Volk
6ce67a81a1
ircd: Ⓜ️ :user::highlight: Add conf items to toggle counting; improve match detail.
2019-06-27 01:59:19 -07:00
Jason Volk
0fb3f1d8ac
ircd: Ⓜ️ :user: Modernize the highlight counting interface.
2019-06-27 01:32:16 -07:00
Jason Volk
7843925335
modules: Disperse modules to eliminate the s_ prefix-space.
2019-06-27 00:41:57 -07:00
Jason Volk
ed5af1fdbd
ircd: Ⓜ️ 🆔 Add class representations for event::v3 and event::v4.
2019-06-26 06:21:30 -07:00
Jason Volk
fcfc28c6e4
ircd: Ⓜ️ 🆔 Add event::id version gauge method.
2019-06-26 06:21:30 -07:00
Jason Volk
5500a897e9
ircd: Add RFC4648 base64url conversion suite.
2019-06-26 01:52:42 -07:00
Jason Volk
19b85ef908
ircd: Add mutable_buffer based replace_copy stringop.
2019-06-26 01:44:23 -07:00
Jason Volk
5c03f4e08f
ircd: Add mutable_buffer inplace replace to stringops.
2019-06-26 01:16:27 -07:00
Jason Volk
754adf33ec
ircd: Ⓜ️ :keys: Add pretty()/pretty_oneline() output diagnostics.
2019-06-25 07:42:13 -07:00
Jason Volk
758ee9c185
ircd: Ⓜ️ :keys: Retype server_name property as json::string.
2019-06-25 07:13:10 -07:00
Jason Volk
425f277eaa
ircd: Fix main thread assertion.
2019-06-24 03:55:11 -07:00
Jason Volk
80655da66e
Misc fixes for clang.
2019-06-24 01:34:14 -07:00
Jason Volk
cbd2f6f4c7
ircd::prof: Add extern keyword for c89 semantics via gnu_inline in clang for odr.
2019-06-24 01:33:41 -07:00
Jason Volk
83dd5581be
ircd: Ⓜ️ Workaround comparison operator resolution and others for clang.
2019-06-24 02:22:55 -06:00
Jason Volk
9d48215aaa
ircd: Explicit instance_list destructor template instantiations for clang.
2019-06-24 01:33:00 -06:00
Jason Volk
37760fe251
ircd: Ⓜ️ :keys: Improve key query and cache loop.
2019-06-23 16:27:37 -07:00
Jason Volk
c2f86a8094
ircd: Ⓜ️ :keys: Distill out expiration test from verification test.
2019-06-23 16:22:15 -07:00
Jason Volk
fcbd31f672
ircd: Ⓜ️ :keys: Add an iteration over node's cached keys.
2019-06-23 15:50:02 -07:00
Jason Volk
cf3b1218c4
ircd: Misc fixes for clang.
2019-06-23 16:22:06 -06:00
Jason Volk
2e7f272570
ircd: Add plain string terminate.
2019-06-23 16:16:39 -06:00
Jason Volk
82a7d736d1
ircd::fs::path: Use scoped enum for fs::path::base paths.
2019-06-23 07:37:23 -06:00
Jason Volk
f85398392f
ircd: Tentative fix assert macro missing on clang.
2019-06-23 07:37:23 -06:00
Jason Volk
805f2c1184
ircd: Ⓜ️ :user: Tentative fixes for clang rejection of std::string_view::size() constexprness.
2019-06-23 07:37:23 -06:00
Jason Volk
5bf62fc33f
ircd: Degrade enum addressing for clang.
2019-06-23 07:37:23 -06:00
Jason Volk
fa7b708e03
ircd::util: Fix inline namespace reopening for clang.
2019-06-23 07:37:23 -06:00
Jason Volk
ab32ef76d7
ircd::ctx::this_ctx: Fix inline namespace reopening for clang.
2019-06-23 07:37:23 -06:00
Jason Volk
801f0d57b7
ircd: Fix attributes for clang.
2019-06-23 07:37:23 -06:00
Jason Volk
e4a5a755d0
ircd::base: Fix lack of constexpr ceil().
2019-06-23 01:27:49 -06:00
Jason Volk
35cff6c498
include/ircd: Handle *.gch.tmp files from clang.
2019-06-23 01:27:49 -06:00
Jason Volk
53ea7b8658
ircd: Ⓜ️ :feds: Add send operation to feds suite.
...
modules/console: Update console for feds resend.
2019-06-22 20:03:58 -07:00
Jason Volk
a371bc3e1f
ircd: Fix cast-conversion based reference-constructions.
2019-06-22 17:36:42 -06:00
Jason Volk
7aaee4c68d
ircd: Mark recommended noexcept on inline constructors.
2019-06-22 17:36:42 -06:00
Jason Volk
656ef1572e
ircd::buffer::parse_buffer: Remove erroneous cast operator.
2019-06-22 16:58:58 -06:00
Jason Volk
a67f134a6b
ircd: Ⓜ️ Partial migration of m::node to module; modernize legacy extern "C".
2019-06-21 21:02:38 -07:00
Jason Volk
4093dc2f85
ircd: Ⓜ️ :self::init: Fix keys init; prevent libircd as dependency for module.
2019-06-21 20:29:26 -07:00
Jason Volk
d17afdd531
ircd::http2: Start an RFC7540 implementation.
2019-06-21 16:54:22 -07:00
Jason Volk
b7023a6dc7
ircd: Ⓜ️ Reorg keys related interfaces and init.
2019-06-21 16:41:43 -07:00
Jason Volk
133b2605c6
ircd: Ⓜ️ :dbs: Generalize the reflection for M_RELATES event_refs related.
2019-06-21 16:32:15 -07:00
Jason Volk
9cf64712d9
ircd::json::iov: Fix declarations.
2019-06-21 04:31:38 -07:00
Jason Volk
f6067edcdf
ircd::ctx::async: Fix template default param using runtime extern.
2019-06-21 03:41:13 -07:00
Jason Volk
26efac134e
ircd::json: Fix out-of-line definition return type.
2019-06-21 03:41:13 -07:00
Jason Volk
5c8e590219
ircd: Fix default arguments in exception macros for clang.
2019-06-21 03:41:13 -07:00
Jason Volk
95e0ff3bbc
ircd::buffer: Use __builtin_unreachable() for clang.
2019-06-21 04:36:53 -06:00
Jason Volk
a5a267dcd5
ircd::byte_view: Rearrange class definition order for clang.
2019-06-21 04:36:53 -06:00
Jason Volk
a8ebcbcbe0
ircd::allocator: Fix error.
2019-06-21 04:36:53 -06:00
Jason Volk
75c125e8aa
ircd: Ⓜ️ :rooms: Expose fetcher in interface; internal cleanup.
2019-06-17 23:05:31 -07:00
Jason Volk
f24c7c2e82
ircd: Ⓜ️ :rooms: Simplify interface.
2019-06-17 16:57:00 -07:00
Jason Volk
4f741960a0
ircd: Ⓜ️ :room::state: Reconnect !present() branch with state::history.
2019-06-16 02:18:04 -07:00
Jason Volk
24ce076c3d
ircd: Ⓜ️ :room::state: Add state::history interface derived from state::space.
2019-06-16 02:17:47 -07:00
Jason Volk
b5a61a7a6b
ircd: Ⓜ️ :room::state::space: Improve interface; fixes.
2019-06-16 01:00:47 -07:00
Jason Volk
493bd85c11
ircd: Ⓜ️ :dbs: Add additional room state space key overload.
2019-06-15 15:20:00 -07:00
Jason Volk
390b8bf2fb
ircd: Ⓜ️ Remove remaining vestiges of m::state.
...
closes #15 .
2019-06-15 14:10:36 -07:00
Jason Volk
c59894a01b
ircd::http:: Add 416 Range Not Satisfiable.
2019-06-15 12:50:53 -07:00
Jason Volk
7666561f02
ircd::http: Parse range-request related headers as primaries.
2019-06-15 12:48:01 -07:00
Jason Volk
864cdd6405
ircd::buffer: Add convenience typedefs for unique/shared buffer common templates.
2019-06-14 14:50:42 -06:00
Jason Volk
22f3c41603
ircd::rfc3986: Add URI decomposition.
2019-06-13 21:44:51 -06:00
Jason Volk
0355391e34
ircd::rfc3986: Complete the URI grammars as specified.
2019-06-13 20:06:05 -06:00
Jason Volk
3d04ed9ad0
configure: Remove the CPPDEFINE for RB_TIME_CONFIGURED.
2019-06-13 15:03:32 -06:00
Jason Volk
9539b21789
ircd::nacl: Improve sodium initialization; various cleanup.
2019-06-13 13:46:57 -06:00
Jason Volk
b78ea359b6
ircd::db: Rename db::index to db::domain; fix userspace.
2019-06-11 12:57:52 -07:00
Jason Volk
a1d76d55cc
ircd::db: Rename prefix.h to prefix_transform.h
2019-06-11 12:47:43 -07:00
Jason Volk
947fd1f4b4
ircd::conf: Add explicit bang operator on bool conf item specialization.
2019-06-07 22:25:16 -07:00
Jason Volk
8e0ac58987
ircd: Ⓜ️ :room: Expose bootstrap to interface.
2019-06-07 04:56:23 -07:00
Jason Volk
5f248f5965
ircd::http: Add cloudflare 521 code.
2019-06-07 00:09:58 -07:00
Jason Volk
5afa11baca
ircd: Ⓜ️ :init: Improve exception propagation and abortive shutdown.
2019-06-06 19:41:48 -07:00
Jason Volk
f1b0ba8648
ircd: Ⓜ️ :dbs: Involve the servername in the database path.
...
Fixes #75 .
2019-06-06 18:47:44 -07:00
Jason Volk
70c6c9ea86
ircd::db: Expose subroutines from db::init.
2019-06-06 18:47:44 -07:00
Jason Volk
32e94931a7
ircd::fs: Add ability to change basepath values at runtime.
2019-06-06 17:38:12 -07:00
Jason Volk
38bfb56661
ircd::fs: Add typedefs for vector_view's used to build paths.
2019-06-06 17:03:02 -07:00
Jason Volk
625a2bcf6f
ircd::vector_view: Add front() and back() convenience accessors.
2019-06-06 17:02:39 -07:00
Jason Volk
160734e3b4
configure: Define HAVE_SODIUM in config.h on pkg found.
2019-06-06 03:54:37 -07:00
Jason Volk
fe41932b1a
ircd: Add #ifdefs around potentially conflicting BSD stringops.
2019-06-06 02:59:57 -07:00
Jason Volk
6d429d5cc4
ircd: Add ulong typedef on FreeBSD.
2019-06-05 23:54:02 -07:00
Jason Volk
c292ec46f2
ircd::fs: Add runtime selection of pwritev(2) and RWF_ features; minor reorg.
2019-06-05 23:25:48 -07:00
Jason Volk
f702520044
ircd: Add infrastructure to handle continuation notification after suspending.
2019-06-05 15:06:16 -07:00
Jason Volk
855a5f5a1e
ircd::info: Get more extended feature bits; various cleanup.
2019-06-05 14:27:36 -07:00
Jason Volk
868d96b89d
ircd: Minor cleanup.
2019-06-05 12:57:10 -07:00
Jason Volk
475ee3867d
ircd: Ⓜ️ :event::horizon: Split the full column iteration into separate function.
2019-06-04 21:21:21 -07:00
Jason Volk
f5df386e1c
ircd: Ⓜ️ :fetch: Add a request count() to interface.
2019-06-04 18:50:17 -07:00
Jason Volk
6bb746a9a0
ircd::openssl: Add conditional LibreSSL versions instance.
2019-06-04 14:01:33 -07:00
Jason Volk
c2e2e998c8
ircd: Add sys/types.h to stdinc; #undef conflicting stdio.h standard defines.
2019-06-04 13:49:33 -07:00
Jason Volk
8a6e9158fe
ircd::mods::ldso: Add a DT_NEEDED iterator.
2019-06-04 03:18:03 -07:00
Jason Volk
29cdca5fbe
ircd::mods::ldso: Add a strtab lookup tool.
2019-06-03 21:13:23 -07:00
Jason Volk
b4e44a0ce1
ircd::mods::ldso: Add getter by name.
2019-06-02 17:05:36 -07:00
Jason Volk
db1b7cf5a3
ircd::mods::ldso: Add more primary interface tools; add semantic version parse.
2019-06-02 15:44:55 -07:00
Jason Volk
b99117465f
ircd::info: Improve toolchain version related; various cleanup.
...
ircd::info: Add clang and SD-6 version identification.
2019-06-02 15:44:55 -07:00
Jason Volk
f2e84a6b0e
ircd::db: Fix compression identification on init.
2019-06-02 01:15:03 -07:00
Jason Volk
1f4b7a0468
ircd::info: Add GNUC version information.
2019-06-01 22:11:30 -07:00
Jason Volk
b570497e75
ircd: Ⓜ️ :vm: Improve aggregated eval loop.
2019-06-01 18:38:07 -07:00
Jason Volk
dd49243224
ircd: Ⓜ️ :event: Add explicit event::id conversion.
2019-06-01 18:31:57 -07:00
Jason Volk
ce425b438d
ircd::net::acceptor: Elide the accepting list for single-accept [revertible].
2019-06-01 17:10:49 -07:00
Jason Volk
dafb8bd42f
ircd::net::acceptor: Track and limit operations based on configuration.
2019-06-01 17:10:49 -07:00
Jason Volk
d7edd1960e
ircd::net::listener: Add some doc comments on the structure.
2019-06-01 15:33:39 -07:00
Jason Volk
a08d5370f8
ircd::net::ipport: Add convenience conversion to ipaddr.
2019-06-01 15:33:39 -07:00
Jason Volk
351f1804c8
Add runtime program option to soften assert behavior.
2019-06-01 02:10:30 -07:00
Jason Volk
9661db89af
ircd: Ⓜ️ :events: Move file dumper to module.
2019-06-01 00:09:03 -07:00
Jason Volk
eb73595c50
ircd: Apply uniform info::versions for all dependency version identification.
2019-05-31 16:15:01 -07:00
Jason Volk
7d4de7ec82
ircd::info::versions: Rename types to ABI and ABI.
...
modules/console: Tweak formatting.
2019-05-31 16:14:53 -07:00
Jason Volk
c2669cda2b
ircd::info::versions: Add convenience access to versions object.
2019-05-31 15:21:30 -07:00
Jason Volk
36fbedec14
ircd::info: Remove tc_version.
2019-05-31 15:00:39 -07:00
Jason Volk
0a225085b3
ircd::info::version: Allow both monotonic and semantic numbers; add string generator ctor.
2019-05-31 14:56:50 -07:00
Jason Volk
3e43a10e6d
ircd::net: Improve loghead(acceptor) and loghead(acceptor_udp) related.
2019-05-31 02:35:22 -07:00
Jason Volk
2e525df668
ircd::net::acceptor: Add ALPN negotiation handler support.
2019-05-31 00:35:46 -07:00
Jason Volk
fceea7b770
ircd::http: Parse the HTTP/1.1 Upgrade header.
2019-05-30 21:48:40 -07:00
Jason Volk
65fcc17148
ircd::info: Add a dynamic version registry system w/ console cmd.
2019-05-30 21:02:18 -07:00
Jason Volk
a651952eda
modules/media/magick: Add composite thumbcropper for matrix.
2019-05-30 06:38:42 -07:00
Jason Volk
3827dde55f
ircd::magick: Add some \briefs on the interface.
2019-05-30 06:38:42 -07:00
Jason Volk
97654606b1
ircd::magick: Add interface for basic scale operation.
2019-05-30 06:13:06 -07:00
Jason Volk
500e3938f6
ircd::magick: Add interface for shave operation.
2019-05-30 06:13:06 -07:00
Jason Volk
c80bc298d0
ircd::magick: Add support for image crop operation.
2019-05-30 06:13:06 -07:00
Jason Volk
d0fc7350df
ircd::magick: Simplify thumbnail interface; no result copy.
2019-05-29 17:21:12 -07:00
Jason Volk
28f86802d2
ircd::mods::ldso: Simplify and extend interface functionality.
2019-05-29 16:09:51 -07:00
Jason Volk
2e14bfe337
ircd::magick: Add a thumbnailer.
2019-05-28 23:38:25 -07:00
Jason Volk
16f6fbc352
ircd::magick: Start a central header; add interface support infrastructure.
2019-05-28 23:24:45 -07:00
Jason Volk
c0e3f0db51
ircd: Add interface for core valgrind hypercalls.
2019-05-28 20:46:40 -07:00
Jason Volk
f94f519271
ircd: Add conditioned debugtrap() utility in assert suite.
...
ircd: Fix some assert header conflicts.
construct: Add TRAP special command handler.
2019-05-28 16:55:41 -07:00
Jason Volk
08fafd44b1
ircd::mods: Add platform-dependent ldso interface.
2019-05-28 15:39:57 -07:00
Jason Volk
b403fbc421
ircd: Ⓜ️ :events: Add event type name iteration.
...
ircd:Ⓜ️ :events: Add sender name iteration.
ircd:Ⓜ️ :events: Add origin name iteration.
2019-05-27 16:37:29 -07:00
Jason Volk
5d6cd43518
ircd: Deinline exception::what().
2019-05-27 03:07:59 -07:00
Jason Volk
bab9d9d033
modules/vm: Create a general vm.access hook; move server_acl to module hookfn.
2019-05-26 21:00:54 -07:00
Jason Volk
25dd717b7e
ircd: Ⓜ️ :room::server_acl: Add a noexcept convenience check.
2019-05-26 20:25:15 -07:00
Jason Volk
eec6c40653
ircd: Ⓜ️ Abort the experimental id::node.
2019-05-26 19:13:20 -07:00
Jason Volk
44cf572ee5
ircd::rfc1035: Rename constant.
...
ircd::rfc3986: Add additional convenience constants.
2019-05-26 18:37:40 -07:00
Jason Volk
1354066e3d
modules/m_room_server_acl: Disregard port for comparison; improve docs; ctor.
2019-05-26 18:37:40 -07:00
Jason Volk
8474b891eb
ircd::ctx: Rename function; add overload for total value.
2019-05-26 02:49:24 -07:00
Jason Volk
e88f18d65c
ircd::ctx: Internalize prof::mark() for unconditional event counting.
2019-05-26 02:49:24 -07:00
Jason Volk
e038ebfaf1
ircd: Ⓜ️ :room: Remove stale comments.
...
modules/vm: Minor cleanup.
2019-05-26 02:49:24 -07:00
Jason Volk
6baff99607
modules/m_room_server_acl: Optimize implementation IO.
2019-05-25 23:08:17 -07:00
Jason Volk
a44e491054
ircd: Ⓜ️ :room: Add server_acl interface and protocol module.
2019-05-25 20:12:41 -07:00
Jason Volk
8aa67ccb48
ircd: Add stringops suite for globular expression matching.
2019-05-25 16:46:51 -07:00
Jason Volk
91ce49d671
ircd::util: Add a weak interface for the test trigger stub.
2019-05-24 18:24:33 -07:00
Jason Volk
7d61473fcf
ircd::util: Update TODO comment.
2019-05-24 18:23:26 -07:00
Jason Volk
d7e1f88921
ircd: Minor remove cruft; internal ircd::main().
2019-05-24 18:15:56 -07:00
Jason Volk
f02a1a2be6
ircd: Ⓜ️ :vm: Relax fetch_prev_any enforcement by default.
2019-05-19 15:22:49 -07:00
Jason Volk
ea14caa95a
ircd: Ⓜ️ :dbs: Update comment for event_refs enum.
2019-05-19 15:11:58 -07:00
Jason Volk
c119c84c2f
ircd: Ⓜ️ :event: Augment event::horizon interface allowing full column iteration.
2019-05-17 02:26:27 -07:00
Jason Volk
5721920957
ircd: Ⓜ️ :event: Start an event::horizon interface around dbs::event_horizon.
2019-05-17 00:07:18 -07:00
Jason Volk
20d3fe1072
ircd::fs: Fix cause of STB_GNU_UNIQUE emission in template function.
2019-05-16 22:54:29 -07:00
Jason Volk
17cbd14d91
ircd::json: Fix cause of STB_GNU_UNIQUE emission after use of at() template.
2019-05-16 22:36:19 -07:00
Jason Volk
f00acd674d
ircd::ios: Add synchronous dispatcher overload suite.
2019-05-15 23:40:52 -07:00
Jason Volk
2b011d80df
ircd: Ⓜ️ :dbs: Make indexers internal.
2019-05-15 21:12:59 -07:00
Jason Volk
a787c51df3
ircd: Explicit visibility for assert() overrides.
2019-05-14 15:11:29 -07:00
Jason Volk
c68fc52672
ircd::ios: Always inline main thread assertions.
2019-05-13 23:42:56 -07:00
Jason Volk
304c6df468
ircd: Ⓜ️ :dbs: Simplify indexers / interface.
2019-05-13 15:25:37 -07:00
Jason Volk
758a266b1b
ircd: Ⓜ️ :dbs: Rename room_space to room_state_space.
2019-05-13 12:37:00 -07:00
Jason Volk
614b9202fc
ircd: Ⓜ️ :room: Add state::space interface w/ console cmd.
2019-05-13 10:30:12 -07:00
Jason Volk
d1425da434
ircd: Ⓜ️ :dbs: Typedef a tuple for room_space key; conditions for truncated key generation.
2019-05-13 10:19:18 -07:00
Jason Volk
e486d8907e
ircd: Ⓜ️ ;dbs: Add _room_space metadata column.
2019-05-11 17:48:35 -07:00
Jason Volk
3293443cb8
ircd: Ⓜ️ :vm: Add dbs::write_opts to vm::opts.
2019-05-11 15:30:40 -07:00
Jason Volk
6fe7329189
ircd: Ⓜ️ :dbs: Rename room_head_refs to room_head_resolve.
2019-05-11 15:30:23 -07:00
Jason Volk
5af3d3a4f2
ircd: Ⓜ️ :dbs: Add column layout key next to includes for quick reference.
2019-05-11 14:56:09 -07:00
Jason Volk
dc1b5f6881
ircd: Ⓜ️ :dbs: Unsplit appendix.h and write_opts.h for better interface in dbs.h
2019-05-11 14:44:08 -07:00
Jason Volk
838ad51b05
ircd: Ⓜ️ :dbs: Make blacklist a write option rather than API call.
2019-05-11 14:44:08 -07:00
Jason Volk
305e02db7c
ircd: Ⓜ️ :dbs: Split into headers by column.
2019-05-11 14:39:16 -07:00
Jason Volk
3ec009bf6d
ircd: Ⓜ️ Rename function.
2019-05-10 00:20:02 -07:00
Jason Volk
c311a69c7b
ircd: Ⓜ️ :room: Add sounding iteration.
2019-05-10 00:06:17 -07:00
Jason Volk
f044b447e2
ircd: Ⓜ️ :dbs: Split event_refs related into file.
2019-05-09 23:20:33 -07:00
Jason Volk
62f1b5a539
ircd: Ⓜ️ :dbs: Rename and document various ref types.
2019-05-09 23:13:16 -07:00
Jason Volk
a331bc2882
ircd: Ⓜ️ :dbs: Add interposing system for transaction self-references.
2019-05-09 21:53:12 -07:00
Jason Volk
61ff45214c
ircd: Ⓜ️ :dbs: Add missing prefix key creation overload.
2019-05-09 21:53:12 -07:00
Jason Volk
6bf50ecb28
ircd::db::txn: Add template value-returning getters.
2019-05-09 21:45:17 -07:00
Jason Volk
d81612a724
ircd: Ⓜ️ Checkpoint blerb rework.
2019-05-09 18:33:02 -07:00
Jason Volk
4d25db8863
ircd::db: Trim comment.
2019-05-09 18:30:50 -07:00
Jason Volk
2d209388c1
ircd: Ⓜ️ :dbs: Add event_horizon resolver.
2019-05-09 16:58:29 -07:00
Jason Volk
96dfcaa122
ircd::db::txn: Minor interface cleanup.
2019-05-09 16:58:29 -07:00
Jason Volk
ed3a7343cf
ircd: Ⓜ️ :dbs: Add the event_horizon column.
2019-05-09 00:02:33 -07:00
Jason Volk
a8a6e1039d
ircd: Ⓜ️ :dbs: Split header into directory.
2019-05-08 21:53:04 -07:00
Jason Volk
e670afbac8
ircd::fs: Return zero rather than propagating exception from write_life getter.
2019-05-08 19:10:36 -07:00
Jason Volk
f97472291e
ircd::prof: Various optimizations.
2019-05-08 05:19:04 -07:00
Jason Volk
c3b6bba288
ircd::buffer: Always inline fundamental buffer template utils.
2019-05-08 05:19:04 -07:00
Jason Volk
bc82a5a12c
ircd::buffer: Add canary on copy/move.
2019-05-08 05:19:04 -07:00
Jason Volk
41d60ec2f7
ircd::db: Minor move attribute.
2019-05-08 05:19:04 -07:00
Jason Volk
0112d49f62
ircd::prof: Add gadget for instruction profiling of a scope.
2019-05-08 05:19:04 -07:00
Jason Volk
3196bbd26d
ircd::prof: Simplify interface.
2019-05-07 17:28:15 -07:00
Jason Volk
47f496a155
ircd: Ⓜ️ :room::timeline: Checkpoint initial interface.
2019-05-07 16:10:24 -07:00
Jason Volk
180c83634f
ircd: Ⓜ️ :dbs: Reorg write_opts; throw panic on nul event_idx; various.
2019-05-07 16:10:24 -07:00
Jason Volk
9d5f0049cf
ircd: Ⓜ️ :dbs: Reorg the indexer conditions.
2019-05-07 15:14:10 -07:00
Jason Volk
8e90f8de5d
ircd: Ⓜ️ :room::state: Add convenience to check if state event.
2019-05-06 20:47:12 -07:00
Jason Volk
6c43a47d87
ircd: Ⓜ️ :room::messages: Add event_idx convenience conversion.
2019-05-06 14:36:49 -07:00
Jason Volk
afa475eb18
ircd::ios: Add front for asio notify_fork().
2019-05-06 13:48:49 -07:00
Jason Volk
7ef4b9f836
include/ircd: Add header file installer.
2019-05-06 13:18:51 -07:00
Jason Volk
3ea091712e
include/ircd: Add header deps to pch targets.
2019-05-06 13:07:05 -07:00
Jason Volk
7606996d3b
ircd::mapi: Elide metablock ctor from each module's PLT.
2019-05-06 12:18:06 -07:00
Jason Volk
250b600ead
ircd::resource: Reduce m:: type dependency in request structure.
2019-05-06 11:16:44 -07:00
Jason Volk
4fb5d38319
ircd: Add comment in spirit header.
2019-05-06 10:42:11 -07:00
Jason Volk
77f468b257
ircd: Tweak smalldate fmt.
2019-05-05 20:00:52 -07:00
Jason Volk
1bf17da6d1
ircd::stats: Additional arithmetic/access operators on item.
2019-05-05 19:12:54 -07:00
Jason Volk
688340a8a2
ircd: Ⓜ️ Recombine modules/m_room with ircd/m_room for now.
2019-05-05 18:10:51 -07:00
Jason Volk
134bcc1bfb
ircd::fs: Add write_opts for RWF_WRITE_LIFE_* support.
2019-05-05 17:48:02 -07:00
Jason Volk
861df761fe
ircd::fs: Add runtime support indicators for write_life related features.
2019-05-05 17:46:50 -07:00
Jason Volk
82200a9abd
ircd::fs: Add write_life hint fcntl front.
2019-05-03 19:53:05 -07:00
Jason Volk
4aef8cfdf8
ircd::net::socket: Deinline the read/write member template suites.
2019-05-03 16:29:56 -07:00
Jason Volk
e2136a3157
ircd::net::dns: Minor cleanup.
2019-05-03 16:09:57 -07:00
Jason Volk
d9812f3e86
ircd::fs: Add an evict() front to cache interface; add preconditions.
2019-05-03 05:52:12 -07:00
Jason Volk
d544c37d3d
ircd::fs: Abstract the posix_fadvise wrapping.
2019-05-03 03:33:45 -07:00
Jason Volk
d74985d3f9
ircd: Ⓜ️ Move event.h/room.h headers into their dirs.
2019-05-02 21:43:27 -07:00
Jason Volk
a464523c00
ircd::mapi: Cleanup macros for potential deepbind strategy.
2019-05-02 21:42:34 -07:00
Jason Volk
7d6bcd1bd0
ircd: Add visibility pragma in stdinc.h
2019-05-02 16:45:27 -07:00
Jason Volk
04e5e44c98
ircd: Ⓜ️ :event: Use direct reference initialization for constexprs here.
2019-05-02 15:35:26 -07:00
Jason Volk
ab61b38ad0
ircd::server: 🔗 Add noexcept on handlers.
2019-05-02 15:35:26 -07:00
Jason Volk
1a266a0651
ircd::mapi: Change header symbol name, visibility; use macro for declaration.
2019-05-02 15:35:26 -07:00
Jason Volk
77a92a1874
modules/s_keys: Reorg free functions into namespace; various cleanup.
2019-05-01 15:40:17 -07:00
Jason Volk
c45160462c
ircd::mapi: Add default visibility attribute to macro and header.
2019-04-30 15:14:24 -07:00
Jason Volk
a5f26db7ea
modules/s_fetch: Split hook handler into auth and prev related subroutines.
2019-04-30 14:14:08 -07:00
Jason Volk
64770c0214
ircd: Ⓜ️ :event::prev: Add suite to check if prev reference exists; minor cleanup.
2019-04-29 11:06:56 -07:00
Jason Volk
73ea2ff156
ircd: Ⓜ️ :event: Add comment \brief's to prev and refs interfaces.
2019-04-29 10:59:33 -07:00
Jason Volk
17a9763da6
ircd: Ⓜ️ :event::prev: Use size_t indexing rather than uint.
2019-04-29 10:57:43 -07:00
Jason Volk
80fb8699a1
ircd: Ⓜ️ Add a membership string size constant.
2019-04-27 18:32:45 -07:00
Jason Volk
425385265a
ircd: Ⓜ️ :room::origins: Minor reorg for_each.
2019-04-27 18:32:45 -07:00
Jason Volk
0cdbe472d1
ircd::util: Add pretty() convenience to timer.
2019-04-27 15:51:36 -07:00
Jason Volk
10b8e1d08b
ircd: Ⓜ️ :event::fetch: Relax object semantics.
2019-04-26 05:30:21 -07:00
Jason Volk
05306b2ce7
ircd: Ⓜ️ Minor formatting fix; remove stale comment.
2019-04-26 03:23:09 -07:00
Jason Volk
e5563586cf
ircd: Ⓜ️ Additional room sounding tools; improve console cmd.
2019-04-26 01:47:13 -07:00
Jason Volk
486ca09153
ircd: Ⓜ️ Replace is_complete w/ sounding(); console cmd.
2019-04-26 01:35:39 -07:00
Jason Volk
ba797778d6
ircd: Ⓜ️ Provide event_idx for event after gap to closure.
2019-04-26 01:35:38 -07:00
Jason Volk
e3e9322718
ircd: Ⓜ️ Add a room depth gap sounding suite w/ console cmd.
2019-04-26 01:35:16 -07:00
Jason Volk
f26fc85b0a
ircd: Ⓜ️ :error: Add convenience getters for properties.
2019-04-25 23:35:46 -07:00
Jason Volk
67380746b6
ircd::fs: Default write_opts::keep_size to true for fallocate() behavior.
2019-04-25 22:16:13 -07:00
Jason Volk
cfe4807b77
ircd::prof: Add a higher resolution syscall timer.
2019-04-25 21:10:45 -07:00
Jason Volk
30b59f4736
ircd::prof: Reorg; deinline various; add comments.
2019-04-25 21:10:45 -07:00
Jason Volk
e4acdbf772
ircd: Tweak the smalldate() format.
2019-04-25 07:35:18 -07:00
Jason Volk
ad3fedd2e2
ircd::json: Remove explicit type check here.
2019-04-24 20:12:58 -07:00
Jason Volk
541d95f47e
ircd: Ⓜ️ :v1: Add ids_only to event_auth opts.
2019-04-24 17:43:03 -07:00
Jason Volk
693cd317ff
ircd::ctx: Fix the sentinel iterator value for when_any() to last (end) not first.
2019-04-23 18:40:08 -07:00
Jason Volk
28f677eef2
ircd::info: Remove ununused; minor reorg.
2019-04-23 01:30:36 -07:00
Jason Volk
d18711503f
ircd: Ⓜ️ Unsplit event/event.h room/room.h.
2019-04-22 21:38:27 -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
56dd0ed8e7
ircd: Ⓜ️ :vm: Add opts to pass user_id/node_id of evaluator.
2019-04-22 12:25:50 -07:00
Jason Volk
b683f1d436
modules/vm: Assert options; prevent assignment of eval.
2019-04-22 12:23:37 -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
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
fbcd38fa17
ircd::fs: Add a preliminary fincore(1)-like tool.
2019-04-20 19:24:18 -07:00
Jason Volk
2a0b3994f9
ircd: Apply low-memory compile flags to spirit.h.gch.
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
21a62019f2
modules/vm: Simplify error wrapping on propagation.
2019-04-20 15:03:51 -07:00
Jason Volk
db539c6268
ircd::db: Add write-ahead-log recovery callback surface.
2019-04-20 14:30:42 -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
53fed2c4e9
ircd::util: Null the instance_list allocator ptr after use.
2019-04-19 17:42:34 -07:00
Jason Volk
91a7426899
ircd::util: Fix list node allocation related in optimized builds.
2019-04-19 16:35:50 -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
c7a872c67a
ircd: Ⓜ️ 🪝 Add accounting for hook calls; site/hook current call count.
2019-04-18 21:52:33 -07:00
Jason Volk
02b835eb2b
ircd: Ⓜ️ :feds: Add additional options; document options.
2019-04-18 21:23:00 -07:00
Jason Volk
0176dba9a8
ircd: Ⓜ️ :fetch: Consolidate interface; remove unused; reorg.
2019-04-18 19:12:37 -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
12df824cf4
ircd::ctx: Allow lambda transformation of the iterable for when_any()/when_all().
2019-04-18 16:07:24 -07:00
Jason Volk
0edd47d383
ircd: Ⓜ️ :feds: Add vector of operations to API.
2019-04-18 15:26:03 -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
08cd894cd0
ircd: Ⓜ️ :feds: Point to the opts in result struct.
2019-04-18 04:15:13 -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
2726c67ecc
ircd::server: Dedup request/tag move semantics.
2019-04-18 01:10:43 -07:00
Jason Volk
afdf0efbd1
ircd::buffer: Tweak unique_buffer semantics.
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
286aee740b
ircd::buffer: Use c++17 switch here; addl assertions.
2019-04-18 00:08:10 -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
1eaff2e91e
ircd::fs: Runtime binding for pwritev(2)/pwritev2(2) based on kernel version.
2019-04-17 19:19:30 -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
4038973297
ircd::util: Use allocator::node for instance_list instances.
2019-04-16 20:48:00 -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
adfc4d0c70
ircd::ios: Fix overzealous universal construction of handler.
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
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
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
7d021f9430
ircd::server: Rename server_name to server_version.
2019-04-15 15:23:44 -07:00
Jason Volk
307d8bf71c
ircd: Ⓜ️ :fetch: Fix object assignment semantics.
2019-04-15 14:44:58 -07:00
Jason Volk
77b16f32ce
ircd: Ⓜ️ :append: Calculate age based on depth from room head.
...
fixes #55
2019-04-15 14:44:58 -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
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
541dbadf2f
ircd::buffer: Increase restrictions for unique_buffer<>.
2019-04-12 11:34:00 -07:00
Jason Volk
15bd7282c7
ircd::db: Use rvalue refs here.
2019-04-12 09:36:53 -07:00
Jason Volk
2822cd0a8a
ircd: Ⓜ️ :fetch: Add headfill operation.
2019-04-12 05:09:38 -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
06e381ce2b
ircd: Ⓜ️ :feds: Use a misc arg vector of string_view's.
2019-04-12 00:52:29 -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
c9c171ed5b
ircd: Ⓜ️ :feds: Refine the feds preliminary central interface.
2019-04-11 06:27:28 -07:00
Jason Volk
74778bd024
ircd::ios: Add a queued handler counter to stats.
2019-04-10 22:54:13 -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
1209d47fa5
ircd: Ⓜ️ :vm: Add additional vmopts related to fetching.
2019-04-10 22:32:06 -07:00
Jason Volk
049828290f
ircd::server: Fix move semantics for server::in.
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
d8bf5b9fff
ircd::ctx: Add a syscall_usage_warning to suite.
2019-04-10 20:18:50 -07:00
Jason Volk
9f07790b41
ircd::ios: Start an opaque interface; add name().
2019-04-10 20:18:50 -07:00
Jason Volk
565d6e8381
ircd::prof: Add a syscall_timer device.
2019-04-10 20:18:50 -07:00
Jason Volk
b45306a012
ircd::buffer: Additional assertions; simplify unique_buffer operations; minor cleanup.
2019-04-10 20:18:50 -07:00
Jason Volk
cd8b645b91
ircd::util: Stub a TODO for util::closure.
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
37ddf9f8fb
ircd::net: Make various conversions to ipaddr explicit.
2019-04-09 15:54:22 -07:00
Jason Volk
ca7d401144
ircd::buffer: Add remains() to window_buffer interface.
2019-04-08 20:42:37 -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
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
29775f0866
ircd::util: Add hton()/ntoh() in-place swap overloads.
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
d118a0e743
ircd::fs: Add enumerated op codes to identify request types.
2019-04-06 12:13:16 -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
ecf8465d36
ircd::log: Change some widths into consts; various reorg.
2019-04-05 14:38:50 -07:00
Jason Volk
f289bc5095
ircd: Additional system_error translation utils.
2019-04-03 21:05:39 -07:00
Jason Volk
1b0853a9c5
ircd::util: Split custom_ptr; make strong type; pointer conversion.
2019-04-03 17:18:21 -07:00
Jason Volk
8e1dc9f453
ircd::prof: Develop profiling system; implement non-hardware counters.
2019-04-03 15:51:42 -07:00
Jason Volk
b83bc1cb2f
ircd::spirit: Add explicit phoenix actor typedefs for additional argument slots.
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
f7dc5f6146
ircd::fs: Add fd fdno ctor.
2019-03-31 23:57:35 -07:00
Jason Volk
7434a06ec6
ircd::resource: Add conditional method list generator.
2019-03-31 19:15:45 -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
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
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
40b3bdaa89
ircd::ctx::prof: Add uint argument for rdpmc; minor cleanup.
2019-03-31 13:24: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
e0864a1911
ircd::json::stack: Add checkpoint/chase device documentation.
2019-03-30 14:32:51 -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
b6732b5fdf
ircd::fs::aio: Optimize integer sizes of various stats.
2019-03-30 13:02:03 -07:00
Jason Volk
f6f73e87cb
ircd::json: Add strict check overload to type() suite.
2019-03-28 21:01:56 -07:00
Jason Volk
653c0bc3cc
ircd::json: Cleanup members typedefs / construction stack.
2019-03-28 20:15:22 -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
840b3c4b0c
ircd::json::stack: Add method to check for pending eptr.
2019-03-28 15:49:48 -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
cc99bd9adf
mods::mapi: Change the magic number.
2019-03-28 00:48:10 -07:00
Jason Volk
0043cb2af7
modules/s_fetch: Add branch for auth chain fetch/eval on missing room state for event.
2019-03-27 14:09:40 -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
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
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
d5397c599f
ircd::ios: Add asio handler hook framework.
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
08479976ad
ircd::allocator: Add simple callback allocator.
2019-03-27 13:04:12 -07:00
Jason Volk
9dac813278
ircd::allocator: Ensure consistent conversion here.
2019-03-27 13:04:12 -07:00
Jason Volk
939812f6bd
modules/vm: Fix #ifdef RB_DEBUG coverage; minor adjust type.
2019-03-25 20:18:33 -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
1ffa00adbf
ircd: Ⓜ️ :room: Add central interface linkage for room::purge().
2019-03-25 18:04:16 -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
46346f504e
ircd::rfc3986: Reorg grammar stack; add variable valid() tool.
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
8e15e5d09b
ircd::net: Add single-string amalgam construction to ipport.
2019-03-24 19:33:03 -07:00
Jason Volk
fe81c30806
ircd::net: Refactor dual stack integration.
2019-03-24 19:33:03 -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
3c09d62934
modules/s_dns: Various cleanup / reorg of handlers.
2019-03-23 01:04:41 -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
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
a9b098a280
ircd: Start a 128bit conditional typedef section in stdinc.h.
2019-03-21 16:46:04 -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
07b746d633
ircd::ctx: Add scope_notify device.
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
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
d03d2c1944
ircd::net::hostport: Add non-canonicalizing constructor.
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
1ce9ec3f8e
ircd::fs::error: Remove fs::error from the ircd::exception hierarchy.
2019-03-16 18:12:38 -07:00
Jason Volk
5364674801
ircd::exception: Experimental elimination of copy and move semantics.
...
ircd::exception: Virtualize base; minor cleanup.
2019-03-16 17:22:44 -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
89b258c5a7
ircd::fs: Improve fs::prefetch().
2019-03-15 21:36:26 -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
aae00eab7f
ircd: Ⓜ️ :app: Add configuration access interface for appservice.
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
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
a995a14a3b
ircd: Ⓜ️ :user: Split user interfaces into headers.
2019-03-14 13:02:27 -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
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
1f35e9c57e
modules/m_event: Add option to toggle query for txnid; disable query for non-timeline appends.
2019-03-13 17:08:35 -07:00
Jason Volk
9f67a146f4
modules/m_event: Unconditionally supply an age when no event_idx.
2019-03-13 17:08:35 -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
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
cb979d96e7
ircd::net::acceptor: Add callback stack framework for dynamic server name identification.
2019-03-13 13:11:53 -07:00
Jason Volk
641a5546ae
ircd::net: Fix acceptor's inheritance of net::listener::error.
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
d8ee9e9a10
ircd::net: Use more grammars in net::hostport construction.
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
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
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
d474eed948
ircd::conf: Add more elaborate double-fault handling.
2019-03-11 12:53:22 -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
b4fabaf14f
ircd::openssl: Add interface to tweak ecdh / ciphers / curves.
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
7027264ea2
ircd::util::params: Relax class access.
2019-03-10 14:25:10 -07:00
Jason Volk
d58b67bca8
ircd::net: Split headers for UDP and TCP for listener related.
2019-03-10 14:07:56 -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