0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-10-31 10:58:54 +01:00
Commit graph

1059 commits

Author SHA1 Message Date
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
Jason Volk
18bbf758f3 ircd/modules: Improve path param parsing related; various m:: related. 2017-10-11 20:54:03 -07:00
Jason Volk
1cede9a21f ircd::json: Various fixes/cleanup; debug related. 2017-10-11 20:54:02 -07:00
Jason Volk
bc5be1c6be ircd::json: Improve constexpr-hashed-name related and uniform overloads for non-tuples. 2017-10-11 20:54:02 -07:00
Jason Volk
0ae0172a25 ircd::json: Warn when sampling size() of object and array the wrong way. 2017-10-11 20:54:02 -07:00
Jason Volk
723cd3440b ircd::json: Towards uniform defined(). 2017-10-11 20:54:02 -07:00
Jason Volk
045d38d034 ircd::http: Add authorization; multiple-choices error; improve header proffer; cleanup/reorg. 2017-10-11 20:54:02 -07:00
Jason Volk
908fde12c4 ircd: Add string replace() utils. 2017-10-11 20:54:02 -07:00
Jason Volk
239de5c072 ircd: Add constexpr string_view constructors and literal _sv operator. 2017-10-11 20:54:02 -07:00
Jason Volk
4f0de4915d ircd: Rename tokens_count() to token_count(). 2017-10-11 20:54:02 -07:00
Jason Volk
d3f6ed0320 ircd: Typedef a buf for sha256; improve hash related interface. 2017-10-11 20:54:02 -07:00
Jason Volk
8da4874f2c ircd: Uniform initialization style for these. 2017-10-11 20:54:01 -07:00
Jason Volk
dd80b127b4 ircd::buffer: Fix the closure type so it's not too strict. 2017-10-11 20:54:01 -07:00
Jason Volk
3425659d7f ircd::fs: Add very preliminary aio and ircd init for such. 2017-10-11 20:54:01 -07:00
Jason Volk
9b1e76e242 ircd::util: Add a classic is_zero functor. 2017-10-11 20:54:01 -07:00
Jason Volk
14e5306713 ircd::util: Add uninterruptible_syscall() for use with some POSIX syscalls. 2017-10-11 20:54:01 -07:00
Jason Volk
dffe222a78 ircd: Improve date utils; add date formatted string output; related. 2017-10-11 20:54:01 -07:00
Jason Volk
5936504f3b ircd::ctx: Make promise/future accessible in ircd::. 2017-10-11 20:54:01 -07:00
Jason Volk
b9f13ed2c2 ircd: Remove cruft. 2017-10-11 20:54:01 -07:00
Jason Volk
e3963da007 ircd: Various comments added/modified. 2017-10-11 18:18:20 -07:00
Jason Volk
c44970427a ircd: Minor cleanup. 2017-10-11 18:18:20 -07:00
Jason Volk
2839eb4b50 ircd::log: Make logger threadsafe by injecting other thread's messages into ios. 2017-10-11 18:18:20 -07:00
Jason Volk
eb56befef0 ircd: Improve thread id related; add public functions to post to ios. 2017-10-11 18:18:19 -07:00
Jason Volk
15b67799b3 ircd::json: Add a buffer. 2017-10-11 18:18:19 -07:00
Jason Volk
5c69d3df5a ircd::crh: Improve hash related interface; comments etc. 2017-10-11 18:18:19 -07:00
Jason Volk
deb40ae5c1 ircd::ed25519: Use fixed_buffers. 2017-10-11 18:18:19 -07:00
Jason Volk
51f5045c06 ircd::buffer: Add fixed_buffer with construction closure; minor cleanup. 2017-10-11 18:18:19 -07:00
Jason Volk
d83ea848da ircd: Fix comment. 2017-10-11 18:18:19 -07:00
Jason Volk
d98abc9b17 ircd::log: Add #ifdef's around debug functions and hope for DCE on production builds... 2017-10-11 18:18:18 -07:00
Jason Volk
f32a984722 ircd::json: Add support for tuple indexing by hash; add c++11 literal hasher. 2017-10-11 18:18:18 -07:00
Jason Volk
55a4377d49 ircd: Evade type-punning the iov list node. 2017-10-11 18:18:18 -07:00
Jason Volk
b7f1f04412 ircd: Add $() hash convenience; comments on ircd::crh. 2017-10-11 18:18:18 -07:00
Jason Volk
87771b00ba ircd::fmt: Add bsprintf(): all-in-one printf and buffer. 2017-10-11 18:18:18 -07:00
Jason Volk
6c04739634 ircd::json: Add mutable_buffer print() overload. 2017-10-11 18:18:18 -07:00
Jason Volk
fb498ed2f2 ircd::json: Fix error. 2017-10-11 18:18:18 -07:00
Jason Volk
fccfa03308 ircd: Add mutable_buffer ctor to parse::buffer; cleanup parse related. 2017-10-11 18:18:17 -07:00
Jason Volk
20869309a2 Checkpoint matrix with preliminary federation client and keyserver related. 2017-10-03 04:27:15 -07:00
Jason Volk
3a9696fb6c ircd:Ⓜ️ Add all spec'ed event fields to event tuple. 2017-10-03 04:27:15 -07:00
Jason Volk
5073096335 ircd:Ⓜ️ Improve id construction / validation related. 2017-10-03 04:27:15 -07:00
Jason Volk
0399ddf3e3 ircd: Add stringops for counting starting and ending occurrences. 2017-10-03 04:27:14 -07:00
Jason Volk
8c4925419a ircd: Improve base64 suite. 2017-10-03 04:27:14 -07:00
Jason Volk
c722ff6e71 ircd::json: Better handling and message for assignment failure to tuple. 2017-10-03 04:27:14 -07:00
Jason Volk
67dba9c471 ircd::crh: Fix buffer argument types; cleanup. 2017-10-03 04:27:14 -07:00
Jason Volk
234f7e34d7 ircd::ed25519: Add filesystem related for sk; add seed constructor; various. 2017-10-03 04:27:14 -07:00
Jason Volk
d7406d47cc ircd::db: Better hack handling for not-found integer values. 2017-10-03 04:27:14 -07:00
Jason Volk
4cf197d263 ircd: Add chrono::hours; various cleanup; comments. 2017-10-03 04:27:14 -07:00
Jason Volk
47f3167479 ircd::buffer: Move array constructors down a level. 2017-10-03 04:27:14 -07:00
Jason Volk
4954c90e27 ircd::fs: Improve basic file read/write/append into buffers. 2017-10-03 04:27:14 -07:00
Jason Volk
0eb10c0495 ircd: Add b64encoded_unpadded variant. 2017-10-03 04:27:13 -07:00
Jason Volk
7745082fb0 ircd:Ⓜ️ Add preliminary matrix README. 2017-10-03 04:27:13 -07:00
Jason Volk
cc8a835ab7 ircd::db: Minor cleanup; fix identation. 2017-10-03 04:27:13 -07:00
Jason Volk
0cef42895c ircd::buffer: Patch alignment related on unique_buffer. 2017-10-03 04:27:13 -07:00
Jason Volk
9c712486a1 ircd: Split up lexical.h; comments; cleanup. 2017-10-03 04:27:13 -07:00
Jason Volk
1502b973da ircd: Add ed25519 dsa; reorg sodium related. 2017-10-03 04:27:13 -07:00
Jason Volk
2982166072 ircd:Ⓜ️ ircd::buffer conversions for id::bufs. 2017-10-03 04:27:13 -07:00
Jason Volk
0d71f8013a ircd: Use chrono_literals. 2017-10-03 04:27:12 -07:00
Jason Volk
dd0de82e16 ircd: Add startswith_any() complement to endswith_any(). 2017-10-03 04:27:12 -07:00
Jason Volk
4a6b3f5fcc Add support for libsodium (NaCl) cryptography. 2017-10-03 04:27:10 -07:00
Jason Volk
c91c1e39e8 ircd::buffer: de-template required conversions; cleanup. 2017-10-03 04:26:28 -07:00
Jason Volk
a901256bcc ircd: rename for brevity. 2017-10-03 04:17:11 -07:00
Jason Volk
19451ab914 ircd::ctx: shared_mutex; peek / view / shared_view; fixes. 2017-10-03 04:17:10 -07:00
Jason Volk
eeceba51b8 ircd::buffer: Add some doc; fixes. 2017-10-03 04:17:10 -07:00
Jason Volk
84d7746165 ircd: Add net; various asio related. 2017-10-03 04:17:10 -07:00
Jason Volk
aeef1aeef5 ircd: Add an adl's size(string_view). 2017-10-03 04:17:10 -07:00
Jason Volk
a46bba20a5 ircd: Fix date/time related. 2017-10-03 04:17:10 -07:00
Jason Volk
b9d657924d ircd::http: Various fixes; add urldecode; chunked encoding content. 2017-10-03 04:17:10 -07:00
Jason Volk
71e92e9f47 ircd::buffer: Improve interface / conversions / type decls. 2017-10-03 04:17:09 -07:00
Jason Volk
d0fe0218f4 ircd::fmt: mutable_buffer overloads for *snprintf(). 2017-10-03 04:17:09 -07:00
Jason Volk
6558af5639 ircd: Improve vector_view construction; cleanup. 2017-10-03 04:17:09 -07:00
Jason Volk
90f9c0e39d ircd::util: Add an unlock_guard. 2017-10-03 04:17:09 -07:00
Jason Volk
ade7a138c4 ircd::db: Simplify the db::row using vector_view<cell>. 2017-10-03 04:17:09 -07:00
Jason Volk
c47be3008a ircd::ctx: Add a shared_mutex. 2017-10-03 04:17:09 -07:00
Jason Volk
4090b80d60 ircd::json: Add missing serialized() participants. 2017-10-03 04:17:09 -07:00
Jason Volk
688f31afd3 ircd::buffer: Fix constness. 2017-10-03 04:17:09 -07:00
Jason Volk
f2264b02e6 ircd::http: Preliminary support for chunked encoding; improve header args. 2017-10-03 04:17:09 -07:00
Jason Volk
5d7eee1937 ircd:Ⓜ️ Simplify the event query interface by making more internal decisions from query data. 2017-10-03 04:17:08 -07:00
Jason Volk
c4a6addd5a ircd::ctx: Add critical_assertion debugging tool. 2017-10-03 04:17:08 -07:00
Jason Volk
3649843950 ircd::json: Add conditional transform to tuple during serialization. 2017-10-03 04:17:08 -07:00
Jason Volk
9e2910aa1f ircd: Attempt to add these hacks to string_view. 2017-10-03 04:17:08 -07:00
Jason Volk
dc1281a17c ircd::db: Fix iov related. 2017-10-03 04:17:08 -07:00
Jason Volk
f8d6e2dddc ircd::db: Update docs. 2017-10-03 04:17:08 -07:00
Jason Volk
dacff8eb9f ircd::db: Rename where to query. 2017-10-03 04:17:08 -07:00
Jason Volk
8ceafd4281 Update README. 2017-10-03 04:17:08 -07:00
Jason Volk
016ff64dbb ircd:Ⓜ️ Preliminary efficient membership query object. 2017-10-03 04:17:08 -07:00
Jason Volk
ec18d81d56 ircd::db: These can be public. 2017-10-03 04:17:07 -07:00
Jason Volk
92a8d8e2bf ircd:Ⓜ️ Improve interfaces; Add prelim sync loop; Add send resource handler. 2017-10-03 04:17:07 -07:00
Jason Volk
b2f7e360a1 ircd::db: Allow empty query to index through cursor. 2017-10-03 04:17:07 -07:00
Jason Volk
b309793ed0 ircd::ctx: Add some docs; minor cleanup. 2017-10-03 04:17:07 -07:00
Jason Volk
95f67312cf ircd: This exception is already named in the boost what() string. 2017-10-03 04:17:07 -07:00
Jason Volk
816b5125b2 ircd: Improve/cleanup ircd::init()/ircd::stop() related. 2017-10-03 04:17:07 -07:00
Jason Volk
e69cb9c2e9 ircd::json: Assume this conversion to match the byte_view<string_view> specialization. 2017-09-24 23:52:48 -07:00
Jason Volk
d4508e157f ircd:Ⓜ️ Deduplicate user related in m::user. Update various resource related. 2017-09-24 20:48:53 -07:00
Jason Volk
ca1f5bbbe5 ircd:Ⓜ️ Fix some id constructor behavior. 2017-09-24 20:48:53 -07:00
Jason Volk
c032c686f6 Checkpoint matrix application basis. 2017-09-24 18:16:45 -07:00
Jason Volk
50eda73d7d ircd::db: Consistent row validity tests for cursor. 2017-09-24 18:16:45 -07:00
Jason Volk
f060bd4fc5 ircd: Support resource response json::value for array/object values; cleanup. 2017-09-24 18:16:45 -07:00
Jason Volk
fd53e5589a ircd: Add non-standard explicit bool operator to string_view. 2017-09-24 18:16:45 -07:00
Jason Volk
95657d96de ircd: Fix semantics. 2017-09-24 18:16:44 -07:00
Jason Volk
2c07ed673a ircd::fmt: Add snstringf() suite. 2017-09-24 18:16:44 -07:00
Jason Volk
a65a033c3b ircd::db: Add reverse long int comparator; fix reverse string comparator; cleanup. 2017-09-24 18:16:44 -07:00
Jason Volk
f4682522a8 ircd::util: Rename stopped overload to nostart. 2017-09-24 18:16:44 -07:00
Jason Volk
0b1c37c585 ircd::db: Fix reverse iteration; cleanup seek; add ORDERED flag (prelim). 2017-09-24 18:16:44 -07:00
Jason Volk
7f7ef9a4bf ircd: Add client request timer related. 2017-09-24 18:16:44 -07:00
Jason Volk
befb76a9d9 ircd::util: Improve timer. 2017-09-24 18:16:44 -07:00
Jason Volk
c138c53449 ircd::db: Log snapshot sequence numbers. 2017-09-24 18:16:44 -07:00
Jason Volk
061e1fa485 ircd::util: timer; add this. 2017-09-24 18:16:44 -07:00
Jason Volk
1a35514653 ircd::db: Fixes for reverse iteration. 2017-09-24 18:16:43 -07:00
Jason Volk
703121f867 ircd::db: Add reverse string_view comparator. 2017-09-24 18:16:43 -07:00
Jason Volk
08a3ccc7ff ircd: Cleanup vintage string suite. 2017-09-24 18:16:43 -07:00
Jason Volk
7eaffc3188 ircd:Ⓜ️ Fix subobject linkage. 2017-09-24 18:16:43 -07:00
Jason Volk
798f87cac9 ircd::buffer: Minor cleanup. 2017-09-24 18:16:43 -07:00
Jason Volk
b29224aa3a ircd::db: Cleanup comparator related. 2017-09-24 18:16:43 -07:00
Jason Volk
57bcae7a32 ircd: Update notes. 2017-09-24 18:16:42 -07:00
Jason Volk
b2bf6116b8 ircd::buffer: Improve conversion hierarchy. 2017-09-24 18:16:42 -07:00
Jason Volk
c87934cd4d ircd::crh: Support SHA256. 2017-09-24 18:16:42 -07:00
Jason Volk
4b17211a04 ircd::buffer: Add raw_buffer for binary data; lexical: simplify a2u/b64 related. 2017-09-24 18:16:42 -07:00
Jason Volk
d7def063b6 ircd: Add tools for binary/hex/b64 conversions. 2017-09-24 18:16:42 -07:00
Jason Volk
ed59ef6e8e ircd::buffer: Add array operators. 2017-09-24 18:16:41 -07:00
Jason Volk
9acdb31349 ircd::util: Move these macros up the file out of obscurity. 2017-09-24 18:16:41 -07:00
Jason Volk
b207b9e909 ircd: Rename ircd::scope to ircd::unwind. 2017-09-24 18:16:41 -07:00
Jason Volk
b7e1b3cf43 ircd: Split off hash.h from util.h; reorder stdinc headers. 2017-09-24 18:16:41 -07:00
Jason Volk
56074325a1 ircd::db: Use extern const comparators and expose them in headers. 2017-09-24 18:16:41 -07:00
Jason Volk
69eab27209 ircd::db: Complete reverse iterations. 2017-09-24 18:16:41 -07:00
Jason Volk
34be7b1d77 ircd::util: Add enum-flag accumulator util. 2017-09-24 18:16:41 -07:00
Jason Volk
dae391a578 ircd::db: Refactor opts to not store ilists; cleanup index/column relationship; cleanup where. 2017-09-24 18:16:41 -07:00
Jason Volk
48877a31c8 ircd::json: Add until() with two tuple arguments (for comparisons). 2017-09-24 18:16:40 -07:00
Jason Volk
fc753f7440 ircd::db: Add constant time seek to column in row by index number. 2017-09-24 18:16:40 -07:00
Jason Volk
59f9a51404 ircd::db: Cleanup json::tuple assignment related. 2017-09-24 18:16:40 -07:00
Jason Volk
2dece299c0 ircd: Improve resource request body template. 2017-09-24 18:16:40 -07:00
Jason Volk
234a34086f ircd::db: Improve where semantics. 2017-09-24 18:16:40 -07:00
Jason Volk
15173a1d06 ircd::allocator: Fix namespacing. 2017-09-24 18:16:40 -07:00
Jason Volk
841567bdf8 ircd: Default argument ctor for byte_view. 2017-09-24 18:16:40 -07:00
Jason Volk
46588d0ae8 ircd::db: Public functions to get the descriptor for a column. 2017-09-24 18:16:39 -07:00
Jason Volk
44f3d2cd27 ircd::json: Recursive tuple members. 2017-09-24 18:16:39 -07:00
Jason Volk
7f548cee1c ircd: Make asio header; comments; add special continuation for yielding to asio. 2017-09-24 18:16:39 -07:00
Jason Volk
a9ac3f9956 ircd: Move ircd::mods::demangle() to ircd::demangle(). 2017-09-24 18:16:39 -07:00
Jason Volk
3a56a30d77 ircd: Support char overloads for all tokenizers. 2017-09-24 18:16:38 -07:00
Jason Volk
0d393c58dd ircd::db: Various cleanup / movements. 2017-09-24 18:16:38 -07:00
Jason Volk
b24d36c70d ircd: Update date utils. 2017-09-24 18:16:38 -07:00
Jason Volk
1acd278632 ircd::ctx: Updates; add ctx::view; add preliminary ctx::fault; various reorg. 2017-09-24 18:16:38 -07:00
Jason Volk
4c50b2794f ircd::json: Various fixes/cleanup/conversions. 2017-09-24 18:16:38 -07:00
Jason Volk
38c1d2e195 ircd::json: Complete serialize/stringify for object/object::member. 2017-09-24 18:16:37 -07:00
Jason Volk
676baec73d ircd::db: Better cursor comparison. 2017-09-24 18:16:37 -07:00
Jason Volk
5e137c676f ircd::db: Use vector for descriptors. 2017-09-24 18:16:37 -07:00
Jason Volk
92548464d3 ircd::db: Enumerate all deltas. 2017-09-24 18:16:37 -07:00
Jason Volk
c50461c4c6 ircd::db: Rename txn to iov. 2017-09-24 18:16:37 -07:00
Jason Volk
fb026f58a7 ircd::db: Add features to txn. 2017-09-24 18:16:37 -07:00
Jason Volk
d7e9c9182a ircd::db: Add txn class to compose a transaction in stages. 2017-09-24 18:16:37 -07:00
Jason Volk
b27a2a6423 ircd::db: Support constant-time column lookup by id; various cleanup/fixes. 2017-09-24 18:16:37 -07:00
Jason Volk
e427caf544 ircd: vector_view<> typdef'ing. 2017-09-24 18:16:36 -07:00
Jason Volk
21b6f5d065 ircd::util: Iterator pair. 2017-09-24 18:16:36 -07:00
Jason Volk
5261f9dd25 ircd::db: row cleanup / fixes. 2017-09-24 18:16:36 -07:00
Jason Volk
7d61dc4441 ircd::db: Reflect with string_view. 2017-09-24 18:16:36 -07:00
Jason Volk
276a902a62 ircd::db: Improve valid checking and valid() suite. 2017-09-24 18:16:36 -07:00
Jason Volk
1f8fb24e8d ircd: Update various comments. 2017-09-24 18:16:36 -07:00
Jason Volk
c58836ed56 ircd::db: Move set() for json::tuple; check for undefined. 2017-09-24 18:16:36 -07:00
Jason Volk
65802d3e47 ircd::resource: Cleanup JSON iov related; Add exception handlers. 2017-09-24 18:16:36 -07:00
Jason Volk
ceb172a958 ircd::string_view: Add glue constructor and resize(). 2017-09-24 18:16:36 -07:00
Jason Volk
8efa3ca438 ircd: Add surrounds() lexical util. 2017-09-24 18:16:36 -07:00
Jason Volk
e71d650d83 ircd::buffer: Add member iterator concept. 2017-09-24 18:16:36 -07:00
Jason Volk
296fd9183b ircd::util: Add ctype() template for testing string ranges. 2017-09-24 18:16:35 -07:00
Jason Volk
ccbd507c35 ircd::db: Fix issues with cell. 2017-09-24 18:16:35 -07:00
Jason Volk
eaca7429b6 ircd::json: Simplify grammar / various cleanup. 2017-09-24 18:16:35 -07:00
Jason Volk
0a9d7e2ec8 ircd::buffer: Add comment / fix error / minor cleanup. 2017-09-24 18:16:35 -07:00
Jason Volk
04e83c6b90 ircd::buffer: Add copy() overloads. 2017-09-24 18:16:35 -07:00
Jason Volk
8e9a25aa96 ircd::db: Default init invalid row values. 2017-09-24 18:16:35 -07:00
Jason Volk
d3feb23a25 ircd: Add resource response json::iov related conversions for members lists. 2017-09-24 18:16:35 -07:00
Jason Volk
12c7999172 ircd::db: Include a difference_type for distance. 2017-09-24 18:16:35 -07:00
Jason Volk
79cb0b0fd3 ircd::db: Move items out of delta.h 2017-09-24 18:16:35 -07:00
Jason Volk
ca9ea5ac0c ircd::db: Simplify/fix seek(row). 2017-09-24 18:16:34 -07:00
Jason Volk
b9f6871f1b ircd: Add string_view strlcat(). 2017-09-24 18:16:34 -07:00
Jason Volk
6aacf73dfa ircd: Remove the tokens container. 2017-09-24 18:16:34 -07:00
Jason Volk
6503d28006 ircd: Simplify this service stack for now. 2017-09-24 18:16:34 -07:00
Jason Volk
6a5159499f ircd::json: Use ircd::iov for json::iov. 2017-09-24 18:16:34 -07:00
Jason Volk
f8fc03e57b ircd::json: Improve value semantics and various fixes. 2017-09-24 18:16:34 -07:00
Jason Volk
6c9ad5e513 ircd::db: Remove cruft. 2017-09-24 18:16:34 -07:00
Jason Volk
a0aeb2de2d configure.ac/Makefile: Add debug conditionals. 2017-09-24 18:16:34 -07:00
Jason Volk
6fb3b44c05 ircd::iov: Support default construction and nullification. 2017-09-24 18:16:34 -07:00
Jason Volk
54d6793f59 Update various documentation and comments. 2017-09-24 18:16:33 -07:00
Jason Volk
7cc4ed56ab ircd: Support both iov and ilist for socket and buffer related. 2017-09-24 18:16:33 -07:00
Jason Volk
6f29784573 ircd: Fix json::member alias. 2017-09-24 18:16:33 -07:00
Jason Volk
f2bbd9b23e ircd::buffer: Add missing default constructor for const_buffer. 2017-09-24 18:16:33 -07:00
Jason Volk
2ee4d67b68 ircd: Add iov. 2017-09-24 18:16:33 -07:00
Jason Volk
2003a803ce ircd::allocator: Add node allocator / reorg fixed/dynamic. 2017-09-24 18:16:33 -07:00
Jason Volk
583432d35b ircd::mods: Add template to demangle by type. 2017-09-24 18:16:33 -07:00
Jason Volk
aa6cd82fbc ircd::db: Rename file tuple.h to json.h 2017-09-24 18:16:33 -07:00
Jason Volk
8ad134c565 ircd::json: Rename builder to iov. 2017-09-24 18:16:33 -07:00
Jason Volk
c3a88edeee ircd: Split string_view out of util::. 2017-09-24 18:16:33 -07:00
Jason Volk
6cd58b0d6a ircd: Update various comments / minor cleanup. 2017-09-24 18:16:32 -07:00
Jason Volk
e95fe7fbd9 ircd::json: Improve tuple/builder related. 2017-09-24 18:16:32 -07:00
Jason Volk
db748cae81 ircd::resource: Accept json::member for response for now. 2017-09-24 18:16:32 -07:00
Jason Volk
dd12f013cf ircd::buffer: Proper reference types for buffer / array ctor / cleanup. 2017-09-24 18:16:32 -07:00
Jason Volk
147a49a86c ircd::json: Improve stringification interface et al. 2017-09-08 07:47:07 -07:00
Jason Volk
77ba8696d9 ircd::json: Commentary / minor cleanup. 2017-09-08 03:47:53 -07:00
Jason Volk
ace878b887 ircd::json: Rename tuple member to property. 2017-09-08 03:47:53 -07:00
Jason Volk
b715b99b0c ircd::json: Upgrade index::member to json::member. 2017-09-08 03:47:53 -07:00
Jason Volk
1a59218bad ircd::json: Add builder. 2017-09-08 03:47:53 -07:00
Jason Volk
85b699c286 Various makefile cleanup. 2017-09-08 03:47:53 -07:00
Jason Volk
1cea631f60 ircd::m modules: Matrix reinterface checkpoint. 2017-09-08 03:47:53 -07:00
Jason Volk
a89a8dfa5f ircd::db: Add preliminary cursor and where clause query. 2017-09-08 03:47:52 -07:00
Jason Volk
d219858e73 ircd::db: Improve commitment stack. 2017-09-08 03:47:52 -07:00
Jason Volk
3ef01bad59 ircd::db: Move enum pos so the definition is available. 2017-09-08 03:47:52 -07:00
Jason Volk
5f25d90fd2 ircd::db: Add index interface. 2017-09-08 03:47:52 -07:00
Jason Volk
0ffaa0d3d6 ircd::db: Add preliminary tuple specific interface. 2017-09-08 03:47:52 -07:00
Jason Volk
4a24b57035 ircd: Add string_view modern overloads to classic BSD strl*() iface. 2017-09-08 03:47:51 -07:00
Jason Volk
0c145d0fbd ircd::util: Add complement to std::for_each with our ircd::until(). 2017-09-08 03:47:51 -07:00
Jason Volk
481eff3baa ircd::util: Rename binary_view to byte_view. 2017-09-08 03:47:51 -07:00
Jason Volk
e7650334dc ircd::util: Move operator!() functions / minor cleanup. 2017-09-08 03:47:51 -07:00
Jason Volk
4eeb1c093d ircd::http: Proper exception when parse buffer is too small. 2017-09-08 03:47:51 -07:00
Jason Volk
c627095f51 ircd: Add date.h header for date and time utilities. 2017-09-08 03:47:51 -07:00
Jason Volk
b829c5d7ba ircd::json: Extend interface with some hackses for now but this has to be revisited eventually. 2017-09-08 03:47:51 -07:00
Jason Volk
d99b927c4a ircd::db: Allow empty delta value with default argument param. 2017-09-08 03:47:51 -07:00
Jason Volk
1e7c0daed2 ircd::db: Improve opts, snapshot, and conversions for column::iterator. 2017-09-08 03:47:51 -07:00
Jason Volk
5eaae24559 m: Improve error/exception. 2017-09-08 03:47:50 -07:00
Jason Volk
96d121c82a m: Improve mxid class 2017-09-08 03:47:50 -07:00
Jason Volk
892ad69f5b ircd::util: Add IRCD_USING_OVERLOAD macro; minor cleanup. 2017-09-08 03:47:50 -07:00
Jason Volk
fd3bb037c7 ircd::json: Add value constructor template to attempt cast to string_view. 2017-09-08 03:47:50 -07:00
Jason Volk
dc78c4743d ircd::util: Simplify. 2017-09-08 03:47:50 -07:00
Jason Volk
f98be1582d ircd::ctx: Expose stack usage functions to user. 2017-09-08 03:47:50 -07:00
Jason Volk
cbdd176819 ircd::db: Remove unnecessary shared_ptr for column instance. 2017-09-08 03:47:50 -07:00
Jason Volk
e46faaf882 ircd::db: Support prefix indexing. 2017-09-08 03:47:50 -07:00
Jason Volk
69917f153f ircd::db: Add json::tuple related and utils to row. 2017-09-08 03:47:50 -07:00
Jason Volk
0ca1ebba61 ircd::db: Fix valid condition bugs and minor cleanup. 2017-09-08 03:47:49 -07:00
Jason Volk
4013c301e5 ircd::util: Add binary_view utility. 2017-09-08 03:47:49 -07:00
Jason Volk
19c5e6c83b ircd::db: Add generalized database delta interface. 2017-09-08 03:47:49 -07:00
Jason Volk
f729fd0917 ircd::db: Expose enum class pos. 2017-09-08 03:47:49 -07:00
Jason Volk
e583c0885d ircd::db: Improve seek() interface suite. 2017-09-08 03:47:49 -07:00
Jason Volk
fa0ad99df6 ircd: Add fixed alignment to dynamic allocator for now. 2017-09-08 03:47:49 -07:00
Jason Volk
62a68d8931 ircd::db: Use pointers in the delta tuple for more flexible semantics. 2017-09-08 03:47:49 -07:00