Jason Volk
6e2cf45571
ircd::net: Move acceptor into header; minor cleanup.
2018-01-19 06:55:48 -08:00
Jason Volk
f02c31217b
ircd::net: Add remote to hostport conversion.
2018-01-19 04:54:14 -08:00
Jason Volk
02dc5204c9
ircd: Update namespace list in include README.
2018-01-19 04:07:12 -08:00
Jason Volk
09dc4acf06
ircd: Remove legacy stringops.
2018-01-19 02:47:08 -08:00
Jason Volk
497b4ec552
ircd: Ⓜ️ Improve MXID ctor related.
2018-01-19 02:47:08 -08:00
Jason Volk
936f138a3f
ircd::fmt: Cleanup. Reduce sketchiness.
2018-01-19 02:47:08 -08:00
Jason Volk
0a6ea976a5
ircd: Split base64 from lexical.
2018-01-18 18:17:02 -08:00
Jason Volk
054c50edcc
ircd::db: Split up / reorg database/env related.
2018-01-18 17:59:22 -08:00
Jason Volk
31fd9346f6
ircd: Baptize server.h into the standard include group.
2018-01-18 06:09:02 -08:00
Jason Volk
78b77f9da8
ircd::ctx: Eliminate the shared_ptr in pool::async; minor cleanup.
2018-01-18 06:05:56 -08:00
Jason Volk
90ea730a04
ircd::json: Add recursion depth checking.
2018-01-18 06:05:56 -08:00
Jason Volk
c9b89ec6ef
ircd::db: Plan on not sending any exceptions through RocksDB...
2018-01-18 03:55:28 -08:00
Jason Volk
d436861aed
ircd::db: Update comment.
2018-01-18 03:55:28 -08:00
Jason Volk
e5a50a0b79
ircd: Use address of ::gettimeofday to resolve error in g++-7.
2018-01-17 21:38:18 -08:00
Jason Volk
2c8154dfe4
ircd::info: Add additional line of information in debug log.
2018-01-17 21:38:17 -08:00
Jason Volk
d9c6737b28
ircd: Use feature test macros here.
2018-01-17 21:38:17 -08:00
Jason Volk
408e8dfb47
configure: Add <new> header.
2018-01-17 21:38:17 -08:00
Jason Volk
ce89a705c0
ircd::db: Add remaining environment stubs.
2018-01-17 21:38:17 -08:00
Jason Volk
169f5aef84
ircd::db: Add data() participant for rocksdb::Slice.
2018-01-17 21:38:17 -08:00
Jason Volk
87f0f3bc5a
ircd::db: Add additional environment stubs for writable_file; minor cleanup.
2018-01-17 21:38:17 -08:00
Jason Volk
48c798de3f
ircd::db: Add size() participant for rocksdb::Slice.
2018-01-17 21:38:17 -08:00
Jason Volk
625dc73978
ircd::db: Skeleton stubs for basic environment.
2018-01-17 21:38:17 -08:00
Jason Volk
79447c504a
ircd::db: Reorg internal headers to directory.
2018-01-17 21:38:17 -08:00
Jason Volk
e4f6b64fec
ircd::db: Update copyrights; use doxygen comments; minor cleanup.
2018-01-17 21:38:17 -08:00
Jason Volk
9ba31f77c2
ircd::server: Various fixes; error handling; minor cleanup.
2018-01-17 21:38:17 -08:00
Jason Volk
557b521d62
ircd::info: Update info.
2018-01-17 21:38:17 -08:00
Jason Volk
ca6dc44a6c
ircd::server: Various fixes.
2018-01-17 03:33:08 -08:00
Jason Volk
6fc8de8587
ircd::ctx: Enforce semantics in mutex / shared_mutex; assertion related.
2018-01-17 03:33:08 -08:00
Jason Volk
b93b294d7b
ircd::ctx: Validate all state access in ctx::promise.
2018-01-17 03:33:08 -08:00
Jason Volk
59e921d453
ircd::ctx: Enforce semantics on ctx::list.
2018-01-17 03:33:08 -08:00
Jason Volk
5a51638db8
ircd::server: Add options to request; add http code exception option.
2018-01-17 03:33:07 -08:00
Jason Volk
7f9f970b5b
ircd::server: Improve some exception messages conveyed back to promise.
2018-01-17 01:05:31 -08:00
Jason Volk
862fb1ebcd
ircd::server: Support robust request cancellation without disrupting pipeline.
2018-01-17 00:47:37 -08:00
Jason Volk
8366c735b4
ircd::ctx: Add this non-standard finished() observer for now.
2018-01-16 22:54:08 -08:00
Jason Volk
b9fe5c69ad
ircd::server: Additional exception propagations; fail on link unavailability.
2018-01-16 04:01:26 -08:00
Jason Volk
2520afe5a6
ircd::server: Handle insufficient head buffer; preliminary tag reassign.
2018-01-16 00:55:44 -08:00
Jason Volk
ce31219b00
ircd::server: Elide saving head in tag; add content buffer-underrun discard.
2018-01-16 00:55:44 -08:00
Jason Volk
286f117ef8
ircd::server: Add idle link removal when over pool min; stubs for node decision-making.
2018-01-16 00:55:44 -08:00
Jason Volk
8536c57982
ircd::server: Minor renames; minor cleanup; improve some error handlers.
2018-01-15 20:26:27 -08:00
Jason Volk
6682f0ce80
ircd::net: On disconnect, turn an EOF ec into a success.
2018-01-15 19:46:23 -08:00
Jason Volk
8e9bae5209
ircd::server: Add stats accumulation; develop preliminary dispatch; various.
2018-01-15 19:02:26 -08:00
Jason Volk
e4b1485db0
ircd::ctx: Specify missing semantics for promise.
2018-01-15 18:00:54 -08:00
Jason Volk
59621eb266
ircd::server: Improve write stack; add close_all(); various.
2018-01-15 03:12:56 -08:00
Jason Volk
6b7399bf4a
ircd::fs: Simplify API/AIO by eliminating callback: ctx yield only for now.
2018-01-15 03:12:56 -08:00
Jason Volk
a8efc59adf
ircd::server: Split tag from request.h.
2018-01-15 03:12:56 -08:00
Jason Volk
368838d5a5
ircd::server: Add preliminary write loop; minor cleanup.
2018-01-15 03:12:56 -08:00
Jason Volk
d62afeb0a7
ircd::net: Add RFC1035 preliminary stub; minor reorg of resolver related.
2018-01-14 20:45:30 -08:00
Jason Volk
2962ecdc72
ircd: Add preliminary RFC1035 support.
2018-01-14 20:45:30 -08:00
Jason Volk
b2503ba1d0
ircd::util: Fix bswap() to not rely on data()/size() et al.
2018-01-14 20:45:30 -08:00
Jason Volk
af0c02cc10
ircd::buffer: Allow returning completed() mutable_buffer.
2018-01-14 20:45:30 -08:00
Jason Volk
314bcb3d30
ircd::net: Update read()/write() strategies.
2018-01-14 20:45:30 -08:00
Jason Volk
7b62568ff0
ircd::ctx: Replace std::deque's in ctx::mutex and ctx::shared_mutex.
2018-01-13 23:45:36 -08:00
Jason Volk
dcd36f8200
ircd::ctx: Replace the std::deque with a ctx::list for ctx::dock's queue.
2018-01-13 23:45:36 -08:00
Jason Volk
df0e59a5e0
ircd::ctx: Add custom intrinsic list structure for contexts.
2018-01-13 23:45:36 -08:00
Jason Volk
7c4659a99f
ircd::server: Develop basic infrastructure.
2018-01-13 21:17:10 -08:00
Jason Volk
15bf7f5f6d
ircd::net: Add non-blocking discard_any(socket).
2018-01-13 20:21:29 -08:00
Jason Volk
6643cad758
ircd::http: Allow default construction on response head.
2018-01-13 18:03:26 -08:00
Jason Volk
56cefcb650
ircd::server: Move into directory; various cleanup.
2018-01-13 18:03:04 -08:00
Jason Volk
c83665ca6c
ircd: Reorg client; add class members; pointer to current request; conf, etc.
2018-01-13 17:58:11 -08:00
Jason Volk
fa3afc7ad7
ircd::server: Preliminary client request pipeline framework.
2018-01-12 18:57:58 -08:00
Jason Volk
c1a3fabd5a
ircd::openssl: Add function to print subject of certificate.
2018-01-12 15:31:58 -08:00
Jason Volk
311df26156
ircd: Expose utilities for boost errors.
2018-01-12 15:04:30 -08:00
Jason Volk
458869f9ef
ircd::http: Remove response helper; add a couple fields to parse; minor cleanup.
2018-01-12 13:15:30 -08:00
Jason Volk
ed0760ef8e
ircd: Minor cleanup of rfc1459 header.
2018-01-12 13:13:37 -08:00
Jason Volk
d3be7129cf
ircd: Minor housekeeping fixes.
2018-01-12 03:22:57 -08:00
Jason Volk
4db2ac3ab7
ircd: Cleanup standard usage importations.
2018-01-12 03:00:23 -08:00
Jason Volk
d566e90402
ircd::util: Move more utils into util; minor cleanup.
2018-01-12 02:59:21 -08:00
Jason Volk
2a65c17ce3
ircd::util: Split out typography related; minor cleanup.
2018-01-11 23:36:42 -08:00
Jason Volk
239eb0e9ad
ircd::openssl: Support EC.
2018-01-11 22:29:00 -08:00
Jason Volk
8c869e3ee5
ircd::openssl: Convenience to print information about an X509 from a PEM.
2018-01-11 22:29:00 -08:00
Jason Volk
04fa556c58
ircd: Reflow the request handlers to give the resource more control over content.
2018-01-11 22:02:34 -08:00
Jason Volk
1f7ed51f3b
ircd::http: Remove request parser helper from here.
2018-01-11 22:02:34 -08:00
Jason Volk
7aa1dedd86
ircd::http: Add 413 PAYLOAD_TOO_LARGE.
2018-01-11 22:02:34 -08:00
Jason Volk
a135227370
ircd::net: Tighten assumptions on cancel().
2018-01-11 22:02:33 -08:00
Jason Volk
725f069621
ircd::net: Add discard_all() convenience.
2018-01-11 22:02:33 -08:00
Jason Volk
37b98b5a82
ircd::openssl: Add flags to the X509 printer.
2018-01-11 22:02:33 -08:00
Jason Volk
29b135de0a
ircd::ctx: Export critical_assertion down to ircd::.
2018-01-11 18:37:08 -08:00
Jason Volk
b0acc95559
ircd::util: Update syscall() comments; minor cleanup.
2018-01-11 03:21:19 -08:00
Jason Volk
c698101d6d
ircd::fs: Initial asynchronous file IO support for Linux platforms.
2018-01-10 22:09:05 -08:00
Jason Volk
c4ea3cc3e3
ircd: Utils for std::system_error related; minor cleanup.
2018-01-10 21:43:49 -08:00
Jason Volk
40bead52b7
ircd: Move and breakup util.h into util/; move fs.h into fs/.
2018-01-10 21:34:21 -08:00
Jason Volk
76e16e4d80
ircd::net: Improve remote construction; hostport/ipport related.
2018-01-10 01:20:16 -08:00
Jason Volk
8a43a37733
ircd: Import std::nothrow_t.
2018-01-10 00:57:43 -08:00
Jason Volk
84bbeecc83
ircd: Move sys/resource / coredump related out of libircd.
2018-01-10 00:56:33 -08:00
Jason Volk
8acdf52443
ircd::fs: Use direct kernel interface rather than glibc aio nonsense.
2018-01-10 00:55:08 -08:00
Jason Volk
6a552e349e
ircd: Preliminary AIO experimental stub on linux platforms.
2018-01-09 16:49:53 -08:00
Jason Volk
78c2af094e
ircd::util: Extend return value in syscall() suite.
2018-01-09 16:24:42 -08:00
Jason Volk
c03bb7e4f2
ircd: Various fixes and elaborations to client/net.
2018-01-08 21:49:00 -08:00
Jason Volk
89c481d1f8
ircd::net: Improve wait related; fix issues with bad behavior.
2018-01-08 18:33:05 -08:00
Jason Volk
65a81301a7
ircd: Add fwd decl of boost::system::errc namespace.
2018-01-08 13:42:54 -08:00
Jason Volk
9e086e9acd
ircd: Add ircd::assertion and exception suite for assertive errors.
2018-01-08 13:42:54 -08:00
Jason Volk
c8aaeb491f
ircd::net: Develop interface for async_wait / waiting on socket.
2018-01-08 13:25:13 -08:00
Jason Volk
17a1982c24
ircd::net: Add read_one() interface.
2018-01-08 12:41:22 -08:00
Jason Volk
4fa7ad9286
ircd::ctx: Add use_future_t; minor cleanup.
2018-01-08 12:40:09 -08:00
Jason Volk
0cafcd7b84
ircd::ctx: Update async() with moveable promise.
2018-01-08 12:39:05 -08:00
Jason Volk
f8127957c3
ircd: Various error handling fixes/cleanup.
2018-01-08 03:09:00 -08:00
Jason Volk
a9bd77a67d
ircd::net: Add an internal non-blocking read call; minor comments.
2018-01-08 03:08:59 -08:00
Jason Volk
a1f0075d62
ircd::net: Improve the timeout callback related.
2018-01-08 03:08:59 -08:00
Jason Volk
9bb927712e
ircd::net: Kill implicit conversion.
2018-01-08 03:08:59 -08:00
Jason Volk
54d6cbc8c1
ircd: Fwd declare boost::system::error_code; minor cleanup.
2018-01-08 03:08:59 -08:00
Jason Volk
273e22c50e
ircd::net: Add common_name(opts) consistent function to get proper CN.
2018-01-08 03:08:59 -08:00
Jason Volk
b0427fbb91
ircd::net: ipport string contructions.
2018-01-08 03:08:59 -08:00
Jason Volk
499e322e83
ircd::net: Fix hostport split default.
2018-01-08 03:08:59 -08:00
Jason Volk
bad0037d78
ircd::net: Copy around open_opts for now to prevent any lifetime complications.
2018-01-08 03:08:59 -08:00
Jason Volk
5615ef2470
ircd::net: Split up remote.h
2018-01-07 14:31:35 -08:00
Jason Volk
9dbae8b27a
ircd::net: Rename sockopts to sock_opts.
2018-01-07 02:02:41 -08:00
Jason Volk
4561bb21a0
ircd: Various fixes to net related call points.
2018-01-06 23:27:02 -08:00
Jason Volk
ac3802c0f9
ircd::net: Refine network subsystem; break up interfaces; various.
2018-01-06 23:27:01 -08:00
Jason Volk
7e0c01708a
ircd::net: Refine socket interfaces; connection options structure.
2018-01-05 19:19:03 -08:00
Jason Volk
0e1b605991
ircd::openssl: Add convenience to copy out certificate CN.
2018-01-05 16:59:26 -08:00
Jason Volk
72317c07c3
ircd::net: Shlock certificate common-name verification into the net stack.
2018-01-04 23:17:11 -08:00
Jason Volk
b878fd6ed0
ircd::openssl: Add X509_STORE_CTX suite.
2018-01-04 22:00:10 -08:00
Jason Volk
35ad641251
ircd::openssl: Minor rename function.
2018-01-04 21:59:39 -08:00
Jason Volk
6aec038479
ircd::net: Additional socket option accoutrements.
2018-01-04 19:25:46 -08:00
Jason Volk
ebad745a3f
ircd::net: Tentative future-based socket resolve->connect->handshake.
2018-01-04 19:25:40 -08:00
Jason Volk
fcb2660f0a
ircd::net: Elaborate low-level socket interface.
2018-01-04 17:44:35 -08:00
Jason Volk
dd137d50e3
ircd::net: Move resolution constructor from ipport to remote.
2018-01-04 17:44:35 -08:00
Jason Volk
8ccdd8568f
doc: Move conventions to STYLE; ircd: Add additional README related.
2018-01-04 17:44:34 -08:00
Jason Volk
1898cb307d
ircd::net: Improve resolver interface.
2018-01-04 17:44:34 -08:00
Jason Volk
6f81d0c643
ircd::net: Minor simplify API.
2018-01-04 17:44:34 -08:00
Jason Volk
2bca92d85d
ircd: We don't need this here; RocksDB has interface.
2018-01-04 17:44:34 -08:00
Jason Volk
58c26b616c
ircd: Update README note on assert().
2018-01-04 17:44:34 -08:00
Jason Volk
26e04ecda4
ircd: buffer/net: Minor cleanup.
2018-01-04 17:44:34 -08:00
Jason Volk
864249febb
ircd: Update README with assert() related.
2018-01-04 17:44:34 -08:00
Jason Volk
acc73957f8
ircd::net: Socket interface package.
2018-01-04 17:44:34 -08:00
Jason Volk
9ad618a329
ircd::net: Move some string() / various cleanup.
2018-01-04 17:44:34 -08:00
Jason Volk
126df4b54a
ircd::net: Split resolve into file.
2017-12-29 22:44:15 -07:00
Jason Volk
35038f3d63
ircd::net: Reverse DNS resolution; various cleanup/related.
2017-12-29 22:38:00 -07:00
Jason Volk
8ec7c988a3
ircd::net: Add mass-resolution function.
2017-12-29 21:20:16 -07:00
Jason Volk
0eb16673ee
ircd::net: Add resolve interface; Update remote interface.
2017-12-29 19:33:04 -07:00
Jason Volk
baa35a368a
ircd: Update include/ircd README with conventions section.
2017-12-29 15:53:49 -07:00
Jason Volk
9871332957
fixup! Pin boost to 1.66.0.
2017-12-29 15:53:39 -07:00
Jason Volk
c77ee478e5
ircd::ctx: Add custom refcnt to allow copyable promise.
2017-12-29 15:32:08 -07:00
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
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
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
Jason Volk
f9848b0494
ircd::js: Add wait-free (for the user) timer.
2016-11-13 16:29:45 -08:00
Jason Volk
ad1fef4247
ircd::js: Add wait-free execution interruption.
2016-11-13 16:29:45 -08:00
Jason Volk
2f645941a8
ircd::ctx: Move ctx headers into directory.
2016-11-13 16:29:45 -08:00
Jason Volk
e6c8025ae0
ircd::ctx: Add yield() allowing other contexts to run before returning.
2016-11-13 16:29:45 -08:00
Jason Volk
b289c63b99
ircd::js: Improve the exception translation.
2016-11-13 16:29:45 -08:00
Jason Volk
a8ee379ac2
ircd::js: Add vector semantic wrapper.
2016-11-13 16:29:45 -08:00
Jason Volk
4872883860
ircd::js: Improve value construction / string related.
2016-11-13 16:29:45 -08:00
Jason Volk
23318a2b4f
ircd::js: Add script object + caller / deinline function caller.
2016-11-13 16:29:44 -08:00
Jason Volk
8108773021
ircd::js: Wrap JSAPI objects for better semantics.
2016-11-13 16:29:44 -08:00
Jason Volk
4f34311f5f
ircd::js: Fix inline linkage on context wrapper functions.
2016-11-13 16:29:44 -08:00
Jason Volk
79c054c535
ircd::js: Add basic priv()/get() object manip functions.
2016-11-13 16:29:44 -08:00
Jason Volk
7fa3777a57
ircd::js: Improve trap exceptions; noexcept all jsapi callbacks.
2016-11-13 16:29:44 -08:00
Jason Volk
4171a9c834
ircd::js: Add js exception hierarchy.
2016-11-13 16:29:44 -08:00
Jason Volk
2c231ac187
ircd: Add exception message generation bypass constructor.
2016-11-13 16:29:44 -08:00
Jason Volk
dffb39f8cc
ircd::js: Add string utf conversions; improve string related.
2016-11-13 16:29:44 -08:00
Jason Volk
7b5629e4a5
ircd::js: Add basic trap debug / rename trap.res -> trap.has.
2016-11-13 16:29:44 -08:00
Jason Volk
34881325bb
ircd::js: Develop object compartment related.
2016-11-13 16:29:43 -08:00
Jason Volk
0e2b8600e5
ircd::js: Moz people recommend thread_local JSRuntime/JSContext;
...
There is no reason to clutter most arguments with contexts. Additionally
these will be merged in the future SpiderMonkey. There is only one
JSRuntime/JSContext per thread and it must be locked when in use.
2016-11-13 16:29:43 -08:00
Jason Volk
6db6b2a975
ircd::js: Add trap to define JSObject functionality in C.
2016-11-13 16:29:43 -08:00
Jason Volk
e6c6137fcb
ircd::js: Add id/value/string conversion convenience utils.
2016-11-13 16:29:43 -08:00
Jason Volk
c7ea23bece
ircd::js: Add debug / reflection for JSErrorReport; deinline other debug.
2016-11-13 16:29:43 -08:00
Jason Volk
517097b534
ircd::js: Add basic object utils: string, foreach, type debug.
2016-10-25 01:55:50 -07:00
Jason Volk
01e6e732cc
ircd::js: Stub runtime/context callback framework.
2016-10-25 01:55:50 -07:00
Jason Volk
c1fd6391c6
ircd::js: Add barebones accoutrements.
2016-10-25 01:55:50 -07:00
Jason Volk
191258cea5
ircd::js: Add main runtime and main context.
2016-10-25 01:55:50 -07:00
Jason Volk
95068c7d06
Introduce Mozilla SpiderMonkey.
2016-10-25 01:55:50 -07:00
Jason Volk
afc23fa235
ircd::util: Add noexcept specifier to custom_ptr deleter prototype.
2016-10-13 21:55:53 -07:00
Jason Volk
fde4626fce
ircd::cmds: Minor cleanup of cmds:: related.
2016-10-11 03:30:11 -07:00
Jason Volk
43b07d1180
ircd: Add more token related stringops.
2016-10-11 03:30:11 -07:00
Jason Volk
02146880f8
fixup! ircd::util: Add string() convenience to 'to_string' an object stream.
2016-10-10 22:38:24 -07:00
Jason Volk
5ad9f96b2a
ircd::util: Add string() convenience overloads for sized char buffer.
2016-09-28 14:19:18 -07:00
Jason Volk
d4bcf904c3
ircd: Add single char overloads for startswith()/endswith() stringops.
2016-09-28 14:16:14 -07:00
Jason Volk
a018eab293
ircd: Add a protocol type enumeration.
2016-09-28 14:15:44 -07:00
Jason Volk
f7e6fd1b31
ircd: Improve network buffers utils.
2016-09-28 14:15:09 -07:00
Jason Volk
757d7e10a8
[temp] checkpoint some crap which isn't going to stick.
2016-09-27 17:29:06 -07:00
Jason Volk
39a7518a82
ircd: Rename fs.h -> path.h
2016-09-27 17:28:24 -07:00
Jason Volk
bbd73746c3
ircd::ctx: Abstract the db::work subsystem into ctx::ole OffLoad Engine (OLE).
2016-09-27 17:28:24 -07:00
Jason Volk
33cc4c19d7
ircd::db: Add standard iteration + caching/options improvements.
2016-09-27 17:27:48 -07:00
Jason Volk
2251595551
ircd::ctx: Add preliminary profiling system to mitigate silent degradation.
...
This system alerts the developer when something blocks a context from yielding
for too long or exceeds stack usage limits. More profiling can be added for
further optimization.
2016-09-27 17:27:48 -07:00
Jason Volk
acd5593aac
ircd::db: Develop basic key/value API.
2016-09-27 17:27:48 -07:00
Jason Volk
3083bb8e62
ircd::db: Add logging mask for db subsys and improve handle opening messages.
2016-09-27 17:27:48 -07:00
Jason Volk
34eae9a829
ircd::db: Develop options system for database.
2016-09-27 17:27:48 -07:00
Jason Volk
5df4bf6da2
ircd::db: Add database interface. Support RocksDB.
2016-09-27 02:20:42 -07:00
Jason Volk
1da6aa2b93
ircd::mapi: Improve the stuck-module message by showing it immediately.
2016-09-27 02:20:42 -07:00
Jason Volk
6d2d5a71f5
ircd::fs: Add function to build path.
2016-09-26 16:06:56 -07:00
Jason Volk
0913873b30
ircd::fs: Generalize DBPATH.
2016-09-26 16:06:56 -07:00
Jason Volk
b373081646
ircd::ctx: Reduce duplicated future<> function with a template friend.
2016-09-24 16:40:14 -07:00
Jason Volk
9de2b00e34
ircd::ctx::pool: Add async() member functions to post to a pool.
2016-09-24 16:40:14 -07:00
Jason Volk
284bad47e9
ircd: Add mods::init; a subsystem init/fini singleton held by ircd::main().
2016-09-24 16:40:02 -07:00
Jason Volk
a4d186b6a1
ircd: Refactor hook system.
2016-09-23 00:01:00 -07:00
Jason Volk
2d494d8924
charybdis: Move getopt out from ircd::.
2016-09-23 00:01:00 -07:00
Jason Volk
f7f9d87df0
ircd::ctx: Add context pool.
2016-09-23 00:01:00 -07:00
Jason Volk
5e8c4bb2a1
ircd::ctx: Add async() function.
2016-09-22 16:18:33 -07:00