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