0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-27 01:02:46 +01:00
Commit graph

1949 commits

Author SHA1 Message Date
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
Jason Volk
81bd73f6f0 ircd::json: Add boolean constructor for literal rep. 2017-09-08 03:47:49 -07:00
Jason Volk
d9a4f06bf6 ircd: Employ namespace scope extensions from c++1z/gnu++14.
This is not a move to c++17. If the compiler happens to have support
for c++17 namespace scope resolution, they have been kind enough to
backport it to gnu++14. This limits our support for really old c++14
compilers, but that was limited anyway. GCC 6.1 and clang 3.6 tested.
2017-09-08 03:47:46 -07:00
Jason Volk
28cf226c3a ircd::mods: Add cxx abi name demangling. 2017-09-08 03:46:43 -07:00
Jason Volk
f7c1e43ae9 ircd::db: Abort the object. 2017-09-08 03:45:09 -07:00
Jason Volk
121670d1a8 ircd::json: Minor comment cleanup. 2017-09-08 03:45:09 -07:00
Jason Volk
7f92c1243c ircd::json: Refactor tuple and settle for extern member name strings. 2017-09-08 03:45:09 -07:00
Jason Volk
bc19a795d8 ircd::json: Rename parse to tuple. 2017-09-08 03:45:09 -07:00
Jason Volk
7bfaa5ec08 ircd::json: Commentary on array. 2017-08-25 15:36:29 -07:00
Jason Volk
e567293dde ircd: Add commentary to life_guard. 2017-08-25 13:21:52 -07:00
Jason Volk
207ac4ef53 ircd: Various improvements to client and socket related. 2017-08-23 15:52:15 -06:00
Jason Volk
2411cc5b9d ircd: Add stdinc.h commentary. 2017-08-23 15:52:15 -06:00
Jason Volk
d9f13ee3f1 fixup! ircd::db: Various improvements to DB subsystem. 2017-08-23 15:52:15 -06:00
Jason Volk
a9f52a70b2 ircd::json: Add commentary; Add path related. 2017-08-23 15:52:15 -06:00
Jason Volk
413d5d22a9 ircd::http: Add minor commentary. 2017-08-23 15:52:15 -06:00
Jason Volk
f1111b2695 fixup! ircd::db: Various improvements to DB subsystem. 2017-08-23 15:52:15 -06:00
Jason Volk
b16dc9598a ircd::util: Add additional array-based constructors to string_view. 2017-08-23 15:52:15 -06:00
Jason Volk
1121d99f18 ircd::util: Fix typo. 2017-08-23 15:52:15 -06:00
Jason Volk
ca608402f5 ircd::db: Various improvements to DB subsystem. 2017-08-23 15:52:15 -06:00
Jason Volk
00b27909a0 ircd: Make client enable_shared_from_this. 2017-08-23 15:52:15 -06:00
Jason Volk
823387da4e fixup! ircd::json: Improve object interface; remove dot traversal. 2017-08-23 15:52:15 -06:00
Jason Volk
74da170996 fixup! ircd::json: Add comment for struct object 2017-08-23 15:52:15 -06:00
Jason Volk
df87d820e1 ircd::json: Improve object interface; remove dot traversal. 2017-08-23 15:52:15 -06:00
Jason Volk
e99b22de6f ircd::json: Add comment for struct object 2017-08-23 15:52:15 -06:00
Jason Volk
9bbe7b8b4d ircd::db: Add schema_error exception; use for bad column names. 2017-08-23 15:52:15 -06:00
Jason Volk
8acd5f5ec9 ircd::util: Add binary_view convenience cast to string_view. 2017-08-23 15:52:15 -06:00
Jason Volk
48148c640c ircd: Add std::random subsystem and utils. 2017-08-23 15:52:15 -06:00
Jason Volk
fa41c1db5f ircd:Ⓜ️ Reorg location of database descriptions. 2017-08-23 15:52:14 -06:00
Jason Volk
88201f4e32 ircd::db: Additional comments and explanations. 2017-08-23 15:52:14 -06:00
Jason Volk
5fe03e5c0a ircd::mods: Add unpostfixed() and postfixed() for module names. 2017-08-23 15:52:14 -06:00
Jason Volk
fe5614387e ircd::listen: Add string options overload. 2017-08-23 15:52:14 -06:00
Jason Volk
6db3c55f74 ircd::fs: Add directory creation. 2017-08-23 15:52:14 -06:00
Jason Volk
7a9f765faa ircd::util: Minor clarifications to va_rtti. 2017-08-23 15:52:14 -06:00
Jason Volk
77a6bc2d51 ircd::util: Simplify unique_iterator related. 2017-08-23 15:52:14 -06:00
Jason Volk
ad611c5aa5 Complete the unique_buffer semantics. 2017-08-23 15:52:14 -06:00
Jason Volk
77900b61af ircd: Remove unnecessary lexical template specialization declaration. 2017-08-23 15:52:14 -06:00
Jason Volk
0149610bb2 ircd: Various matrix library / modules / database development. 2017-08-23 15:51:34 -06:00
Jason Volk
10472684f2 ircd: Cleanup client/ircd main. Fixes for exit notification. 2017-08-23 15:50:37 -06:00
Jason Volk
a32210a64d ircd: Support proper socket disconnect for SSL. 2017-08-23 15:49:33 -06:00
Jason Volk
30d838aec3 fixup! ircd::json/modules: Rename various types. 2017-08-23 15:47:21 -06:00
Jason Volk
a7cb94d042 ircd: Add listener device. 2017-08-23 15:42:53 -06:00
Jason Volk
b5c72c38f0 fixup! fixup! ircd: Remove aborted cruft. 2017-08-23 15:41:20 -06:00
Jason Volk
b0f5020c19 ircd: Cleanup/comment stdinc.h; move init util to util.h 2017-08-23 15:40:33 -06:00
Jason Volk
e09f272592 ircd::db: Improve/comment DB subsystem; Add version identification. 2017-08-23 15:38:51 -06:00
Jason Volk
ec8349bf4f ircd::mods: Add better interface to execute function from imported symbol. 2017-08-23 15:35:11 -06:00
Jason Volk
48045d5b23 fixup! ircd::js: Upgrade SpiderMonkey to esr52 from esr45. 2017-08-23 15:34:55 -06:00
Jason Volk
3610dd9f9b ircd::ctx: Minor fix. 2017-08-23 15:34:22 -06:00
Jason Volk
4fd787d9d5 ircd::json/modules: Rename various types. 2017-08-23 15:32:28 -06:00
Jason Volk
c9e947e66f ircd: Remove aborted cruft. 2017-08-23 15:27:41 -06:00
Jason Volk
4d4a56fe9c ircd::js: Upgrade SpiderMonkey to esr52 from esr45. 2017-08-23 15:25:22 -06:00
Jason Volk
6e44074bad ircd: Various client / listener / main related. 2017-08-23 15:13:57 -06:00
Jason Volk
c1ef99c0cd ircd::conf: Doomed conf related. 2017-08-23 15:12:16 -06:00
Jason Volk
a3117391b5 ircd/modules: Preliminary matrix scaffold. 2017-08-23 15:10:28 -06:00
Jason Volk
30fb1d59d7 ircd: Preliminary resource handler infrastructure. 2017-08-23 15:06:14 -06:00
Jason Volk
2172b39f9e ircd::js: Minor fixes to JS subsystem. 2017-08-23 15:04:45 -06:00
Jason Volk
6dbc9201f1 ircd::json: Add preliminary map and object. 2017-08-23 15:01:58 -06:00
Jason Volk
a880e2e43e ircd::ctx: Add minor commentary. 2017-08-23 14:59:27 -06:00
Jason Volk
7197491364 ircd::util: Add constexpr kronecker delta. 2017-08-23 14:58:21 -06:00
Jason Volk
3d536d26b6 ircd::util: Fixes to constexpr tuple utils. 2017-08-23 14:57:58 -06:00
Jason Volk
9ea5eceb0e ircd::fs: Add function to read file from local filesystem. 2017-08-23 14:56:52 -06:00
Jason Volk
22419a2087 ircd::util: Improve tuple related utils and iterations. 2017-04-07 16:00:18 -07:00
Jason Volk
39ab4d1c68 fixup! ircd::fmt: Cleanup grammar; fixes; support std::exception type to %s. 2017-04-06 18:34:09 -07:00
Jason Volk
5b40a9ad91 ircd: Assurances the full-transfer socket methods do just that. 2017-04-06 17:46:26 -07:00
Jason Volk
8955328479 ircd::util: Add basic STL map transformation functors. 2017-04-06 17:45:50 -07:00
Jason Volk
229a222ff6 fixup! ircd: Add more HTTP status mappings. 2017-04-06 17:08:40 -07:00
Jason Volk
6097e82974 ircd: Add more HTTP status mappings. 2017-04-06 16:54:20 -07:00
Jason Volk
a79d1ab342 ircd::util: Add pop_back()/pop_front() to string_view. 2017-04-04 16:10:29 -07:00
Jason Volk
15d9b638f6 ircd::mods: Better support for std::shared_ptr import between modules. 2017-04-04 16:10:29 -07:00
Jason Volk
760e47247e ircd: QoA on conventional semantics of some lexical functions. 2017-04-04 16:10:29 -07:00
Jason Volk
669c12418a ircd: Add functors for iless/iequals/igreater. 2017-04-04 16:10:29 -07:00
Jason Volk
e43b67d146 ircd::util: Add RAII container for iterators. 2017-04-04 16:10:29 -07:00
Jason Volk
bd772a4452 ircd::buffer: Add std::ostream support. 2017-04-04 16:10:29 -07:00
Jason Volk
ca98521265 fixup! fixup! ircd: Minor cleanup. 2017-04-04 16:10:29 -07:00
Jason Volk
fe90841b8a ircd::mods: Minor cleanup. 2017-04-04 16:10:29 -07:00
Jason Volk
17926e095f ircd::mods: Add workaround for dlclose() recursion issue. 2017-04-04 16:10:29 -07:00
Jason Volk
e7844a0771 ircd::db: Database system developments. 2017-04-04 16:10:29 -07:00
Jason Volk
bcccddbf3f ircd::http: Add query string support; cleanup grammar; minor cleanup. 2017-04-04 16:10:28 -07:00
Jason Volk
cb96d59579 ircd::http: Update status codes. 2017-04-04 16:10:28 -07:00
Jason Volk
673c8ca068 ircd::json: Add val::empty() and full default initialization. 2017-04-02 20:54:35 -07:00
Jason Volk
ff84531ea3 ircd::json: Add get<string_view>() to doc. 2017-04-02 20:53:56 -07:00
Jason Volk
b579d7dfc3 ircd::ctx: Add strand()/notify() with threadsafe_t. 2017-04-02 20:52:30 -07:00
Jason Volk
a89d499557 ircd::ctx: Bring sleep() into ircd:: namespace. 2017-04-02 20:51:47 -07:00
Jason Volk
35587a5c9c ircd: Add another allocator. 2017-04-02 20:50:59 -07:00
Jason Volk
5f70ce28d0 ircd::util: Document string_view::insert(). 2017-04-02 20:50:32 -07:00
Jason Volk
0a1bf7f47f ircd::util: Add iterator pair type. 2017-04-02 20:18:54 -07:00
Jason Volk
a8e6f4fb0a ircd::util: Add vector_view. 2017-04-02 20:18:38 -07:00
Jason Volk
bd383562fd ircd: Fix semantic error. 2017-04-01 18:02:46 -07:00
Jason Volk
a2625b9f4b fixup! ircd::db: Develop object-store out of db system. 2017-03-30 18:18:28 -07:00
Jason Volk
16c1326d40 ircd::db: Develop object-store out of db system. 2017-03-30 16:04:20 -07:00
Jason Volk
2ffab411df ircd::json: Various fixes to JSON subsystem. 2017-03-30 16:04:20 -07:00
Jason Volk
1a4139ffaf ircd::mods: Improve symbol pointer. 2017-03-30 16:04:20 -07:00
Jason Volk
acf948ef8f ircd: Add unquote() for rvalue references to strings (won't copy). 2017-03-30 16:04:20 -07:00
Jason Volk
13862c6f2a ircd: Swap the allocator/allocator::state object for better usability. 2017-03-30 16:04:20 -07:00
Jason Volk
3a31c62681 ircd: Minor cleanup. 2017-03-30 16:04:20 -07:00
Jason Volk
2e7dd1e5ad ircd::fs: Fixes/renames to local filesystem support subsystem. 2017-03-30 16:04:19 -07:00
Jason Volk
c604b391be ircd::ctx: Support direct context switching without enqueueing with ios. 2017-03-30 16:04:19 -07:00
Jason Volk
8ef53f2640 ircd: Move and improve socket listener device. 2017-03-30 16:04:19 -07:00
Jason Volk
ad47435876 ircd: Complete linkage requirements for lex_cast template. 2017-03-30 16:04:19 -07:00
Jason Volk
a366731a4b ircd::db: Support column families. 2017-03-30 16:04:19 -07:00
Jason Volk
3ad1851388 ircd: Additional lexical utils/overloads; increase lex_cast buffers. 2017-03-30 16:04:19 -07:00
Jason Volk
c2ca0637a7 ircd::util: Expand the va_rtti array to 12 elements (192 bytes). 2017-03-30 16:04:19 -07:00
Jason Volk
c8953c038d ircd::util: Add non-const overloads to tuple iterations. 2017-03-30 16:04:19 -07:00
Jason Volk
5a7852a0d4 ircd: Various cleanup. 2017-03-30 16:04:19 -07:00
Jason Volk
1f6d83b5b1 ircd::db: additional support: stats, callbacks and merge operator. 2017-03-30 16:04:18 -07:00
Jason Volk
7ae5785431 ircd::json: Add merge constructor. 2017-03-30 16:04:18 -07:00
Jason Volk
4d2e41970b ircd::json: Add has()/get() to json::doc. 2017-03-30 16:04:18 -07:00
Jason Volk
0d09170507 ircd::db: Leverage the RocksDB WriteBatch with an initializer_list. 2017-03-30 16:04:18 -07:00
Jason Volk
21db4baab3 ircd: Various cleanup. 2017-03-30 16:04:18 -07:00
Jason Volk
6a0e5e4de5 ircd::mods: Add sym_ptr/sym_ref to link symbols with a typed object. 2017-03-20 21:29:29 -07:00
Jason Volk
9ed8716569 fixup! What is the Matrix? Control. 2017-03-20 19:24:18 -07:00
Jason Volk
91cd0327bd ircd::fmt: Remove rfc1459 builtin specifiers; various/cleanup. 2017-03-20 19:20:33 -07:00
Jason Volk
e061f7326f ircd::util: Follow up for_each() with tuple until(). 2017-03-20 19:13:12 -07:00
Jason Volk
fdfefff72e ircd: Various additional commentary. 2017-03-20 18:04:57 -07:00
Jason Volk
99eacb0932 ircd::util: Add tuple for_each iterator. 2017-03-20 18:04:19 -07:00
Jason Volk
7c09e801ef fixup! ircd::lexical: Split params into header. 2017-03-20 04:31:58 -07:00
Jason Volk
1c27e4e4c7 ircd: Add split()/rsplit() char delim overload. 2017-03-20 04:29:57 -07:00
Jason Volk
31904bafc0 fixup! ircd: Add lex_cast wrapper interface; various cleanup. 2017-03-20 04:29:34 -07:00
Jason Volk
3badb2ff90 ircd: JSON subsystem related. 2017-03-20 04:27:11 -07:00
Jason Volk
95a52a4ab7 ircd::util: Add scope::nominal and scope::exceptional constructs. 2017-03-19 23:59:11 -07:00
Jason Volk
50b2942131 ircd::buffer: Add iov serializers. 2017-03-19 23:58:26 -07:00
Jason Volk
24fb856ac4 ircd::lexical: Split params into header. 2017-03-19 23:46:36 -07:00
Jason Volk
f07c677613 ircd: Remove rogue include. 2017-03-19 23:45:58 -07:00
Jason Volk
99a4e523b8 fixup! fixup! fixup! fixup! ircd: Add the va_rtti construct. 2017-03-17 23:30:09 -07:00
Jason Volk
501ff60276 fixup! fixup! fixup! ircd: Add the va_rtti construct. 2017-03-17 23:29:25 -07:00
Jason Volk
52e010174c fixup! ircd: Add lex_cast wrapper interface; various cleanup. 2017-03-17 23:02:43 -07:00
Jason Volk
96ff6c8a4d fixup! fixup! ircd: Add the va_rtti construct. 2017-03-17 22:37:54 -07:00
Jason Volk
3c38aeb96e ircd: Nest this ep initializer for now. 2017-03-17 20:35:00 -07:00
Jason Volk
710d959a63 ircd::json: Cleanup/improve grammar; improve linear array parse (incomplete). 2017-03-17 20:33:47 -07:00
Jason Volk
4b7372c4a8 fixup! ircd: Add labeled-params tokenizer; fix bad lexical cast exception type. 2017-03-17 20:30:55 -07:00
Jason Volk
1016e993e9 ircd: Optimal HTTP status code and content length parsing. 2017-03-17 20:29:27 -07:00
Jason Volk
6a8393ec02 ircd: Add unquote() util for quoted string views. 2017-03-17 20:26:21 -07:00
Jason Volk
8ef0b50131 ircd: Add tokens_after() util. 2017-03-17 20:25:42 -07:00
Jason Volk
a0e7002dde ircd::log: Drop in ircd::fmt. 2017-03-17 20:24:25 -07:00
Jason Volk
fa1c393d7a fixup! ircd: Add the va_rtti construct. 2017-03-17 20:05:36 -07:00
Jason Volk
9c137d7c50 ircd::mapi: Remove linkage of MAGIC value. 2017-03-17 17:46:20 -07:00
Jason Volk
e64ca2827d ircd: Drop in ircd::fmt for stdarg for ircd::exception. 2017-03-17 17:37:40 -07:00
Jason Volk
86804755c8 ircd: Add the va_rtti construct. 2017-03-17 17:36:09 -07:00
Jason Volk
33b5dc21b7 ircd::fmt: Support string_view; updates to the format string system. 2017-03-17 17:00:41 -07:00
Jason Volk
03ee560c13 ircd: Add aggregate spirit header (without pch at this time). 2017-03-16 13:35:37 -07:00
Jason Volk
7ff20d061d ircd::json: Add stronger value typing with runtime visitor switching. 2017-03-16 13:32:42 -07:00
Jason Volk
03cf816bb7 ircd: Add labeled-params tokenizer; fix bad lexical cast exception type. 2017-03-16 13:31:17 -07:00
Jason Volk
c9ddf4f6ab ircd: Add lex_cast wrapper interface; various cleanup. 2017-03-14 15:03:15 -07:00
Jason Volk
55be9a9f6d ircd: Loop the whole input tape before returning to async. 2017-03-13 18:44:08 -07:00
Jason Volk
e849897cc0 ircd::parse: Capstan. 2017-03-13 18:44:08 -07:00
Jason Volk
472ee2c648 ircd: HTTP interface function-objects et al. 2017-03-13 18:44:00 -07:00
Jason Volk
03528ebf67 ircd::parse::buffer: Add basic convenience functions. 2017-03-13 14:43:39 -07:00
Jason Volk
bac30f93d1 ircd::http: Add a few more protocol codes. 2017-03-13 14:43:35 -07:00
Jason Volk
f2ac156e6a ircd::buffer: Functions for a non-const iov to keep xfer state using the iov. 2017-03-13 14:43:35 -07:00
Jason Volk
2147832658 ircd::util: Add scope::uncaught conditioned on std::uncaught_exception(). 2017-03-13 14:43:35 -07:00
Jason Volk
49c2a5361c ircd: Various fixes. 2017-03-13 14:43:27 -07:00
Jason Volk
60ce08d0df ircd::client: http protocol dispatch. 2017-03-10 18:03:10 -08:00
Jason Volk
44ade2612c ircd::socket: Add scope_timeout for timing out synchronous operations. 2017-03-10 17:51:19 -08:00
Jason Volk
b592b69b86 What is the Matrix? Control. 2017-03-10 17:51:18 -08:00
Jason Volk
d90312bf10 ircd::js: Improve exception system flow. 2016-11-27 21:48:24 -08:00
Jason Volk
96ad8aa4cf ircd::js: Add object::clone(); minor object interface cleanup. 2016-11-27 21:46:08 -08:00
Jason Volk
ea4d74de2b ircd::js: Import operator<< from ircd:: to optimize implicit conversions. 2016-11-27 19:05:40 -08:00
Jason Volk
6156d8eb92 ircd::js: Split version functions into file. 2016-11-27 19:02:23 -08:00
Jason Volk
7fd111487d ircd::js: Add a branch in trap::function handler for constructors. 2016-11-25 22:53:31 -08:00
Jason Volk
a149d56afa ircd::js: Swap the flags and arity argument order for trap::function. 2016-11-25 22:52:56 -08:00
Jason Volk
f2340367be ircd::js: Add vector CallArgs related conversions. 2016-11-25 22:52:11 -08:00
Jason Volk
062e013617 ircd::js: GC Weak pointer callback logging stubs. 2016-11-25 19:23:49 -08:00
Jason Volk
a4f55b4627 ircd::mods: Reorganize and distill interface. 2016-11-25 19:23:49 -08:00
Jason Volk
abf1dda3a6 ircd::js: Customize GC; emancipation from template types. 2016-11-25 19:23:49 -08:00
Jason Volk
01d814ea1a ircd::js: Add trap::property; Improve trap construction interface. 2016-11-25 19:23:49 -08:00
Jason Volk
8d92c8a9c4 ircd::js: Improve trap debug formatting. 2016-11-25 19:23:49 -08:00
Jason Volk
1e1b7c8ce9 ircd::js: Workaround SpiderMonkey linkage bug when DEBUG is defined. 2016-11-25 19:23:48 -08:00
Jason Volk
fbbe8e604a ircd::js: Add reflection and decompilation at the task level. 2016-11-25 19:23:48 -08:00
Jason Volk
fb06cd3567 ircd::js: More effective empty string handling in constructions. 2016-11-25 19:23:48 -08:00
Jason Volk
66c28da325 ircd::js: Add bytecodes support to Object. 2016-11-25 19:23:48 -08:00
Jason Volk
4c6e182241 ircd::js: Add script bytecode and compile-test utils. 2016-11-25 19:23:48 -08:00
Jason Volk
6c54215336 ircd::js: Add handler for runtime Preserve Wrapper callback. 2016-11-25 19:23:48 -08:00
Jason Volk
36a7ffba37 ircd::js: Add an overload for hash(string) -> ircd::util::hash(). 2016-11-25 19:23:48 -08:00
Jason Volk
3ec62bba09 ircd::js: Attempt at an ObjectExpression with an initializer list. 2016-11-25 19:23:48 -08:00
Jason Volk
3e8aaf0c13 ircd::js: #define DEBUG internally for JS when RB_DEBUG is also set. 2016-11-25 19:23:48 -08:00
Jason Volk
f2a395b879 ircd::js: Improve for_each(). 2016-11-25 19:23:48 -08:00
Jason Volk
4edfd51106 ircd::js: Various fixes for conversions and root-ordering through calls. 2016-11-25 19:23:48 -08:00
Jason Volk
044259f841 ircd::locale: Add an std::ostream convenience for std::u16string in our ns. 2016-11-25 19:23:48 -08:00
Jason Volk
0e47468e63 ircd::js: Add JSON support. 2016-11-25 19:23:47 -08:00
Jason Volk
3e4a9e58f7 ircd::js: Improve trap function interface. 2016-11-25 19:23:47 -08:00
Jason Volk
88fd6971ec ircd::js: Improve private data slot interface related. 2016-11-25 19:23:47 -08:00
Jason Volk
6aae248357 ircd::js: Fix various debug log messages. 2016-11-25 19:23:47 -08:00
Jason Volk
254f5b921a ircd::js: Fixes to async state related. 2016-11-25 19:23:47 -08:00
Jason Volk
411bed10b1 ircd::js: Fix trap object production / object construction. 2016-11-25 19:23:47 -08:00
Jason Volk
61017f4cdc ircd::js: Add tracing support for GC.
ircd::js: Add template constexprs for jsapi handle types.
2016-11-25 19:23:47 -08:00
Jason Volk
20e62f04df ircd::js: Minor context interface cleanup; prevent task struct address change. 2016-11-25 19:23:47 -08:00
Jason Volk
8554fc858b ircd::log: Add function to logger with facility argument. 2016-11-25 19:23:47 -08:00
Jason Volk
e3f3543d65 ircd::ctx: Zero the interruption flag before the throw to user handler. 2016-11-25 19:23:47 -08:00
Jason Volk
90f81bb871 ircd::js: Return undefined for args::operator[]; bounds check on args::at(). 2016-11-25 19:23:46 -08:00
Jason Volk
a44e6f701f ircd::js: Fix pending exception propagation on interleaving stack. 2016-11-25 19:23:46 -08:00
Jason Volk
c558df48bc ircd: Add convenience templates for shared_from()/weak_from(). 2016-11-25 19:23:46 -08:00
Jason Volk
ae4057b1d5 ircd::js: Use std::string for trap mapping. 2016-11-25 19:23:33 -08:00
Jason Volk
a3c06466fb ircd::js: Add an inefficient std::u16string conversion for string. 2016-11-13 16:34:27 -08:00
Jason Volk
559bc530c8 ircd::js: Improve off-thread compilation error handling. 2016-11-13 16:34:27 -08:00
Jason Volk
c8402577c3 ircd::js: GC related fixes. 2016-11-13 16:34:27 -08:00
Jason Volk
c3e6c52192 ircd::js: Improve private slot access. 2016-11-13 16:34:27 -08:00
Jason Volk
7a99d919d6 ircd::js: Improve reserved data access. 2016-11-13 16:34:27 -08:00
Jason Volk
25a2dd906c ircd::util: Strengthen the strong typedef. 2016-11-13 16:34:27 -08:00
Jason Volk
84383d41d8 ircd::js: Fix unconditional cast of this to object type in trap::on_call handlers. 2016-11-13 16:34:24 -08:00
Jason Volk
fcc654699d ircd::locale: Add char16_t conversion overloads for unterminated strings.
ircd::js: Use sized conversions when calling ircd::locale.
2016-11-13 16:34:06 -08:00
Jason Volk
e6ba493bd3 ircd::js: Improve script compilation exceptions. 2016-11-13 16:34:06 -08:00
Jason Volk
290fa43c43 ircd::util: Add bernstein hash overloads for 16bit chars. 2016-11-13 16:34:06 -08:00
Jason Volk
e3e0d81828 ircd::js: Add string internal-data observer via closure. 2016-11-13 16:34:06 -08:00
Jason Volk
12e11445c3 ircd::js: Add overload to construct prototyped trap object. 2016-11-13 16:34:06 -08:00
Jason Volk
b8f5366f52 ircd::js: Improve trap callback arguments; add this value. 2016-11-13 16:34:00 -08:00
Jason Volk
292b3fc8e8 ircd::js: Get/Set object prototype. 2016-11-13 16:33:25 -08:00
Jason Volk
67d9f11fbc ircd::js: Add constructible-id overload for get()/set()/has()/del(). 2016-11-13 16:33:25 -08:00
Jason Volk
da78598d86 ircd::mapi: Rectify linkage of the header symbol name string. 2016-11-13 16:33:25 -08:00
Jason Volk
0d2d21b49f ircd::js: Add asynchronous/concurrent compilation. 2016-11-13 16:33:24 -08:00
Jason Volk
ee5f48672f ircd::js: Various type and conversion tweaks. 2016-11-13 16:33:24 -08:00
Jason Volk
6cc89f2613 ircd::js: Add uninitialized constructor for cheap object handle creation. 2016-11-13 16:33:24 -08:00
Jason Volk
edd77d2265 ircd::js: Add asynchronous state and completion target mechanism. 2016-11-13 16:33:22 -08:00
Jason Volk
bfb5948191 ircd::js: Allow value copy. 2016-11-13 16:32:42 -08:00
Jason Volk
333b0dca5a ircd::js: Use a script object in the task (more flexible than function). 2016-11-13 16:32:42 -08:00
Jason Volk
f54c4215b4 ircd::ctx: Add queue: amalgam of a standard queue container with a dock. 2016-11-13 16:32:42 -08:00
Jason Volk
b0bc025ced ircd::ctx: Add notify() to dock to rotate the waiters in contrast to notify_one(). 2016-11-13 16:32:42 -08:00
Jason Volk
6f7dde8fdf ircd::js: Quadword value construction. 2016-11-13 16:32:41 -08:00
Jason Volk
0e541cd3a9 ircd::js: get()/set()/has()/del() for array object indexes. 2016-11-13 16:32:41 -08:00
Jason Volk
d5fd794511 ircd::js: Add JSProp flags as arguments for constructing trap. 2016-11-13 16:32:41 -08:00
Jason Volk
f2b59a57dc ircd::js: Variadic arguments for object construction via trap. 2016-11-13 16:32:41 -08:00
Jason Volk
0fbbed7daf ircd::js: Vector construction from Object of array type. 2016-11-13 16:32:41 -08:00
Jason Volk
d2b3bedca6 ircd::js: Task identification (PID) and reference counted management. 2016-11-13 16:32:41 -08:00
Jason Volk
cca79d87fc ircd::js: Assertions for pending exceptions. 2016-11-13 16:32:41 -08:00
Jason Volk
e214d6e40c ircd::js: Remove boolean return type from trap hook for enumeration. 2016-11-13 16:32:41 -08:00
Jason Volk
bf540caead ircd::js: Order arguments to call() more intuitively. 2016-11-13 16:32:41 -08:00
Jason Volk
42f0c6b06b ircd::js: Additional object utils; array-object type support. 2016-11-13 16:32:41 -08:00
Jason Volk
8a3f592753 ircd::js: Add property flag reflection. 2016-11-13 16:32:41 -08:00
Jason Volk
3fcd3d2bb0 ircd::js: Trap find() overload with JSString type. 2016-11-13 16:32:40 -08:00
Jason Volk
5ebd15c983 ircd::js: Persistent string for trap map to be sure. 2016-11-13 16:32:40 -08:00
Jason Volk
64057fc101 ircd::js: Script decompilation; check if function is ctor; interning for string. 2016-11-13 16:32:40 -08:00
Jason Volk
12c1755899 ircd::js: Functions to get current zone; debug callbacks for zone; etc. 2016-11-13 16:32:40 -08:00
Jason Volk
c70ddd5a80 ircd::js: Allow setting the ECMA version for a compartment. 2016-11-13 16:32:40 -08:00
Jason Volk
771907127e ircd::js: Add string tokenizer; fix split; minor cleanup. 2016-11-13 16:32:40 -08:00
Jason Volk
845e81e446 ircd::locale: Move char16_t conversions into namespace. 2016-11-13 16:32:40 -08:00
Jason Volk
cff506e0be ircd::js: Add global/task struct. 2016-11-13 16:32:40 -08:00
Jason Volk
d0ec6497c7 ircd::js: Add object private/reserved getters and setters. 2016-11-13 16:32:40 -08:00
Jason Volk
d5abc39e49 ircd::js: Template the string type passed to overloaded JS::CompileFunction() 2016-11-13 16:32:40 -08:00
Jason Volk
2846f80a8d ircd::js: Make trap tree root thread local near rt/cx. 2016-11-13 16:32:40 -08:00
Jason Volk
e2ae907dfa ircd::util: Improve the timer to start/stop with accumulation. 2016-11-13 16:32:39 -08:00
Jason Volk
5e81c26fdf ircd::js: Add and use calls for current_compartment(). 2016-11-13 16:32:39 -08:00
Jason Volk
639dd7903b ircd::js: Move TLS assignment out of runtime/context (though this doesn't matter). 2016-11-13 16:32:39 -08:00
Jason Volk
96d4bb4775 ircd::js: Add convenience functions to struct args. 2016-11-13 16:32:39 -08:00
Jason Volk
ac14c2a4db ircd::js: Add generator state class. 2016-11-13 16:32:39 -08:00
Jason Volk
3bfb3d3319 ircd::js: Argument forwarding for function call operator. 2016-11-13 16:32:39 -08:00
Jason Volk
b9137fd475 ircd::js: Disambiguate vector<value> initializer list constructor. 2016-11-13 16:32:39 -08:00
Jason Volk
7e18e32ce4 ircd::js: Improve/cleanup exception string generaton related. 2016-11-13 16:32:39 -08:00
Jason Volk
72eb8ff8da ircd::js: Add conversions for JS::Heap<> type to handle types. 2016-11-13 16:32:39 -08:00
Jason Volk
164f650a0f ircd::js: Use JS::Heap<> container for exception value. 2016-11-13 16:32:39 -08:00
Jason Volk
6b5bab0871 ircd::js: Convert all JS type wrappers into templates and typedef on requsted GC.
Templates are now in the namespace basic:: i.e `basic::value<>`
Typedefs are in ircd::js:: matching the original non-template types.

Ex. stack-duration type in template form is: `basic::value<lifetime::stack>`
Ex. stack-duration type in typedef form is `value`
Ex. heap-duration type in template form is: `basic::value<lifetime::heap>`
Ex. heap-duration type in typedef form is: `heap_value`
2016-11-13 16:32:39 -08:00
Jason Volk
7e66df914a ircd::js: Add debug dump() calls from JS_DEBUG ifdef'ed api. 2016-11-13 16:32:39 -08:00
Jason Volk
54c8044ca1 ircd::js: Add trap_function alternative to full object trap. 2016-11-13 16:32:38 -08:00
Jason Volk
56d8e429a2 ircd::js: Add pointer_value() to store external host pointers in JS::Value. 2016-11-13 16:32:38 -08:00
Jason Volk
21e96eaedf ircd::js: id creation constructors and comparison. 2016-11-13 16:32:38 -08:00
Jason Volk
5de2622bd1 ircd::js: Add string literal constructor to prevent any alloc/copy/free. 2016-11-13 16:32:38 -08:00
Jason Volk
fcc9cdee74 ircd::js: Function to get JSFunction arity. 2016-11-13 16:32:38 -08:00
Jason Volk
1dcbfb5c33 ircd::js: Add wide character string constructions. 2016-11-13 16:32:38 -08:00
Jason Volk
118fc20bbc ircd::js: Use js strings in trap tree mappings. 2016-11-13 16:32:38 -08:00
Jason Volk
be48466ef3 fixup! [temp] Checkpoint test. 2016-11-13 16:32:38 -08:00
Jason Volk
50e38b5a82 ircd::js: Add rudimentary string utils. 2016-11-13 16:32:38 -08:00
Jason Volk
3df49d4bf4 ircd::js: Add string index operator; empty(); clarify size(); relax ctor. 2016-11-13 16:32:38 -08:00
Jason Volk
04a919820a ircd::js: Improve string comparison suite; add transparent less. 2016-11-13 16:32:38 -08:00
Jason Volk
4c62795aeb ircd::js: Use jsapi external string facilities for string constructions. 2016-11-13 16:32:38 -08:00
Jason Volk
6a1fb4e8fb ircd::local: Add additional char/char16_t buffer conversion. 2016-11-13 16:32:37 -08:00
Jason Volk
97c0d3df7d ircd::js: Support trap dtors on GC. 2016-11-13 16:32:37 -08:00
Jason Volk
ae40f9c016 ircd: Move all signal handling to charybdis executable. 2016-11-13 16:32:37 -08:00
Jason Volk
50ce286a3c fixup! fixup! ircd::util: Add string() convenience to 'to_string' an object stream. 2016-11-13 16:32:37 -08:00
Jason Volk
7f12f1cce5 ircd::js: Disambiguate and improve value/object conversions. 2016-11-13 16:32:37 -08:00
Jason Volk
91d11f391b ircd::js: Add recursive tree semantics to object trap system. 2016-11-13 16:29:47 -08:00
Jason Volk
b44eb91437 ircd: Add stringops rsplit(). 2016-11-13 16:29:47 -08:00
Jason Volk
fedeab2ddd ircd: Add locale:: namespace for portable internationalization. 2016-11-13 16:29:47 -08:00
Jason Volk
8f8f747628 ircd::js: Add additional secondary object constructions. 2016-11-13 16:29:47 -08:00
Jason Volk
fd0f925459 ircd::js: Add handle typedefs in object wrappers to clean up arguments. 2016-11-13 16:29:47 -08:00
Jason Volk
87eee25953 ircd::js: Add JS::CallArgs wrapper. 2016-11-13 16:29:46 -08:00
Jason Volk
6d7e1157b1 ircd::js: Add recursive has(), get(), set(), del(). 2016-11-13 16:29:46 -08:00
Jason Volk
9f85b39506 ircd::js: Improve function information + decompile. 2016-11-13 16:29:46 -08:00
Jason Volk
b69444138f ircd::js: Reflect JSType + value type tests. 2016-11-13 16:29:46 -08:00
Jason Volk
1ae9f4ffa4 ircd::js: Add function_literal convenience. 2016-11-13 16:29:46 -08:00
Jason Volk
c2f23a01bd ircd::js: Support more debug and statistics from js engine. 2016-11-13 16:29:46 -08:00
Jason Volk
8f9465764d ircd::js: Construct compartment from more implicit information. 2016-11-13 16:29:46 -08:00
Jason Volk
c704c67aa5 ircd: Add more stringops tokenizer overloads. 2016-11-13 16:29:46 -08:00
Jason Volk
9ecb26d27e ircd::js: Simplify the interrupt(context) call. 2016-11-13 16:29:46 -08:00
Jason Volk
b6ba71b6a0 ircd::js: Add ctor/call functionality to object trap. 2016-11-13 16:29:46 -08:00
Jason Volk
f8600a562a ircd::js: Improve various type conversions and constructions. 2016-11-13 16:29:46 -08:00
Jason Volk
83fbbc6462 ircd::js: Fix compartment acquire; trap JSClass delete; debug related. 2016-11-13 16:29:46 -08:00
Jason Volk
9a0753d7f8 ircd::js: Relax value construction from host types. 2016-11-13 16:29:45 -08:00
Jason Volk
5069df70c0 ircd::js: Add string comparison, equality operator and empty on null. 2016-11-13 16:29:45 -08:00
Jason Volk
aae1264d7f ircd::js: Add some GC related stats/controls. 2016-11-13 16:29:45 -08:00
Jason Volk
2d89f0e97c ircd::js: Improve exception sequence / Add script and line data. 2016-11-13 16:29:45 -08:00