0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-03 12:28:52 +01:00
Commit graph

987 commits

Author SHA1 Message Date
Jason Volk
46482e61f2 ircd::net: Consistent nesting for null_remote to remote::null. 2017-12-28 15:26:19 -07:00
Jason Volk
bf9db52428 ircd::net: Include a remote::resolved() indicator. 2017-12-28 15:25:57 -07:00
Jason Volk
1bc4b46fbd fixup! configure.ac: Add c++17 header <optional>. 2017-12-28 14:02:24 -07:00
Jason Volk
59bd14e862 ircd:Ⓜ️ Update README. 2017-12-25 21:02:36 -07:00
Jason Volk
3d1a173358 ircd::net: Add extern null_remote. 2017-12-24 21:54:59 -07:00
Jason Volk
e63632c78f ircd::buffer: Ensure default constructions available in all derivatives. 2017-12-24 21:54:59 -07:00
Jason Volk
36142718f6 ircd::http: Massage additional header related into response interface/stack. 2017-12-24 21:54:59 -07:00
Jason Volk
c20a2927d0 ircd: Minor reorg client/resource relationship. 2017-12-24 21:54:59 -07:00
Jason Volk
ae8a8e736a ircd: Comment on ctype(string_view). 2017-12-24 21:54:59 -07:00
Jason Volk
8604819bd5 ircd::buffer: Remove the terminated string copy from this context. 2017-12-24 21:54:59 -07:00
Jason Volk
04ad57965e ircd::ctx: Fix promise move constructions etc. 2017-12-24 21:54:59 -07:00
Jason Volk
abcf2c2c14 ircd::buffer: Add convenience completed() conversion to stream_buffer. 2017-12-24 21:54:59 -07:00
Jason Volk
9f75f80c21 ircd::ctx: Consolidate release sequence in mutex/shared_mutex. 2017-12-24 21:54:59 -07:00
Jason Volk
df38f2c8fa ircd::util: Add reentrancy assertion utility. 2017-12-24 21:54:59 -07:00
Jason Volk
ef6152c0ef ircd: Move openssl.h way down here so it can use json. 2017-12-24 21:54:59 -07:00
Jason Volk
51ebd9c346 ircd::http: Update HTTP send-sides to write to stream_buffer. 2017-12-24 21:54:59 -07:00
Jason Volk
56f4d156af ircd::buffer: Attempt to tighten these buffers templates by specifying buffer. 2017-12-24 21:54:59 -07:00
Jason Volk
18ef10643b ircd::util: Narrow the coverage of the size() -> sizeof(T) template. 2017-12-24 21:54:59 -07:00
Jason Volk
7d863091bb ircd::buffer: Add the stream_buffer. 2017-12-24 21:54:58 -07:00
Jason Volk
40d6b6055b ircd::http: Remove the write_closure from the request parse object. 2017-12-24 21:54:58 -07:00
Jason Volk
f37311a3f1 ircd::util: Add an endian bswap; add more data()/size() participants. 2017-12-24 21:54:58 -07:00
Jason Volk
8d2e098d16 ircd::buffer: Proper exports of templates to compete in ircd::. 2017-12-24 21:54:58 -07:00
Jason Volk
6b57387cc2 ircd::openssl: Add several suites of utils for OpenSSL/X.509/RSA/BIGNUM et al. 2017-12-24 21:54:58 -07:00
Jason Volk
bdf696b91f ircd::fs: Add these string_view overloads.
This is to not force string conversions in callerspace. Right now everything
gets converted to std::string internally but eventually string_view may be
preferable. Either way the overload finds the best behavior for now.
2017-12-24 20:25:40 -07:00
Jason Volk
27721860c2 ircd::fs: Add a file sizing suite. 2017-12-24 20:25:40 -07:00
Jason Volk
fbf07913f7 ircd::ctx: Minor style/format fixes. 2017-12-24 20:25:40 -07:00
Jason Volk
82aa59c5ec ircd::buffer: Reverse convenience utils. 2017-12-24 20:25:40 -07:00
Jason Volk
91ee213c86 ircd::ctx: Add preliminary README. 2017-12-24 20:25:40 -07:00
Jason Volk
e511818e57 ircd: Add some abstract (non json::) tuple related. 2017-12-24 19:26:05 -07:00
Jason Volk
e7036fa79f ircd::util: Add is_specialization_of template utility. 2017-12-13 14:39:41 -07:00
Jason Volk
69d209dad1 ircd: Remove unnecessary fwd decls. 2017-12-13 14:39:41 -07:00
Jason Volk
ada2b4ad17 ircd::http: Minor cleanup/reorg; use c_str() assertion in places. 2017-12-12 14:59:41 -07:00
Jason Volk
80931e4e86 ircd:Ⓜ️ Split m.cc; distribute inits; modules: Checkpoint matrix. 2017-12-12 14:59:40 -07:00
Jason Volk
f931308850 ircd/modules: Update resource / opts construction arguments. 2017-12-12 14:59:40 -07:00
Jason Volk
cea114d41d ircd::json: Use the defined() rather than default ctor / cleanup. 2017-12-12 14:59:40 -07:00
Jason Volk
ff76d3e061 ircd::json: Add key filtering for tuple enumerations. 2017-12-12 14:59:40 -07:00
Jason Volk
0565301560 ircd:Ⓜ️ Remove the is_state mistake. 2017-12-12 14:59:40 -07:00
Jason Volk
2692a22f62 ircd:Ⓜ️ Add an access denied general exception. 2017-12-12 14:59:40 -07:00
Jason Volk
6b287f958c ircd: Add these participating size() and data() overloads for C arrays. 2017-12-12 14:59:40 -07:00
Jason Volk
03dea97bb2 ircd: Add preliminary RFC3986 grammar; move urlencoding there. 2017-12-12 14:59:40 -07:00
Jason Volk
e0f64a7ca2 ircd:Ⓜ️ Transitional improvements to mxid grammars & tools. 2017-12-12 14:59:40 -07:00
Jason Volk
1ddf0f546a ircd: Update various comments / documentation. 2017-12-12 14:59:40 -07:00
Jason Volk
dff9be2df3 ircd: Add a c_str() to string_view which asserts for null termination. 2017-12-12 14:59:40 -07:00
Jason Volk
49b32de864 ircd:Ⓜ️ Update README. 2017-12-12 14:59:40 -07:00
Jason Volk
f3b94d31f5 ircd: Split off tuple.h from util.h 2017-12-12 14:59:39 -07:00
Jason Volk
47a2cddbea Add std::bitset. 2017-12-05 13:42:21 -08:00
Jason Volk
94b5bc75d3 ircd::db: Update README; remove old cruft. 2017-12-03 13:34:42 -08:00
Jason Volk
6027a68105 ircd:Ⓜ️ Formatting/various fixes to README. 2017-12-02 13:14:30 -08:00
Jason Volk
0bd2f896d0 ircd::mods: Add remangling to module system (pre dll::smart_lib); cleanup. 2017-12-02 13:07:55 -08:00
Jason Volk
1a1a50f5f3 Checkpoint reorganization. 2017-11-30 12:30:19 -08:00
Jason Volk
b2a6d4ebab ircd: Add #ifdef around experimental string_view for non-c++17. 2017-11-30 11:27:00 -08:00
Jason Volk
3a057c80a4 ircd: Add preliminary skeleton for cuckoo suite. 2017-11-30 11:23:48 -08:00
Jason Volk
5d53cdab5e ircd:Ⓜ️ Checkpoint matrix. 2017-11-30 11:23:47 -08:00
Jason Volk
96499c0e2a ircd:Ⓜ️ Improve room interface; Improve bootstrap/init related. 2017-11-30 11:23:47 -08:00
Jason Volk
d354991c68 ircd::json: Stub a canonize() function which isn't complete yet. 2017-11-30 11:23:47 -08:00
Jason Volk
14f348f900 ircd:Ⓜ️ Add convenience aliases for event closure. 2017-11-30 11:23:47 -08:00
Jason Volk
4733df3d1b ircd::json: Add more value ctor template specializations. 2017-11-30 11:23:47 -08:00
Jason Volk
a747098b65 ircd::net: listener: Explicit string ctor; no default port to ensure one is specified. 2017-11-30 11:23:47 -08:00
Jason Volk
d1f0667b1e ircd: Add validations of outgoing JSON. 2017-11-30 11:23:47 -08:00
Jason Volk
204371dda0 Move sections from include README to main README; various updates. 2017-11-30 11:23:46 -08:00
Jason Volk
13aff1d7a8 ircd::rfc1459: Move grammars out of includes. 2017-11-30 11:23:46 -08:00
Jason Volk
bcebeb420d ircd: Add interrupt for server dtor. 2017-11-30 11:23:46 -08:00
Jason Volk
97672ccc8f ircd: Preliminary initial conf. 2017-11-30 11:23:46 -08:00
Jason Volk
e5f12e9750 ircd::buffer: Fix assertion for empty buffer. 2017-11-30 11:23:46 -08:00
Jason Volk
0e2fe01426 ircd::json: Add a validator suite. 2017-11-30 11:23:46 -08:00
Jason Volk
ea26fd0016 ircd::fs: Path cleanup. 2017-11-30 11:23:46 -08:00
Jason Volk
ae289de529 ircd::ctx: Improve the pool counters. 2017-11-30 11:23:46 -08:00
Jason Volk
a046a56d0d ircd: Wrap the std::terminate() handler and add some related toys. 2017-11-30 11:23:46 -08:00
Jason Volk
31b778ee0b ircd:Ⓜ️ Improve server keys related functions. 2017-11-30 11:23:46 -08:00
Jason Volk
865ee127c3 ircd:Ⓜ️ Try updating the matrix README. 2017-11-30 11:23:45 -08:00
Jason Volk
926c24ac7d ircd: Update include README. 2017-11-30 11:23:45 -08:00
Jason Volk
532f416a3d ircd: Develop various server. 2017-11-30 11:23:45 -08:00
Jason Volk
5e9a82af86 ircd::json: Add uint64_t ctor to value.
This ctor is actually not supposed to be used, so it gives a
pseudo-narrowing warning. Not having this ctor simply gives a compile error
which makes very little sense to the developer who is simply trying to pass
a commonly used size_t et al.
2017-11-30 11:23:45 -08:00
Jason Volk
b42dffb24c ircd::json: Improve tuple assignment typography. 2017-11-30 11:23:45 -08:00
Jason Volk
7723e45de5 ircd::ctx: Minor commentary. 2017-11-30 11:23:45 -08:00
Jason Volk
f2cfa5eccf ircd::buffer: Add full() and some assertions. 2017-11-30 11:23:45 -08:00
Jason Volk
1b8e93d487 ircd::util: Consolidate a few typographical constexprs here. 2017-11-30 11:23:45 -08:00
Jason Volk
81c3a87ee5 ircd::buffer: Fix bug. 2017-11-30 11:23:45 -08:00
Jason Volk
4793e4906c ircd:Ⓜ️ Checkpoint matrix top-half / modules. 2017-11-30 11:23:44 -08:00
Jason Volk
87c6f91530 ircd::db: Improve column find by name from linear to logn; can still be O(1) with more work. 2017-11-30 11:23:44 -08:00
Jason Volk
0da55e93aa ircd::util: Add powerof2() bithack. 2017-11-30 11:23:44 -08:00
Jason Volk
6937e91fc3 ircd::net: OpenSSL/net interface for peer certificates so m:: can hash/verify. 2017-11-30 11:23:44 -08:00
Jason Volk
08469eb2a0 ircd::net: Tweak net::remote ctor related. 2017-11-30 11:23:44 -08:00
Jason Volk
78e8a3668d ircd::json: Add missing stringify participant; minor cleanup. 2017-11-30 11:23:44 -08:00
Jason Volk
9b5834afd4 ircd::util: Add a count for the params size. 2017-11-30 11:23:44 -08:00
Jason Volk
832529396c ircd: Split up string_view.h. 2017-11-30 11:23:44 -08:00
Jason Volk
c16a6e8baa ircd::ctx: Adjust prof defaults; minor cleanup. 2017-11-30 11:23:43 -08:00
Jason Volk
7599c4bb6e ircd: Maintain data pointer of string_view's through various ops. 2017-11-30 11:23:43 -08:00
Jason Volk
3680ae37f2 ircd::util: Add instance_list pattern utility. 2017-11-30 11:23:43 -08:00
Jason Volk
00ac048e68 ircd: Remove the $() for hashes. This will make for a better $(event_id) device... 2017-11-30 11:23:43 -08:00
Jason Volk
f7ee7ea211 ircd: Allow configurable prime on the bernstein hasher. 2017-11-30 11:23:43 -08:00
Jason Volk
d7136bb393 ircd: Improve and comment on runlevel / client interruption. 2017-11-30 11:23:43 -08:00
Jason Volk
87c9ebdbc3 ircd::json: Fix assign source here. 2017-11-30 11:23:43 -08:00
Jason Volk
99e431c8da ircd::ctx: Further fix and clarify the POST/DETACH leak potential. 2017-11-30 11:23:42 -08:00
Jason Volk
8811bf8a51 ircd: Add ircd::empty(string_view). 2017-11-30 11:23:42 -08:00
Jason Volk
7f97ffdede ircd::json: Add support for parsing a vector of objects (non-standard). 2017-11-30 11:23:42 -08:00
Jason Volk
0820694ea7 ircd: Truncate comment. 2017-11-30 11:23:42 -08:00
Jason Volk
b1acf2cef1 ircd: Minor fixes for g++-7 c++17. 2017-11-30 11:23:42 -08:00
Jason Volk
6572a45d77 ircd::util: Fix this type; should be int. 2017-11-30 11:23:42 -08:00
Jason Volk
ecf5c10547 ircd::util: Add resizebuf() to ostringstream convenience suite. 2017-11-30 11:23:42 -08:00
Jason Volk
2930b93dcb ircd::net: Various net/client/listener bugfixes/cleanup. 2017-11-30 11:23:42 -08:00
Jason Volk
526bfa23e1 ircd:Ⓜ️ Add pretty/pretty_oneline for preferred event viewing; minor event rel. 2017-11-30 11:23:41 -08:00
Jason Volk
45b853c912 ircd::util: Add a convenience wrapper for iostream pubsetbuf. 2017-11-30 11:23:41 -08:00
Jason Volk
93c9935338 ircd::json: Add preliminary tuple iteration with mask of keys. 2017-11-30 11:23:41 -08:00
Jason Volk
55603a3718 ircd:Ⓜ️ Fix ID reconstruction semantics; cleanup. 2017-11-30 11:23:41 -08:00
Jason Volk
4ae58a4f46 ircd::json: Add tuple construction from a different tuple object. 2017-11-30 11:23:41 -08:00
Jason Volk
2ce9b0521f ircd::net: Various fixes / error handling / api. 2017-11-30 11:23:41 -08:00
Jason Volk
f10662fe7d ircd:Ⓜ️ Checkpoint matrix. 2017-11-30 11:23:40 -08:00
Jason Volk
6a024e9e16 ircd: Add preliminary 'server' as a client to *other* servers. 2017-11-30 11:23:40 -08:00
Jason Volk
52641ba47f ircd::net: Add net::remote, suite; update network utils; fixes. 2017-11-30 11:23:40 -08:00
Jason Volk
38023e0d9b ircd::openssl: Introduce openssl namespace for anything related to driving that beast. 2017-11-30 11:23:40 -08:00
Jason Volk
cb8b38b160 ircd: Add typedefs for __int128 to our namespace. 2017-11-30 11:23:40 -08:00
Jason Volk
a22e4917c8 ircd: Add has() stringop because find() != npos is an annoying construct. 2017-11-30 11:23:40 -08:00
Jason Volk
70326ed471 ircd: Add our buffer type as overload to strlcat/strlcpy vintage suite. 2017-11-30 11:23:40 -08:00
Jason Volk
57ae71fe4e ircd::json: Add additional commentary. 2017-11-30 11:23:40 -08:00
Jason Volk
6562efb11e ircd::json: Add 'defaults' construct to iov. 2017-11-30 11:23:40 -08:00
Jason Volk
bc3e4e3fce ircd::util: Fix move support for the unique_iterator. 2017-11-30 11:23:40 -08:00
Jason Volk
92270b74ac ircd::http: Parse a connection header. 2017-11-30 11:23:39 -08:00
Jason Volk
deaea72f9a ircd:Ⓜ️ Update README. 2017-11-30 11:23:39 -08:00
Jason Volk
4ccc610bfe Update README. 2017-11-30 11:23:39 -08:00
Jason Volk
14fea52dcb ircd::net: Add async overloads; various cleanup. 2017-10-19 03:55:24 -07:00
Jason Volk
43e35786ce ircd: Move subsystem 'index header' into subsystem directories. 2017-10-19 01:38:03 -07:00
Jason Volk
0f51c84fb0 ircd::net: Move net into directory. 2017-10-19 01:30:19 -07:00
Jason Volk
df8faae81d ircd::net: Improve some exception specs related to socket. 2017-10-19 01:02:19 -07:00
Jason Volk
c157967559 irct::ctx: Add this basic pool debug. 2017-10-19 00:58:43 -07:00
Jason Volk
0fe97a2ed5 ircd::json: Use a non-pack enable_if template for get(tuple) like at(tuple). 2017-10-17 00:52:17 -07:00
Jason Volk
59e136ff68 ircd::buffer: Default construction for mutable_buffer for now. 2017-10-17 00:50:52 -07:00
Jason Volk
865270f70a ircd::buffer: Complete move construction and assignment for unique_buffer. 2017-10-17 00:50:30 -07:00
Jason Volk
a8b3d08c3a ircd::buffer: Add null()/empty() participation. 2017-10-17 00:50:07 -07:00
Jason Volk
517f1f1548 ircd: Improve vector_view construction. 2017-10-17 00:46:20 -07:00
Jason Volk
cf6c8181a3 fixup! ircd: Add std::chrono lex_cast; cleanup lex_cast buffer argument related. 2017-10-17 00:46:09 -07:00
Jason Volk
ab564961e0 ircd: Wrap call to gettimeofday() with posix exception generator. 2017-10-17 00:43:25 -07:00
Jason Volk
cdcd2e2fb9 ircd: Add std::chrono lex_cast; cleanup lex_cast buffer argument related. 2017-10-17 00:41:51 -07:00
Jason Volk
0be93870ea ircd::log: Address any logger reentrancy; various cleanup. 2017-10-17 00:41:10 -07:00
Jason Volk
5d9a573458 ircd:Ⓜ️ Update error.h with bad signature and json::strung changes. 2017-10-15 22:00:22 -07:00
Jason Volk
211f6da570 ircd:Ⓜ️ Add missing keys.h related. 2017-10-15 21:58:23 -07:00
Jason Volk
761cd1913e ircd:Ⓜ️ Add a txn structure. 2017-10-15 21:57:29 -07:00
Jason Volk
5797e99d81 ircd:Ⓜ️ Improve / cleanup ID related. 2017-10-15 21:54:28 -07:00
Jason Volk
61eb6d34df ircd: Add additional comments / documentation. 2017-10-15 21:40:10 -07:00
Jason Volk
33a35d5244 ircd: Add X-Matrix verification for resources. 2017-10-15 21:30:19 -07:00
Jason Volk
d0a8fc3a86 ircd: Add trunc() stringops utility. 2017-10-15 21:24:35 -07:00
Jason Volk
1b3b07e467 ircd::json: Export of these out to ircd:: with more strength than ADL. 2017-10-15 21:23:22 -07:00
Jason Volk
9bc7587557 ircd::json: Add a preliminary suite of sign()/verify()/hash() for tuple. 2017-10-15 21:22:52 -07:00
Jason Volk
9c875c71a6 ircd::json: Better bool related conversions etc. 2017-10-15 21:21:56 -07:00
Jason Volk
52e2525b30 ircd::json: Fix member construction related. 2017-10-15 21:21:16 -07:00
Jason Volk
ddc0443edb ircd: Fix issues with byte_view conversions. 2017-10-15 21:20:02 -07:00
Jason Volk
a3f7a41650 ircd::json: Rename json::string to json::strung and maintain json::string as intuitive type. 2017-10-15 21:18:42 -07:00
Jason Volk
c5f6a316b0 ircd::ed25519: Add exception hierarchy here; add bad_sig exception. 2017-10-15 21:14:38 -07:00
Jason Volk
0d2430fc32 ircd::db: Add iov append for json::tuple. 2017-10-15 21:13:44 -07:00
Jason Volk
124f7ea12a ircd::ctx: Add utils for getting this_ctxt name and id; truncate default name literal. 2017-10-15 21:12:58 -07:00