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