Jason Volk
|
bcd704826c
|
ircd:Ⓜ️:vm: Move db::txn to the stack; use automatic reserve option.
|
2018-04-16 17:28:26 -07:00 |
|
Jason Volk
|
d5cd5dea09
|
ircd:Ⓜ️:vm: Sequence iteration interface.
|
2018-04-16 15:58:02 -07:00 |
|
Jason Volk
|
b320d8ece1
|
ircd:Ⓜ️:vm: Integrate sequence counting.
|
2018-04-16 15:20:08 -07:00 |
|
Jason Volk
|
d5087f4e8f
|
ircd:Ⓜ️:dbs: Add event sequence column.
|
2018-04-16 15:20:08 -07:00 |
|
Jason Volk
|
dcacc5af0a
|
ircd:Ⓜ️:vm: Add db::txn allocation reservation options.
|
2018-04-16 15:20:08 -07:00 |
|
Jason Volk
|
e009d6763e
|
ircd::db: Fix issues with txn interface.
|
2018-04-16 15:20:08 -07:00 |
|
Jason Volk
|
19d7e05605
|
ircd::resource: Allow each resource method to specify its timing.
|
2018-04-15 18:02:41 -07:00 |
|
Jason Volk
|
49d83de384
|
ircd::net: Propagate ctx interruption to socket.
|
2018-04-15 17:46:20 -07:00 |
|
Jason Volk
|
f4b2273a4b
|
ircd::net: Add a semaphore to the socket timer to invalidate queued callbacks.
|
2018-04-15 17:46:20 -07:00 |
|
Jason Volk
|
5be18475df
|
ircd::net: Move scope_timeout from socket:: to net:: w/ exposure.
|
2018-04-15 16:43:09 -07:00 |
|
Jason Volk
|
6d88ee339d
|
ircd:Ⓜ️:dbs: Rename room_origins to room_joined.
|
2018-04-15 16:43:09 -07:00 |
|
Jason Volk
|
7b54dba291
|
ircd::db: Expose an interface for some counters; add ticker command.
|
2018-04-15 16:43:09 -07:00 |
|
Jason Volk
|
0c78bf7a9b
|
ircd::db: Add compaction interface.
|
2018-04-15 02:42:57 -07:00 |
|
Jason Volk
|
0a3259afae
|
ircd::db: Custom table opts; table cache; introduce the bloom filter.
|
2018-04-14 23:10:09 -07:00 |
|
Jason Volk
|
f37176d698
|
ircd::net::dns: Enforce min ttl for cache entries; add conf option.
|
2018-04-14 18:35:48 -07:00 |
|
Jason Volk
|
b9cf0c9796
|
ircd::rfc1035: Comparison operator suite for record types.
|
2018-04-14 17:34:07 -07:00 |
|
Jason Volk
|
1ad4d58e43
|
ircd::net::dns: Move cache interfaces into cache class.
|
2018-04-14 17:34:07 -07:00 |
|
Jason Volk
|
756840b42c
|
ircd::client: Add unique client id monotonic counter.
|
2018-04-14 17:15:06 -07:00 |
|
Jason Volk
|
cf22eacfd3
|
ircd::net::dns: Add static fire-and-forget callbacks for prefetching.
|
2018-04-14 17:15:06 -07:00 |
|
Jason Volk
|
e3b97871f9
|
ircd: Add function to return daemon's uptime.
|
2018-04-14 17:15:06 -07:00 |
|
Jason Volk
|
deb1a0a979
|
ircd::resource: Add chunked encoding response suite.
|
2018-04-13 23:19:43 -07:00 |
|
Jason Volk
|
3f72b7ce19
|
ircd::db: Update gopts; add seqnum option; fix missing readahead.
|
2018-04-13 22:46:31 -07:00 |
|
Jason Volk
|
7c92eb2757
|
ircd::server: Use system time for error time state.
|
2018-04-13 20:02:48 -07:00 |
|
Jason Volk
|
7360999b30
|
ircd: Support the chrono types in the timef() date suite.
|
2018-04-13 20:02:47 -07:00 |
|
Jason Volk
|
6ca4f6eec5
|
ircd::net: Expose interface for socket stat counter.
|
2018-04-13 17:24:07 -07:00 |
|
Jason Volk
|
69aeddad61
|
ircd::client: Reference the client's request handling context via class member.
|
2018-04-13 17:03:17 -07:00 |
|
Jason Volk
|
dd69acbad3
|
ircd::json::stack: Handle and properly propagate flusher exception out of stack.
|
2018-04-13 16:03:34 -07:00 |
|
Jason Volk
|
45f8239f9b
|
ircd:Ⓜ️:vm: Properly propagate a context interruption to the evaluator.
|
2018-04-12 23:07:46 -07:00 |
|
Jason Volk
|
cee7a17330
|
ircd:Ⓜ️:dbs: Purge old cruft; add various \briefs.
|
2018-04-12 23:07:45 -07:00 |
|
Jason Volk
|
0a1a35fdf4
|
ircd:Ⓜ️:room::members: Improve interface; add user::id specific iteration closure.
|
2018-04-12 14:10:03 -07:00 |
|
Jason Volk
|
f9ade26b24
|
ircd:Ⓜ️:dbs: Workaround issues with incorrect std::tuple references.
|
2018-04-12 14:08:48 -07:00 |
|
Jason Volk
|
8bf0b4d093
|
ircd::net: Assert proper socket object semantics.
|
2018-04-12 12:52:14 -07:00 |
|
Jason Volk
|
28488eb54b
|
ircd:Ⓜ️ Add messages iteration convenience interface to m::room.
|
2018-04-12 02:14:10 -07:00 |
|
Jason Volk
|
54e3719097
|
ircd::json: Consolidate authority for value defined() semantics.
|
2018-04-11 23:40:31 -07:00 |
|
Jason Volk
|
97ec3a62ab
|
ircd::json: Fix bugs related to bool type.
|
2018-04-11 23:40:30 -07:00 |
|
Jason Volk
|
b3b11fab7d
|
ircd::util: Fix conditions for is_zero template test.
|
2018-04-11 23:40:30 -07:00 |
|
Jason Volk
|
b16aa7f55c
|
ircd:Ⓜ️:state: Add get_node(nothrow) overload.
|
2018-04-11 23:40:30 -07:00 |
|
Jason Volk
|
f9ad2523a2
|
ircd:Ⓜ️:state: Add interface comment after \brief.
|
2018-04-11 23:40:30 -07:00 |
|
Jason Volk
|
82ef048d3f
|
ircd:Ⓜ️ More complete presence interface getter interface stack.
|
2018-04-11 23:09:49 -07:00 |
|
Jason Volk
|
75fdf2f518
|
ircd:Ⓜ️:user: Add naive user commonality interface.
|
2018-04-11 23:09:49 -07:00 |
|
Jason Volk
|
33ca15e45d
|
ircd:Ⓜ️:user::rooms: Add a count() interface.
|
2018-04-11 15:47:51 -07:00 |
|
Jason Volk
|
55e4a8fcaf
|
ircd:Ⓜ️ Split user's rooms iteration into separate interface.
|
2018-04-11 15:38:01 -07:00 |
|
Jason Volk
|
66e81327d0
|
ircd:Ⓜ️ Order rooms.h below user.h; add alias interface for user's rooms.
|
2018-04-11 15:10:45 -07:00 |
|
Jason Volk
|
e305938b08
|
ircd:Ⓜ️ Typedef a user::closure.
|
2018-04-11 15:04:04 -07:00 |
|
Jason Volk
|
e9df8b699c
|
ircd:Ⓜ️ Add user room membership convenience interface; apply.
|
2018-04-11 14:18:38 -07:00 |
|
Jason Volk
|
c3062e80f1
|
ircd::ctx: Fix bitrot in when_all() template.
|
2018-04-10 20:09:17 -07:00 |
|
Jason Volk
|
baf8b192b1
|
ircd::json: Add the stack flusher semantic.
|
2018-04-10 19:32:56 -07:00 |
|
Jason Volk
|
b1f613b5ac
|
ircd::buffer: Add a data shifter for window_buffer.
|
2018-04-10 19:32:56 -07:00 |
|
Jason Volk
|
9270937957
|
ircd::json: Simplify internal stack appending; pass expected append size.
|
2018-04-10 17:00:57 -07:00 |
|
Jason Volk
|
102ef2cb47
|
ircd::json: Object semantics for json::stack classes.
|
2018-04-10 13:48:14 -07:00 |
|
Jason Volk
|
d457a26022
|
ircd::buffer: Default construction for window_buffer.
|
2018-04-10 13:33:07 -07:00 |
|
Jason Volk
|
fe90dd4d63
|
ircd:Ⓜ️ Add convenience interface for rooms / iterations.
|
2018-04-09 20:12:03 -07:00 |
|
Jason Volk
|
6dda8d70eb
|
ircd::json: Streamline some strung conversions.
|
2018-04-09 19:27:39 -07:00 |
|
Jason Volk
|
952571a3ad
|
ircd:Ⓜ️ Add key iteration to room::state interface.
|
2018-04-09 19:24:56 -07:00 |
|
Jason Volk
|
c354b6c1e4
|
ircd:Ⓜ️ Typedef room closure.
|
2018-04-09 19:24:12 -07:00 |
|
Jason Volk
|
963853ee10
|
ircd:Ⓜ️ Add init argument to pass dbopts.
|
2018-04-09 15:57:08 -07:00 |
|
Jason Volk
|
1268d90fb0
|
ircd::db: RocksDB to 5.12.2.
|
2018-04-09 15:57:05 -07:00 |
|
Jason Volk
|
7fb3047f68
|
ircd:Ⓜ️ 11.18.2.1 account_data w/ central linkage.
|
2018-04-08 22:11:29 -07:00 |
|
Jason Volk
|
8625823d23
|
ircd:Ⓜ️:v1: Add public_rooms requestor.
|
2018-04-08 22:11:28 -07:00 |
|
Jason Volk
|
9df6d127af
|
ircd:Ⓜ️:v1: event_auth convenience conversion; fed event_auth output.
|
2018-04-08 12:45:05 -07:00 |
|
Jason Volk
|
7f7278187f
|
ircd::allocate: Use std::aligned_storage for fixed allocator space.
|
2018-04-08 12:35:27 -07:00 |
|
Jason Volk
|
5621da53bc
|
ircd:Ⓜ️:v1: Add event_auth requestor.
|
2018-04-08 12:35:27 -07:00 |
|
Jason Volk
|
65c8ab3ba7
|
ircd::allocator: Fix argument error.
|
2018-04-08 12:29:55 -07:00 |
|
Jason Volk
|
a9cdab1e49
|
ircd::allocator: Assertions on state bits.
|
2018-04-08 12:29:55 -07:00 |
|
Jason Volk
|
42242edd29
|
ircd::allocator: Set last state to dealloc pos for no-rotate reuse; minor cleanup.
|
2018-04-08 12:29:55 -07:00 |
|
Jason Volk
|
eb1d1c2482
|
ircd::openssl: Eliminate allocation of hashing ctx for oneshot ctor.
|
2018-04-08 12:29:55 -07:00 |
|
Jason Volk
|
c04ea62135
|
ircd:#️⃣ Deinline the abstract finalize() defaulter.
|
2018-04-08 12:29:29 -07:00 |
|
Jason Volk
|
5f441c417f
|
ircd::openssl: Support ripemd160.
|
2018-04-08 12:29:25 -07:00 |
|
Jason Volk
|
8d91c90574
|
ircd::ctx: yield the promise-notifying ctx until any then() has posted.
|
2018-04-07 05:00:55 -07:00 |
|
Jason Volk
|
b0c687ea0e
|
ircd::ctx: Assertions for calling then().
|
2018-04-07 05:00:54 -07:00 |
|
Jason Volk
|
05fcdd458a
|
ircd::util: Assert the stream didn't overflow our buffer.
|
2018-04-06 22:35:14 -07:00 |
|
Jason Volk
|
048ecf07bb
|
ircd: Simplify some stringops.
|
2018-04-06 22:23:18 -07:00 |
|
Jason Volk
|
ccf9e993dd
|
ircd:Ⓜ️:txn: Elaborate the txn generation stack.
|
2018-04-06 22:23:18 -07:00 |
|
Jason Volk
|
cfbe032af5
|
ircd:Ⓜ️ Add room_id() overload checking sigil to skip resolution.
|
2018-04-06 21:08:59 -07:00 |
|
Jason Volk
|
9863e2a1a3
|
ircd:Ⓜ️ Add event comparison operator suite.
|
2018-04-06 03:13:27 -07:00 |
|
Jason Volk
|
13c4a5b79b
|
ircd:Ⓜ️:v1: Add convenience option for dynamic memory to all requests.
|
2018-04-06 00:21:32 -07:00 |
|
Jason Volk
|
d3e6b20f14
|
ircd:Ⓜ️:vm: Distill vm::opts::commit extension from vm::opts.
|
2018-04-05 23:14:30 -07:00 |
|
Jason Volk
|
0d42bf62f5
|
ircd:Ⓜ️:v1: Reduce all head fetches to specific call.
|
2018-04-05 22:16:32 -07:00 |
|
Jason Volk
|
c849a30aa1
|
ircd:Ⓜ️ Improve interface to current event convenience suite.
|
2018-04-05 22:16:32 -07:00 |
|
Jason Volk
|
8d0681e7b1
|
ircd::ctx: Eliminate the std future_status and simplify our real-use interfaces.
|
2018-04-05 22:16:32 -07:00 |
|
Jason Volk
|
b3ba8c6d4b
|
ircd:Ⓜ️ Add convenience to room::state interface to return id buffer.
|
2018-04-04 22:54:58 -07:00 |
|
Jason Volk
|
93316f4692
|
ircd::json: Deinline various value related.
|
2018-04-04 22:54:58 -07:00 |
|
Jason Volk
|
43e77537c6
|
ircd::json: Improve value ctor suite; maintain type of object/array; copy std::string.
|
2018-04-04 14:28:27 -07:00 |
|
Jason Volk
|
c35d74b7fd
|
ircd::json: Remove redundant member passthru.
|
2018-04-04 14:10:53 -07:00 |
|
Jason Volk
|
7438c558e3
|
ircd::json: Tweak callstack path for this transform.
|
2018-04-04 14:00:57 -07:00 |
|
Jason Volk
|
b675567314
|
ircd:Ⓜ️🆔 Report 0 if no port affixed to ID, 8448 not implied bc/ SRV.
|
2018-04-04 13:03:13 -07:00 |
|
Jason Volk
|
1755ca55da
|
ircd:Ⓜ️:v1: Add invite requestor.
|
2018-04-03 17:18:19 -07:00 |
|
Jason Volk
|
b90d4230ca
|
modules/client/rooms/invite: Add invite commit / handler w/ central linkage.
|
2018-04-03 12:56:46 -07:00 |
|
Jason Volk
|
59531912e4
|
ircd:Ⓜ️ Add origins::has() to query if origin is in room.
|
2018-04-03 12:49:34 -07:00 |
|
Jason Volk
|
8b5d27d1fc
|
ircd:Ⓜ️:dbs: Add overload to generate partial origins prefix key.
|
2018-04-03 12:49:03 -07:00 |
|
Jason Volk
|
2bce600a60
|
ircd::db: Wrap interface to get db's file list.
|
2018-04-03 11:44:57 -07:00 |
|
Jason Volk
|
1dc2daa5e9
|
ircd::db: Wrap interface to toggle file deletions.
|
2018-04-03 11:30:37 -07:00 |
|
Jason Volk
|
cfb80085a8
|
ircd::db: Support map-based property retrieval.
|
2018-04-03 11:14:47 -07:00 |
|
Jason Volk
|
0bf6742ac9
|
ircd::db: Typedef / minor reorg property related interface.
|
2018-04-03 11:01:28 -07:00 |
|
Jason Volk
|
d5748ef1bd
|
ircd::server: Minor main header cleanup; clarify comment.
|
2018-04-03 02:14:48 -07:00 |
|
Jason Volk
|
b9bb4b4a45
|
ircd::resource: Carry origin in the request object.
|
2018-04-02 23:20:50 -07:00 |
|
Jason Volk
|
7b38d216b4
|
ircd:Ⓜ️:v1: Fix user devices query and associated console cmd.
|
2018-04-02 18:40:52 -07:00 |
|
Jason Volk
|
e0130466e9
|
ircd:Ⓜ️:v1: Rename user::id to id::user to avoid local conflict.
|
2018-04-02 18:40:52 -07:00 |
|
Jason Volk
|
baccd4b767
|
ircd:Ⓜ️:v1: Support request to /state_ids/ as option in m::v1::state.
|
2018-04-02 18:40:52 -07:00 |
|
Jason Volk
|
31c3dea483
|
ircd::info: Gather information from rlimit if available.
|
2018-04-02 17:03:05 -07:00 |
|
Jason Volk
|
c54e7f5afe
|
configure.ac: Gather more information from git during configure.
|
2018-04-02 16:50:51 -07:00 |
|
Jason Volk
|
4a1ca1a525
|
ircd::json: Deinline output validators from template.
|
2018-03-28 22:17:09 -07:00 |
|
Jason Volk
|
7ad99ab387
|
ircd::json: Add why() to specifically return err str from valid().
|
2018-03-28 22:17:09 -07:00 |
|
Jason Volk
|
46ef2231ab
|
ircd:Ⓜ️ Add a vm::opts* to m:room as a vehicle for opts to eval.
|
2018-03-28 22:17:09 -07:00 |
|
Jason Volk
|
4760d36847
|
ircd::ctx: Move unlock_guard from util:: to ctx::.
|
2018-03-28 22:17:09 -07:00 |
|
Jason Volk
|
1a02642aef
|
ircd::json: Eliminate redundant sort for tuple.
|
2018-03-28 18:12:49 -07:00 |
|
Jason Volk
|
aca515a961
|
ircd:Ⓜ️ Add missing property 'data' name string.
|
2018-03-28 14:17:49 -07:00 |
|
Jason Volk
|
85bafcb7de
|
ircd:Ⓜ️ Improve init ordering and process.
|
2018-03-28 14:11:33 -07:00 |
|
Jason Volk
|
43b92dc95d
|
ircd:Ⓜ️ Minor cleanup.
|
2018-03-28 14:11:33 -07:00 |
|
Jason Volk
|
14b540c6a8
|
ircd:Ⓜ️ Add v1::groups namespace; add publicised requestor.
|
2018-03-28 01:29:58 -07:00 |
|
Jason Volk
|
7657fde5db
|
ircd::db: Add function to get single txn into closure by seqnum.
|
2018-03-27 21:44:01 -07:00 |
|
Jason Volk
|
301b1d684b
|
ircd::db: Adjust txn seq_closure to take seqnum reference.
|
2018-03-27 21:44:01 -07:00 |
|
Jason Volk
|
ff1fe4284d
|
ircd:Ⓜ️ Add central linkage for join by alias; move bootstrap to rooms/join.
|
2018-03-27 21:44:01 -07:00 |
|
Jason Volk
|
543a1988b9
|
ircd::ctx: Candidate fixes for view sequencing.
|
2018-03-27 21:44:01 -07:00 |
|
Jason Volk
|
8f9caa33c3
|
ircd::ctx: Conclude the best name for function after deliberation.
|
2018-03-27 00:52:02 -07:00 |
|
Jason Volk
|
5b91cbdca1
|
ircd::ctx: Add share counter observer to shared_mutex.
|
2018-03-26 23:29:58 -07:00 |
|
Jason Volk
|
47edaed3a6
|
ircd::server: Add stats for total bytes up and down to peer and links.
|
2018-03-26 23:29:58 -07:00 |
|
Jason Volk
|
270120c922
|
ircd::server: Rename _total() to _size() for bytes accounting.
|
2018-03-26 23:29:58 -07:00 |
|
Jason Volk
|
807f3c4545
|
ircd::ctx: view::wait_until() needs to throw on timeout.
|
2018-03-26 23:29:58 -07:00 |
|
Jason Volk
|
26b33a1845
|
ircd::ctx: Remove the cv_status enum.
|
2018-03-26 23:29:58 -07:00 |
|
Jason Volk
|
c6b9c06302
|
ircd::ctx: Avoid any possible ambiguities with location of *current.
|
2018-03-26 23:29:57 -07:00 |
|
Jason Volk
|
85dab56f50
|
ircd::mods: Fix reference cast initialization.
|
2018-03-26 02:28:02 -07:00 |
|
Jason Volk
|
15c65924ee
|
ircd::util: Abstract stringstream utils into template; add view hack.
|
2018-03-25 23:17:42 -07:00 |
|
Jason Volk
|
6574da4b22
|
ircd: Add tokens_before() to suite.
|
2018-03-25 17:32:57 -07:00 |
|
Jason Volk
|
34abaea046
|
ircd::mods: Move the call to the init function after the mod ctor.
|
2018-03-25 16:10:52 -07:00 |
|
Jason Volk
|
291b6dc286
|
ircd::mods: Add shared_from mod& sym_ptr ctor; adjust conversions.
|
2018-03-25 16:10:52 -07:00 |
|
Jason Volk
|
bdd5006f32
|
ircd: Add missing replace() stringops overload.
|
2018-03-25 14:57:09 -07:00 |
|
Jason Volk
|
f36af09789
|
ircd::mods: Interface modernization; various cleanup; reorg.
|
2018-03-25 14:32:24 -07:00 |
|
Jason Volk
|
a2eb756548
|
ircd::ctx: Split this_ctx:: from ctx.h; minor reorg.
|
2018-03-25 02:04:42 -07:00 |
|
Jason Volk
|
2a8f31c89c
|
ircd:Ⓜ️:dbs: Add db::op to write_opts; support SET and DELETE write() via opts.
|
2018-03-24 23:29:46 -07:00 |
|
Jason Volk
|
d3c5845ee4
|
ircd::db: Support different db::op types in txn::append(tuple).
|
2018-03-24 23:29:46 -07:00 |
|
Jason Volk
|
f60aad8753
|
ircd: Add default construction for byte_view<string_view>.
|
2018-03-24 22:49:45 -07:00 |
|
Jason Volk
|
441a692dfc
|
ircd::ctx: Device to allow context switching in exception handler.
|
2018-03-24 18:00:04 -07:00 |
|
Jason Volk
|
ecce9d0433
|
ircd::http: Allow default constructed sentinel error.
|
2018-03-24 16:42:42 -07:00 |
|
Jason Volk
|
e81908d1f8
|
ircd::log: Fix DCE not eliminating template parameter packs.
|
2018-03-24 14:55:53 -07:00 |
|
Jason Volk
|
4ac88356d9
|
ircd::ctx: Ignore strict aliasing for hacks we never dereference.
|
2018-03-23 23:11:03 -07:00 |
|
Jason Volk
|
d745e65ee1
|
ircd::mods: Split up; clean up; reorg.
|
2018-03-23 22:52:36 -07:00 |
|
Jason Volk
|
fe6f09d218
|
ircd::mods: Preliminary ADL wrappage of mods::mod.
|
2018-03-23 22:52:36 -07:00 |
|
Jason Volk
|
0dcf117910
|
ircd::mods: Provide a reference to the module's own handle inside the module.
|
2018-03-23 22:52:36 -07:00 |
|
Jason Volk
|
a08670cf48
|
ircd::fs: Support the yielding stdin readline in libircd.
|
2018-03-23 22:52:36 -07:00 |
|
Jason Volk
|
db8810e397
|
ircd::ctx: Integrate custom interruption action.
|
2018-03-23 22:17:10 -07:00 |
|
Jason Volk
|
980d24b38e
|
ircd::net: Simplify listener config object.
|
2018-03-23 22:17:10 -07:00 |
|
Jason Volk
|
91c9737f29
|
ircd: Improve runlevel changed callback related.
|
2018-03-23 22:17:09 -07:00 |
|
Jason Volk
|
8ad264f72d
|
ircd: Consolidate demangle related into interface / unit.
|
2018-03-23 22:17:09 -07:00 |
|
Jason Volk
|
e60370de75
|
ircd::json: Remove redundant.
|
2018-03-23 00:42:24 -07:00 |
|
Jason Volk
|
4cae80f9b6
|
ircd:Ⓜ️ Make event interface consistent with proper ADL participation.
|
2018-03-23 00:21:27 -07:00 |
|
Jason Volk
|
50b21edb1c
|
ircd:Ⓜ️ Event hash checking stack.
|
2018-03-23 00:19:55 -07:00 |
|
Jason Volk
|
12e5a3ccea
|
ircd::ctx: Update stale comment.
|
2018-03-22 22:27:12 -07:00 |
|
Jason Volk
|
83bdb7161c
|
ircd::db: Add interface to iterate the database's txn log.
|
2018-03-22 20:52:14 -07:00 |
|
Jason Volk
|
2671f4eb90
|
ircd::db: Add txn ctor claiming a rocksdb::WriteBatch.
|
2018-03-22 20:52:14 -07:00 |
|
Jason Volk
|
d40b18633f
|
ircd::db: Move txn::handler struct to db/database headers.
|
2018-03-22 20:47:46 -07:00 |
|
Jason Volk
|
fcbc2bf650
|
ircd::db: Add database checkpointing feature.
|
2018-03-22 20:08:50 -07:00 |
|
Jason Volk
|
421f2f5220
|
ircd::db: Util to flush all columns in db.
|
2018-03-22 19:55:15 -07:00 |
|
Jason Volk
|
cbfb105765
|
ircd::db: Minor cleanup; interface const consistency on our side.
|
2018-03-22 19:39:14 -07:00 |
|
Jason Volk
|
2116cf6254
|
ircd:Ⓜ️ Add user::profile suite w/ linkage to modules/client/profile.
|
2018-03-22 16:27:15 -07:00 |
|
Jason Volk
|
a68d97d22d
|
ircd::util: Static assertion of va_rtti argument count.
|
2018-03-22 13:31:58 -07:00 |
|
Jason Volk
|
9c26c5facd
|
ircd:Ⓜ️:vm: Option to verify origin signature on eval.
|
2018-03-22 01:31:17 -07:00 |
|
Jason Volk
|
ef0a3d6e6c
|
ircd::http: Write fixed sized integer for chunk size.
|
2018-03-21 23:20:33 -07:00 |
|
Jason Volk
|
679f3e760a
|
ircd::http: Add 411 Length Required.
|
2018-03-21 23:01:23 -07:00 |
|
Jason Volk
|
df605d5646
|
ircd::json: Add functions to determine if object members are sorted.
|
2018-03-21 12:33:43 -07:00 |
|
Jason Volk
|
5dc9bc3240
|
ircd::net: Update stale comment.
|
2018-03-21 01:33:30 -07:00 |
|
Jason Volk
|
615ccdc426
|
ircd::json: Hello, goodbye.
|
2018-03-20 23:51:14 -07:00 |
|
Jason Volk
|
fef1c0b1b8
|
ircd::json: Add stringify vector of object::member.
|
2018-03-20 23:40:31 -07:00 |
|
Jason Volk
|
9f256b9cb4
|
ircd:Ⓜ️ Distill essential key selection into separate functions.
|
2018-03-20 22:03:53 -07:00 |
|
Jason Volk
|
7f06300cb8
|
ircd:Ⓜ️ Extend the verify() stack with overloads that yield for IO.
|
2018-03-20 19:26:59 -07:00 |
|
Jason Volk
|
f121509dba
|
ircd:Ⓜ️ Event verification.
|
2018-03-20 19:16:04 -07:00 |
|
Jason Volk
|
0b3ec2b476
|
ircd:Ⓜ️ Convenience to close over decoded ed25519::pk directly.
|
2018-03-20 18:46:20 -07:00 |
|
Jason Volk
|
e74fb81860
|
ircd:Ⓜ️ Overloads to sign event with supplied sk / json::object.
|
2018-03-20 18:19:45 -07:00 |
|
Jason Volk
|
7a9bb89506
|
ircd::json: All output through the generator.
|
2018-03-20 17:39:57 -07:00 |
|
Jason Volk
|
d21c2fc37c
|
ircd::server: Separate out the link's socket read function.
|
2018-03-20 16:31:02 -07:00 |
|
Jason Volk
|
09d971fa9e
|
ircd::json: Make print_error an assertion; improve output validation messages.
|
2018-03-20 16:31:02 -07:00 |
|
Jason Volk
|
2a539cb22c
|
ircd::json: Ensure space for null string terminator in print().
|
2018-03-20 14:12:44 -07:00 |
|
Jason Volk
|
6e7751eaf3
|
ircd::server: Receive chunked transfer-encoding.
|
2018-03-20 14:12:44 -07:00 |
|
Jason Volk
|
7a86a134fc
|
ircd::buffer: Add move() analogue.
|
2018-03-20 02:59:03 -07:00 |
|
Jason Volk
|
c8b80046d1
|
ircd::server: Aggregate all accounting values riding on tag into one struct.
|
2018-03-19 20:37:28 -07:00 |
|
Jason Volk
|
2e801a0219
|
ircd::server: Remove content_over from the state and calculate functionally.
|
2018-03-19 20:26:23 -07:00 |
|
Jason Volk
|
90bbbeaf02
|
ircd::server: Save content_length in tag state; fix stepping on content_over calculation.
|
2018-03-19 20:26:23 -07:00 |
|
Jason Volk
|
bf91eb6883
|
ircd::http: Grammar exception translator can be made aware of request vs. response.
|
2018-03-19 14:40:04 -07:00 |
|
Jason Volk
|
daae800cc1
|
ircd::http: Utils to read and write chunk size line.
|
2018-03-18 21:51:55 -07:00 |
|
Jason Volk
|
9723eec4e8
|
ircd::http: Cleanup cruft; remove old chunking.
|
2018-03-18 21:18:00 -07:00 |
|
Jason Volk
|
2872a94b38
|
ircd::spirit: Missing typedefs.
|
2018-03-18 21:18:00 -07:00 |
|
Jason Volk
|
1780504cba
|
ircd:Ⓜ️ Cope with raii fails in m::init for right now.
|
2018-03-17 21:40:27 -07:00 |
|
Jason Volk
|
2b72fae7a1
|
ircd:Ⓜ️ Move the event max_size conf item; add a MAX_SIZE constexpr.
|
2018-03-17 21:40:27 -07:00 |
|
Jason Volk
|
931fe2439e
|
ircd::json: Introduce the json::stack device.
|
2018-03-17 21:40:27 -07:00 |
|
Jason Volk
|
b528920420
|
ircd::buffer: Add window_buffer::rewind(n).
|
2018-03-17 13:14:24 -07:00 |
|
Jason Volk
|
373a791158
|
ircd::json: Limit IOV size and take stringify buffer off-stack.
|
2018-03-17 11:53:21 -07:00 |
|
Jason Volk
|
96818c9a46
|
ircd::buffer: window_buffer closure returns completed().
|
2018-03-17 11:49:35 -07:00 |
|
Jason Volk
|
30eb9178bd
|
ircd: Consolidate spirit typedefs from all relevant units into spirit.h.
|
2018-03-17 10:44:40 -07:00 |
|
Jason Volk
|
af8835aa5c
|
construct/ircd: Add option to soft-indicate no modules should be loaded on startup.
|
2018-03-16 21:42:22 -07:00 |
|
Jason Volk
|
7daef82218
|
construct/ircd: Add option to soft-indicate no listening sockets should be bound.
|
2018-03-16 21:42:22 -07:00 |
|
Jason Volk
|
a632db39d0
|
ircd:Ⓜ️🆔 Elide re-parsing on buffer copying and allow empty buffers.
|
2018-03-16 21:42:22 -07:00 |
|
Jason Volk
|
969bc127e8
|
ircd:Ⓜ️:vm: Fix return values for commit() suite.
|
2018-03-16 21:42:21 -07:00 |
|
Jason Volk
|
7180eae4af
|
ircd:Ⓜ️:vm: Option for infolog post-commit.
|
2018-03-16 13:19:52 -07:00 |
|
Jason Volk
|
c83a47eb0f
|
ircd:Ⓜ️ Handle and report hookfn exception.
|
2018-03-16 13:13:33 -07:00 |
|
Jason Volk
|
e77c382521
|
ircd::http: Add lex_cast'ing suite to http::query::string.
|
2018-03-16 11:11:02 -07:00 |
|
Jason Volk
|
3810b8d57f
|
ircd: Various exception assertions; minor cleanup.
|
2018-03-15 22:25:16 -07:00 |
|
Jason Volk
|
bd60c2cd80
|
ircd::log: Add two new log facilities; comments on facilities.
|
2018-03-15 22:25:16 -07:00 |
|
Jason Volk
|
fbcc64fbbd
|
ircd::ctx: Atomize the dock notification and the then callback during promise notify().
|
2018-03-15 13:16:28 -07:00 |
|
Jason Volk
|
fbb9cf0196
|
ircd::ctx: Cleanup/improve the shared_state states.
|
2018-03-15 11:59:25 -07:00 |
|
Jason Volk
|
150831cd83
|
ircd:Ⓜ️ Add option to elide content keys for pretty_oneline(event).
|
2018-03-14 23:58:34 -07:00 |
|
Jason Volk
|
be6a5b7767
|
modules/m_receipt: Add committer w/ central linkage; read_markers.
|
2018-03-14 22:53:34 -07:00 |
|
Jason Volk
|
f11c98db34
|
modules: Add m.receipt; edu handler stack frames.
|
2018-03-14 21:30:10 -07:00 |
|
Jason Volk
|
6dc834b9c9
|
ircd::util: Add unwind utils that assert whether exception is taking place.
|
2018-03-14 20:23:54 -07:00 |
|
Jason Volk
|
bda7836ebe
|
ircd:Ⓜ️ Move typing commitment to modules/m_typing; central interface/linkage.
|
2018-03-14 17:47:59 -07:00 |
|
Jason Volk
|
7ae6ad47ea
|
ircd:Ⓜ️:vm: Options to generate event_id, origin, origin_server_ts.
|
2018-03-14 16:26:16 -07:00 |
|
Jason Volk
|
2e9ef15cf5
|
ircd:Ⓜ️ Use vector_view here.
|
2018-03-14 16:26:16 -07:00 |
|
Jason Volk
|
da5bca588d
|
ircd::ctx: Have future inherit from the shared_state rather than class member.
|
2018-03-14 13:16:06 -07:00 |
|
Jason Volk
|
465e0f526c
|
ircd::ctx: Move when_any()/when_all() into file.
|
2018-03-14 11:25:53 -07:00 |
|
Jason Volk
|
b16e53337c
|
ircd::server: Use canonized hostport as peer remote; store net::open_opts; minor cleanup.
|
2018-03-13 22:44:13 -07:00 |
|
Jason Volk
|
df3243e31d
|
ircd::net: Eliminate the existing net::remote.
|
2018-03-13 22:44:13 -07:00 |
|
Jason Volk
|
cadabb5521
|
ircd::net: Add suite to print a hostname and port or just hostname based on portnum canon.
|
2018-03-13 22:44:13 -07:00 |
|
Jason Volk
|
368b8c4516
|
ircd:Ⓜ️🆔 Implement MXID interface suite with grammars.
|
2018-03-13 22:44:13 -07:00 |
|
Jason Volk
|
80f4b7151f
|
ircd::buffer: Preliminary shared_buffer.
|
2018-03-13 22:44:13 -07:00 |
|
Jason Volk
|
3eadd31c7f
|
ircd::buffer: Split into directory.
|
2018-03-12 22:48:56 -07:00 |
|
Jason Volk
|
4aaeaff8fb
|
ircd:Ⓜ️:vm: Add options for pre-checked event conformity or skip entirely.
|
2018-03-12 19:38:27 -07:00 |
|
Jason Volk
|
9749d7c609
|
ircd:Ⓜ️:vm: Add wrapping to accepted event notify; further merge EDU and PDU core path.
|
2018-03-12 19:27:53 -07:00 |
|
Jason Volk
|
79f6974f86
|
ircd::net: Wait for destruction of all sockets on shutdown.
|
2018-03-12 18:50:36 -07:00 |
|
Jason Volk
|
09923ff758
|
ircd::server: Add external interface to clear a peer error; w/ console command.
|
2018-03-12 14:20:39 -07:00 |
|
Jason Volk
|
a22e45a9f5
|
ircd: Break down client shutdown; improve various shutdown refusals.
|
2018-03-12 14:20:39 -07:00 |
|
Jason Volk
|
cabeb4c128
|
ircd::net::dns: Add send rate-limiting for resolver queries.
|
2018-03-12 12:20:22 -07:00 |
|
Jason Volk
|
15b3292033
|
ircd: Add ADL participants for vector_view.
|
2018-03-12 11:24:31 -07:00 |
|
Jason Volk
|
a00a71e34c
|
ircd::openssl: Add stringify x509 to JSON.
|
2018-03-12 11:16:49 -07:00 |
|
Jason Volk
|
ed0a62701d
|
ircd::openssl: Utils dealing with ASN1/X509 time related.
|
2018-03-12 11:16:26 -07:00 |
|
Jason Volk
|
c2fbe50bce
|
ircd:Ⓜ️ Add additional event conformity checks.
|
2018-03-12 09:55:45 -07:00 |
|
Jason Volk
|
12fb9747a7
|
ircd::util: Add template to remove_all_pointers<T>.
|
2018-03-11 17:03:06 -07:00 |
|
Jason Volk
|
3242c1929b
|
ircd::ctx: Cleanup future when suite related.
|
2018-03-11 14:51:14 -07:00 |
|
Jason Volk
|
d906025c28
|
ircd::ctx: Replace missed old copyright.
|
2018-03-11 13:54:51 -07:00 |
|
Jason Volk
|
ee48df71a8
|
ircd::ctx: Add future<void> already-ready constructor.
|
2018-03-11 13:40:24 -07:00 |
|
Jason Volk
|
bbd2cbc15b
|
ircd::net: Checkpoint case for read eof in the readiness handler; should split.
|
2018-03-11 13:40:24 -07:00 |
|
Jason Volk
|
f11be8a0d8
|
ircd: Replace the client write_closure thing.
|
2018-03-11 13:40:24 -07:00 |
|
Jason Volk
|
bbc1844c61
|
ircd::http: Status code signage consistency.
|
2018-03-11 10:23:06 -07:00 |
|
Jason Volk
|
ba6832b420
|
ircd: Split out allow methods list generator.
|
2018-03-11 10:22:10 -07:00 |
|
Jason Volk
|
a2be4d3ee5
|
ircd::ctx: Add when_any() / when_all().
|
2018-03-10 23:04:59 -08:00 |
|
Jason Volk
|
07c1356dae
|
ircd::ctx: Improve promise / future behaviors; cleanup.
|
2018-03-10 23:04:59 -08:00 |
|
Jason Volk
|
30700b2ad8
|
ircd::ctx: Support future continuation.
|
2018-03-10 23:04:59 -08:00 |
|
Jason Volk
|
e4d891abac
|
ircd:Ⓜ️ Remove duplicate exists(event_id) util.
|
2018-03-10 23:04:59 -08:00 |
|
Jason Volk
|
046029725a
|
ircd::db: Explicit bool cast for column.
|
2018-03-10 23:04:58 -08:00 |
|
Jason Volk
|
00ba8ebdb4
|
ircd::ctx: Factor shared_ptr out of promise/future.
|
2018-03-10 23:04:58 -08:00 |
|
Jason Volk
|
d59de1a391
|
ircd::server: Improve peer state transitions and destruction paths.
|
2018-03-10 23:04:58 -08:00 |
|
Jason Volk
|
2c4498502a
|
ircd:Ⓜ️ Add txn creation util.
|
2018-03-09 19:41:16 -08:00 |
|
Jason Volk
|
4fa33bdc60
|
Revert "ircd::ctx: Add nodejs-style future::then() rather than libstd experimental TS."
This reverts commit 37569559cf .
|
2018-03-09 19:41:16 -08:00 |
|
Jason Volk
|
28c7826032
|
ircd::db: Add txn::append optimization allowing tuple to make direct column deltas.
|
2018-03-09 19:41:16 -08:00 |
|
Jason Volk
|
49d6d2b8ea
|
ircd::net: Add socket state and assertion for fini.
|
2018-03-09 19:41:16 -08:00 |
|
Jason Volk
|
e2569b4cb6
|
ircd: Disambiguate the litany of response argument variations.
|
2018-03-09 17:10:45 -08:00 |
|
Jason Volk
|
e4a4526b0c
|
ircd::net: Add additional conf items; update resolver timeout to use ms.
|
2018-03-09 17:10:45 -08:00 |
|
Jason Volk
|
4145a94fc8
|
ircd::conf: Abstraction for all lex_cast'able types; add additional duration specializations.
|
2018-03-09 17:10:45 -08:00 |
|
Jason Volk
|
b284f707e5
|
ircd:Ⓜ️:v1: Support query for client_keys; add console command.
|
2018-03-09 17:10:45 -08:00 |
|
Jason Volk
|
9b6ef1189b
|
ircd:Ⓜ️:v1: Support query for user_devices; add console command.
|
2018-03-09 17:10:45 -08:00 |
|
Jason Volk
|
08fc944021
|
ircd:Ⓜ️ Tweak specifics of user/account creation/activation related.
|
2018-03-09 17:10:45 -08:00 |
|
Jason Volk
|
4e75566c94
|
ircd::server: Break down the shutdown process further.
|
2018-03-09 17:10:44 -08:00 |
|
Jason Volk
|
7f336200ea
|
ircd::server: Check and clear peer error after timeout.
|
2018-03-09 12:45:25 -08:00 |
|
Jason Volk
|
81b3916953
|
ircd::server: Simplify without refcounting async ops.
|
2018-03-09 12:45:25 -08:00 |
|
Jason Volk
|
1cfe841462
|
ircd:Ⓜ️ Add additional event::conforms checks; comments.
|
2018-03-09 07:46:26 -08:00 |
|
Jason Volk
|
57deb2212a
|
ircd:Ⓜ️ Add room::messages iterator event_id cast operator.
|
2018-03-08 19:11:47 -08:00 |
|
Jason Volk
|
4a5bea668c
|
ircd/ircd:Ⓜ️ extern event_max_size conf item; minor cleanup.
|
2018-03-08 16:36:49 -08:00 |
|
Jason Volk
|
f2a39394cd
|
ircd:Ⓜ️:vm: Add opts for dbs history/present; use more efficient iov pusher.
|
2018-03-08 15:55:54 -08:00 |
|
Jason Volk
|
e2db58bd81
|
ircd:Ⓜ️:v1: Fix send_join argument.
|
2018-03-08 15:55:02 -08:00 |
|
Jason Volk
|
1e041deb55
|
ircd: Add head-only resource::response; cleanup comments / cruft.
|
2018-03-08 11:42:43 -08:00 |
|
Jason Volk
|
be2a7007fa
|
ircd:Ⓜ️ Add exists(room_alias) with option for remote query; translate not_found exception.
|
2018-03-08 11:39:37 -08:00 |
|
Jason Volk
|
dc59cb8880
|
ircd:Ⓜ️ Overload exists(room) in addition to room::id.
|
2018-03-08 11:38:29 -08:00 |
|
Jason Volk
|
b5ad6b55a6
|
ircd:Ⓜ️:vm: Add eval options for hashing signing and pre-commit debuglog.
|
2018-03-08 10:08:38 -08:00 |
|
Jason Volk
|
1e6d3d3294
|
ircd:Ⓜ️:vm: Add opts argument to event commission; comment cleanup.
|
2018-03-08 10:08:38 -08:00 |
|
Jason Volk
|
4670fdbd1b
|
ircd: Remove ircd::error_code typedef with more local typedefs.
|
2018-03-08 10:08:38 -08:00 |
|
Jason Volk
|
f10c61e046
|
ircd: Add integration utils for system and boost error related.
|
2018-03-08 09:35:59 -08:00 |
|
Jason Volk
|
eafa9fd5b2
|
ircd: Move boost system error related out of ios.h to exception.h et al.
|
2018-03-08 08:40:26 -08:00 |
|
Jason Volk
|
f1fb3d8b49
|
ircd::server: Add peer::err object.
|
2018-03-08 08:24:19 -08:00 |
|
Jason Volk
|
19e6db0a33
|
ircd::util: Add util to get what() from std::exception_ptr.
|
2018-03-08 08:23:50 -08:00 |
|
Jason Volk
|
8c02823d49
|
ircd: Tweak client error handling; fwddecl json::expectation_failure.
|
2018-03-08 07:40:41 -08:00 |
|
Jason Volk
|
f1a45cc9df
|
ircd:Ⓜ️ Libify hashing/signing functions out of vm::commit().
|
2018-03-07 13:28:15 -08:00 |
|
Jason Volk
|
901a77266e
|
ircd:Ⓜ️:vm: Massage edus through the core eval path; rename inserted to accept.
|
2018-03-07 13:28:15 -08:00 |
|
Jason Volk
|
37569559cf
|
ircd::ctx: Add nodejs-style future::then() rather than libstd experimental TS.
|
2018-03-07 09:13:55 -08:00 |
|
Jason Volk
|
6d0c74a064
|
ircd::ctx: Remove the promise/state reset(): should expect assignment instead.
|
2018-03-07 09:07:13 -08:00 |
|
Jason Volk
|
bc184b4d52
|
ircd::ctx: Have futures throw timeout exceptions by default; add nothrows.
|
2018-03-07 08:17:50 -08:00 |
|
Jason Volk
|
9b44217ea4
|
ircd::server: Rename opts member pointer to opt.
|
2018-03-07 07:23:35 -08:00 |
|
Jason Volk
|
daa1d6481c
|
ircd::http: Remove the no-longer used content related.
|
2018-03-06 11:24:10 -08:00 |
|
Jason Volk
|
ea3f7abde5
|
ircd::server: Add state to deny any resubmission on peer close.
|
2018-03-06 04:51:20 -08:00 |
|
Jason Volk
|
d50714ab7d
|
ircd:Ⓜ️:v1: Default ctors for all classes.
|
2018-03-06 04:28:17 -08:00 |
|
Jason Volk
|
2ec4bd025f
|
ircd::net: Underp the cache map until heterogeneous key support in stdlib.
|
2018-03-06 04:03:31 -08:00 |
|
Jason Volk
|
7021250cc3
|
ircd: Fix proper default constexpr ctor.
|
2018-03-06 03:51:51 -08:00 |
|
Jason Volk
|
2ef5f4c72c
|
ircd::ctx: Rename notify to expose.
|
2018-03-06 03:50:39 -08:00 |
|
Jason Volk
|
29f08d3615
|
ircd::ctx: Add functions to peek at the queue size of the mutexes.
|
2018-03-06 01:09:37 -08:00 |
|
Jason Volk
|
c864a6b446
|
ircd:Ⓜ️ Move keys related into modules/key; keys into node's room; remaining keys.cc into m.cc.
|
2018-03-06 00:10:36 -08:00 |
|
Jason Volk
|
0fe0d548c0
|
ircd:Ⓜ️ Consistent cast to eponymous mxid for classes.
|
2018-03-05 23:47:23 -08:00 |
|
Jason Volk
|
63614107f8
|
ircd:Ⓜ️ Introduce the node and the node::room.
|
2018-03-05 23:47:23 -08:00 |
|
Jason Volk
|
bbf1cff21b
|
ircd:Ⓜ️🆔 Rename origin to node.
|
2018-03-05 08:22:24 -08:00 |
|
Jason Volk
|
327e4da356
|
ircd::server: Rename node to peer.
|
2018-03-05 06:59:10 -08:00 |
|
Jason Volk
|
f7223b0688
|
ircd::ctx: Consolidate view and shared_view with more template.
|
2018-03-05 05:49:26 -08:00 |
|
Jason Volk
|
ec0d151827
|
ircd:Ⓜ️ Move user::password related to modules/client/account/password.
|
2018-03-05 05:24:45 -08:00 |
|
Jason Volk
|
f8dc84d46e
|
ircd:Ⓜ️ Modularize the user::activate/user::deactivate definitions.
|
2018-03-05 05:24:45 -08:00 |
|
Jason Volk
|
01ce9a3d6f
|
ircd:Ⓜ️ Move spec tuples into headers.
|
2018-03-05 05:24:45 -08:00 |
|
Jason Volk
|
bfc2ab4eef
|
ircd:Ⓜ️ Improve error ctor related.
|
2018-03-05 01:34:03 -08:00 |
|
Jason Volk
|
664bee7f78
|
ircd::json: Add semantics to prevent json::strung'ing itself.
|
2018-03-05 01:09:37 -08:00 |
|
Jason Volk
|
b37bb580be
|
ircd:Ⓜ️ Deinline these error ctors.
|
2018-03-05 01:07:52 -08:00 |
|
Jason Volk
|
8b7b8bb584
|
ircd:Ⓜ️🆔 Add function to update buffer's view after direct write.
|
2018-03-05 00:52:24 -08:00 |
|
Jason Volk
|
cc7dd13e4e
|
ircd::http: Fix enum decl related and struct packing of error.
|
2018-03-05 00:37:05 -08:00 |
|
Jason Volk
|
a39781924c
|
ircd:Ⓜ️ Take this buffer off-stack.
|
2018-03-04 09:21:51 -08:00 |
|
Jason Volk
|
69b0acde63
|
ircd:Ⓜ️ Preliminary reorg around experimental presence interface.
|
2018-03-04 08:57:02 -08:00 |
|
Jason Volk
|
e2ddeb4190
|
ircd:Ⓜ️ Add edu tuples; improve txn tuple typing.
|
2018-03-04 08:57:01 -08:00 |
|
Jason Volk
|
c7ae8d3f27
|
ircd::server: Fix conditions for link removal from link::close().
|
2018-03-04 02:09:41 -08:00 |
|
Jason Volk
|
240e01a9b5
|
ircd:Ⓜ️ Integrate present room state table optimization into interface.
|
2018-03-04 02:09:41 -08:00 |
|