Danilo Spinella
92c434e061
ircd/fs.cc: Add cast to fix build with gcc-10
2020-12-23 03:56:43 -08:00
Danilo Spinella
d87e7a5e32
irdc/rfc3986: Fix build with latest Boost
...
From `boost/spirit/home/karma/nonterminal/rule.hpp`:
BOOST_STATIC_ASSERT_MSG(
!is_reference<attr_type>::value && !is_const<attr_type>::value,
"Const/reference qualifiers on Karma rule attribute are meaningless");
2020-12-23 03:56:43 -08:00
Jason Volk
78cbd244c4
ircd::db: Lower the global write mutex to database instance member.
2020-12-23 03:56:43 -08:00
Jason Volk
7bacbe82c7
ircd: Reorder ios to precede fs/prof units.
2020-12-23 03:56:43 -08:00
Jason Volk
1f164304a6
ircd::db::prefetcher: Integrate ticker items into ircd::stats system.
2020-12-23 03:56:43 -08:00
Jason Volk
9f0c081ac8
ircd::stats: Add signed integer, chrono specializations; use panic exception.
2020-12-23 03:56:43 -08:00
Jason Volk
dfa75cd421
ircd::stats: Abstract items into templates w/ special instantiations.
2020-12-23 03:56:43 -08:00
Jason Volk
d6d518666e
ircd::db: Inline various undersized; mark un-inlinable for hot section.
2020-12-23 03:56:43 -08:00
Jason Volk
6991ecc764
ircd: Remove various trivial tls bufs.
2020-12-22 18:40:30 -08:00
Jason Volk
b503766f1a
ircd: Additional ICP targets for json::type/object::begin()/array::begin().
2020-12-21 01:19:33 -08:00
Jason Volk
22b30b1a0a
ircd::db::database: Track state of WriteStallCondition in our column instance.
2020-12-21 00:44:14 -08:00
Jason Volk
d884757155
ircd::db: Use computed level0 triggers; indicate rocksdb invariant from warnlog.
2020-12-21 00:44:14 -08:00
Jason Volk
510b8d4aad
ircd::db: Remove yield in several callbacks; assertion for stoppage.
2020-12-21 00:44:14 -08:00
Jason Volk
a049063562
ircd::db: Additional debuglog in releasemode; tweak formats; improve msgs.
2020-12-21 00:22:22 -08:00
Jason Volk
07ec766ff9
ircd::ios: Consolidate dispatch/post/defer interfaces; minor fixes.
2020-12-20 06:02:50 -08:00
Jason Volk
099c7754ff
ircd::stats: Simplify f7945918c; eliminate sort.
2020-12-20 06:01:19 -08:00
Jason Volk
9655a6311f
ircd: Simplify the async main init fiasco w/ continuation callback.
2020-12-18 17:41:26 -08:00
Jason Volk
96fa20244b
ircd::stringops: Fix missing boolmask in character replace transforms.
2020-12-18 04:04:01 -08:00
Jason Volk
f7945918c6
ircd::stats: Use vector for item iteration; add name convenience member.
2020-12-18 04:04:01 -08:00
Jason Volk
5ee8405117
ircd::resource: Integrate method stats into ircd::stats.
2020-12-18 02:45:03 -08:00
Jason Volk
1f2abfb64a
ircd::ios: Integrate descriptor::stats into ircd::stats system.
2020-12-18 02:42:07 -08:00
Jason Volk
e80629c914
ircd: Rename all ios::descriptors w/ consistent dot namespacing.
...
ircd: Hoist various ios::descriptors out of function-static duration.
2020-12-18 02:42:07 -08:00
Jason Volk
af59cc1378
ircd::fs::aio: Integrate stats structure into ircd::stats system.
2020-12-18 02:42:07 -08:00
Jason Volk
3eb664bbe9
ircd::stats: Use trapping exception for developer errors.
2020-12-18 02:41:56 -08:00
Jason Volk
28f0195b59
ircd::mods: Disable interruption on unload(); guard unloading list; noexcept.
2020-12-15 16:56:07 -08:00
Jason Volk
c0892e79f4
ircd::resource::method: Disable interruption while waiting for idle.
2020-12-15 16:56:07 -08:00
Jason Volk
6f66ff5bac
ircd::resource::response::chunked: Support user-supplied buffer constructions.
2020-12-15 16:56:07 -08:00
Jason Volk
1949e6e37d
ircd::fs::aio: Post the chaser w/ defer for more delay.
2020-12-14 00:37:01 -08:00
Jason Volk
b54d4950cc
ircd::fs::aio: Optimize system call pattern; eliminate exclusive calls to poll(2).
2020-12-14 00:37:01 -08:00
Jason Volk
6696693f8b
ircd::ios: Add legit framework for core loop optimizations. (related 7df5592ebe
)
2020-12-14 00:36:32 -08:00
Jason Volk
a10429c15f
ircd: Improve terminate interface; simplify impl.
2020-12-13 10:45:34 -08:00
Jason Volk
956ea6edb6
ircd::ctx: Add constexpr toggles covering all possible branches.
2020-12-13 08:29:33 -08:00
Jason Volk
799c4e1691
ircd::ctx: Add ios profile debuglog indicating ctx::wake().
2020-12-13 08:29:33 -08:00
Jason Volk
d947b5e724
ircd::ios: Add missing context switch for dispatch; assertions.
2020-12-13 08:29:33 -08:00
Jason Volk
9ca664d231
ircd::ios: Split headers into directory; minor reorg.
...
ircd::ios: Move profile constexprs into namespace.
2020-12-13 08:29:29 -08:00
Jason Volk
befe5ac750
ircd::ios: Fix use of default static descriptor instead of passed argument.
2020-12-12 18:18:28 -08:00
Jason Volk
af102fcab6
ircd::ios: Increase descriptor name width in debuglog.
2020-12-12 00:35:36 -08:00
Jason Volk
ddfac32b85
ircd::ios: Elide std::function for hot descriptor calls.
2020-12-11 22:50:57 -08:00
Jason Volk
5151a3b934
ircd::ios: Inline additional handler related definitions.
2020-12-11 22:50:57 -08:00
Jason Volk
b798192c15
ircd::rand: Improve xoshiro256p default values; improve interface consistency.
...
ircd::rand: Reorg iface; deinline mersenne twister so it's not emitted everywhere.
2020-12-11 22:50:57 -08:00
Jason Volk
972502fd19
ircd::json: Inline trivial array::empty(); label branch expect.
2020-12-10 08:34:22 -08:00
Jason Volk
c5bcbe5afd
ircd::ios: Add constexpr verbose debug; add inline enqueue(); reorg.
...
ircd::ios: Simplify fault handler; reuse leave() codepath.
2020-12-09 02:16:50 -08:00
Jason Volk
bf3fa0a122
ircd::log: Propagate noexcept to interface vlog().
2020-12-09 02:16:50 -08:00
Jason Volk
e0a64b47ee
ircd::ios: Add logging facility for subsystem.
2020-12-07 14:18:42 -08:00
Jason Volk
d194635a5e
ircd::server: Fix dynamic chunked encoding buffers not reused, affecting large transfers.
2020-12-07 12:06:57 -08:00
Jason Volk
29b041e3a2
ircd::prof: Split prof::psi from prof_linux unit.
2020-12-06 10:36:47 -08:00
Jason Volk
6f8d2c7578
ircd::fs::prof::psi: Eliminate non-trivial thread_local.
2020-12-06 10:36:47 -08:00
Jason Volk
7751f9d0fa
ircd::db: Optimize db::cached() query.
2020-12-06 10:27:27 -08:00
Jason Volk
afe314a408
ircd::net::dns::resolver: Prevent retry of ServFail to the same server.
2020-12-06 10:27:27 -08:00
Jason Volk
bba89fd3e5
ircd::log: Fix level::CRITICAL breakthroughs to stdio; minor cleanup.
2020-12-06 10:27:27 -08:00
Jason Volk
ff9375a408
ircd: Allow several debug msgs in release build; tweak facilities.
2020-12-01 00:00:54 -08:00
Jason Volk
9fa174fe89
ircd::server: Improve logging of actual target host names in handlers.
2020-11-29 14:07:55 -08:00
Jason Volk
478a871326
ircd: Add ICP for json::object::const_iterator::operator++ to profile.
2020-11-28 15:44:18 -08:00
Jason Volk
770fabcacd
ircd: Add target to preprocess PGO data bundled in text form.
...
matrix: Add target to preprocess PGO data bundled in text form.
2020-11-28 14:35:45 -08:00
Jason Volk
d0edf478ab
ircd::log: Disable output to file by default for ERROR/WARNING.
2020-11-28 13:16:44 -08:00
Jason Volk
716f26216d
configure: Consolidate applications of -fmax-errors/-ferror-limit.
2020-11-28 12:42:32 -08:00
Jason Volk
ded8f05064
ircd::tokens: Simplify interface w/ closure template; eliminate named closure.
...
ircd::tokens: Minor interface cleanup; inline linkages.
2020-11-27 20:06:19 -08:00
Jason Volk
b00a96d0ce
ircd::json: Simplify grammars negated based on prior assumptions.
2020-11-27 18:31:18 -08:00
Jason Volk
910dafbb85
configure: Improve profile build related.
2020-11-27 17:29:54 -08:00
Jason Volk
0f851d1d98
ircd: Use thin mode for LTO.
...
matrix: Use thin mode for LTO.
2020-11-27 17:29:28 -08:00
Jason Volk
00bd72e3ff
ircd::http: Fix erroneous binding name.
2020-11-27 16:58:20 -08:00
Jason Volk
d16dca495f
ircd::magick: Limit request dimensions to the image dimensions ( closes #161 ).
2020-11-19 19:06:04 -08:00
Jason Volk
d861132d95
ircd::magick: Fix aspect on scale method. ( #161 )
2020-11-19 19:06:04 -08:00
Jason Volk
5152cfb574
ircd::server: Close peer w/ cached error based on cloudflare 522 et al.
2020-11-18 21:02:49 -08:00
Jason Volk
119f5a88fc
ircd::fs::path: Translate boost exceptions coming out of tool impls.
2020-11-16 07:22:12 -08:00
Jason Volk
6a5dbfe228
ircd::fs::path: Additional reorg; add safe path() overload; add missing parent().
2020-11-15 02:27:33 -08:00
Jason Volk
34cf3e032e
ircd::fs::path: Add absolute() to interface.
2020-11-14 00:59:09 -08:00
Jason Volk
cb223b97c0
ircd::fs::path: Add canonical() suite to interface; minor reorg.
2020-11-14 00:59:09 -08:00
Jason Volk
b447b9dd42
ircd: Additional replace() overloads; use consistent integral character arguments.
2020-11-13 22:46:36 -08:00
Jason Volk
f92f72cc73
ircd::json: Add proper utf16 surrogate unescape transform.
2020-11-13 21:08:31 -08:00
Jason Volk
14a20955ec
ircd: Deinline some replace() stringops.
2020-11-13 21:07:14 -08:00
Jason Volk
fbc3ab87e9
ircd::ctx: Add interface to change name; implement posix handler.
2020-11-13 21:07:14 -08:00
Jason Volk
a9c6c76467
ircd::json: Implement string unescaping; streaming transform.
2020-11-13 21:07:14 -08:00
Jason Volk
5f1b46aa8b
ircd::server: Fix explicit port overriding service query (regression f0f25ff236
).
2020-11-11 22:49:39 -08:00
Jason Volk
da0464e101
ircd::server: Reorg peer::resolve() as unary using member data.
2020-11-11 22:49:39 -08:00
Jason Volk
e20d1d48c4
ircd::json: Fix parallel transform over control sequence.
2020-11-11 22:49:39 -08:00
Jason Volk
5958e73ff8
ircd::json: Add integrated type-checking overloads to reduce call count.
2020-11-11 22:49:39 -08:00
Jason Volk
471de2e6b6
ircd::db::env: Restart writes after interrupt across whole env.
2020-11-11 13:11:57 -08:00
Jason Volk
e7bdcedd29
ircd::rfc3986: Use uppercase hex characters for encoding.
2020-11-08 03:48:57 -08:00
Jason Volk
076cfb32f5
ircd::info: Fix use of _sv outside of ircd:: (aarch64).
2020-11-08 02:25:31 -08:00
Jason Volk
5335c6b29f
ircd::net::dns::resolver: Slightly more aggressive rate tweak.
2020-11-06 22:06:16 -08:00
Jason Volk
04f6e9692a
ircd::net::dns::resolver: Improve timeout cycle; avoid false positives under load.
2020-11-06 22:06:16 -08:00
Jason Volk
27d0c25f9b
ircd::net::dns::resolver: Split recv into function from work loop.
2020-11-06 22:04:46 -08:00
Jason Volk
749647bb89
ircd::server: Limit the cancelled head size to copy.
2020-11-06 22:04:46 -08:00
Jason Volk
c9b1b37505
ircd::http: Increase buffer size; report proper error for exceeding.
2020-11-05 22:10:54 -08:00
Jason Volk
41fecb72e9
ircd::server: Replace underscored conf item names.
2020-11-05 22:10:54 -08:00
Jason Volk
f0f25ff236
ircd::server: Re-resolve DNS for peer after TTL expiration.
2020-11-05 22:10:54 -08:00
Jason Volk
d6200a7ac3
ircd::server: Add DNS expiration TTL state to peer.
2020-11-05 22:10:54 -08:00
Jason Volk
ba24dd1018
ircd::net: End exception before calling user in any handler.
2020-11-05 22:10:54 -08:00
Jason Volk
f3886d60d8
ircd: Replace callsites w/ template deduced mutable_cast.
2020-11-05 22:10:53 -08:00
Jason Volk
857979744f
ircd::server: Add conf item to toggle whole unit.
2020-11-05 22:10:53 -08:00
Jason Volk
b4613b8132
ircd::server: Move conf item into namespace; minor reorg.
2020-11-05 22:10:53 -08:00
Jason Volk
536a496bee
ircd::allocator: Add incore(); replace as fs::fincore() impl.
2020-11-05 22:10:53 -08:00
Jason Volk
a0a3eeb16e
ircd::allocator: Minor reorg; dedup alignment utils.
2020-11-05 22:10:53 -08:00
Jason Volk
92b3ba4643
ircd::json: Minor simplify error message.
2020-11-05 22:10:53 -08:00
Jason Volk
cd2a71d3c2
construct: Remove -checkdb flag; replace w/ -diagnostic checkdb.
2020-11-05 22:10:53 -08:00
Jason Volk
5d55188294
ircd::db::database::events: Add log level case for unrecoverable severity.
2020-10-31 12:05:51 -07:00
Jason Volk
eaefcceefb
ircd::db::database: Pair 'recover' open value with WAL skip consistency.
2020-10-29 07:49:04 -07:00
Jason Volk
90c2ecd2e1
ircd::prof: Remove/reduce function thread-local buffers.
2020-10-29 04:06:59 -07:00
Jason Volk
686721d0dc
ircd::info: Replace anonymous construction w/ fixed_buffer.
2020-10-29 03:51:56 -07:00
Jason Volk
91e3f8a2b8
ircd::net::addrs: Fix attribute portage.
2020-10-29 03:51:56 -07:00
Jason Volk
e918bf06bb
ircd::exec: Synchronize join to fix waitpid()=ECHILD.
2020-10-28 04:35:49 -07:00
Jason Volk
1e1f4982fa
ircd::db::database::wal_filter: Improve debug output.
2020-10-28 03:31:55 -07:00
Jason Volk
bbefffe2ac
ircd::ctx: Hoist adjoindre class member to static.
2020-10-28 03:31:55 -07:00
Jason Volk
f026e81a07
ircd: Instrument against string_view(string&&) impossible construction..
2020-10-28 03:31:55 -07:00
Jason Volk
975c54a1a3
ircd::db::env: Remove irrelevant information in debuglog.
2020-10-27 22:44:06 -07:00
Jason Volk
87b1b764c1
ircd::db: Add convenience overload debug(rocksdb::WriteBatch)
2020-10-27 22:44:06 -07:00
Jason Volk
71879a9fa1
ircd::db: Allow conditional debuglog message in release-mode; minor cleanup.
2020-10-27 22:44:05 -07:00
Jason Volk
ea5ebb4a12
ircd::exec: Set PDEATHSIG in the child for crash action.
2020-10-27 07:55:31 -07:00
Jason Volk
ed5875c869
ircd::json: Remerge tool header with index header; use value argument.
2020-10-27 01:17:06 -07:00
Jason Volk
7e22894437
ircd::http: Add default User-Agent header if none specified.
2020-10-25 00:09:59 -07:00
Jason Volk
fea49e07df
ircd::exec: Set signal mask for the child process.
2020-10-24 06:26:38 -07:00
Jason Volk
f4558a84e6
ircd::exec: Implement callback handler suite; async wait().
2020-10-24 05:41:46 -07:00
Jason Volk
9593a925a8
ircd::exec: Improve signal/join process.
2020-10-24 05:41:42 -07:00
Jason Volk
52750835be
ircd::exception: Fix inconsistent format string.
2020-10-24 01:59:11 -07:00
Jason Volk
7c931b880e
ircd::exec: Additional signals; exception handling.
2020-10-20 23:20:41 -07:00
Jason Volk
86a8509b26
ircd: Ⓜ️ :exec: Add options structure; add logging/detach related options.
2020-10-20 23:20:41 -07:00
Jason Volk
e5b0fe25c7
ircd::fs: Add is_exec() to interface.
2020-10-20 23:20:41 -07:00
Jason Volk
1d97263066
ircd::proc: Add basic subprocess interface; ios integration.
2020-10-20 23:20:41 -07:00
Jason Volk
59495a74bf
ircd::json: Fix unadjusted serial size for object::member property names.
2020-10-20 23:20:41 -07:00
Jason Volk
e923054e85
ircd::fmt: Relax string specifier grammar from printable to non-control.
2020-10-20 22:19:34 -07:00
Jason Volk
51fdf2bfdf
ircd::rfc3986::decoder: Relax decode restriction to all non-control.
2020-10-20 22:19:34 -07:00
Jason Volk
9d45118628
ircd::rfc3986::decoder: Relax unreserved characters to non-control.
2020-10-20 21:48:06 -07:00
Jason Volk
6fce2adc69
ircd::info: Add explicit compiler version in init infolog.
2020-10-17 16:50:31 -07:00
Jason Volk
6da204b063
construct: Fix exception propagation; interrupt masking during runlevel change.
2020-10-17 16:01:36 -07:00
Jason Volk
dc388a0f09
ircd::ctx: Use vg::stack registration in stack allocator.
2020-10-16 14:32:06 -07:00
Jason Volk
f6bc11b76a
ircd::vg: Add stack register/deregister to interface.
...
ircd::vg: Use extern const bool for active(); minor reorg.
2020-10-16 14:32:06 -07:00
Jason Volk
8759f9d209
ircd::vg: Split allocator::vg to vg:: in header.
2020-10-16 10:05:23 -07:00
Jason Volk
339e86d2b8
ircd::ctx: Hoist various function static descriptor objects; inline courtesy yield().
2020-10-16 05:19:14 -07:00
Jason Volk
9b36a87741
ircd::json: Allow trailing valid whitespace in tight validator.
2020-10-16 02:40:39 -07:00
Jason Volk
9d1741f5b4
ircd::server: Add asynchronous prelink() to interface.
2020-10-16 02:40:39 -07:00
Jason Volk
2ad38e0865
ircd::resource: Strip both sides during params string assignment.
2020-10-16 02:40:39 -07:00
Jason Volk
8d174ea80d
ircd::ctx: Workaround ircd::size() assertion due to begin(buf)=nullptr.
...
ircd::ctx: Fix error.
2020-10-15 06:09:31 -07:00
Jason Volk
543ff4d820
ircd::db::database::sst: Improve compression percentage related.
2020-10-14 21:07:03 -07:00
Jason Volk
ad41fb69a9
ircd::ctx: Support user-supplied stacks.
2020-10-14 02:22:45 -07:00
Jason Volk
28eaf63543
ircd::ctx: Convey allocated stack for context to context at entry.
2020-10-14 02:22:45 -07:00
Jason Volk
5d23b8657e
ircd::ctx: Hook the asio spawn helper.
2020-10-14 02:22:45 -07:00
Jason Volk
dba80e17b1
ircd::ctx: Hook the stack allocator.
2020-10-14 02:22:45 -07:00
Jason Volk
560eb12f68
ircd::db::database::sst: Add file id integer to info struct.
2020-10-14 02:22:45 -07:00
Jason Volk
08572e750f
ircd::db: Add descriptor item for write_buffer_blocks; tweak values/defaults.
2020-10-13 14:55:38 -07:00
Jason Volk
e856d6e36f
ircd::db: Optimize valid() for likely fast backward condition.
2020-10-12 18:47:24 -07:00
Jason Volk
bc00c111f1
ircd::db: Convert to jump complex due to random access penalties over rocksdb options struct.
2020-10-12 18:39:45 -07:00
Jason Volk
cd8d034240
ircd::resource: Add untokenized params view to request struct.
2020-10-12 18:07:39 -07:00
Jason Volk
6b915da4ab
ircd::db: Optimize internal linkages; valid() / make_opts() on the hotpath.
2020-10-11 17:36:03 -07:00
Jason Volk
7be03dda17
ircd::db: Move conf item into namespace.
2020-10-11 17:36:03 -07:00
Jason Volk
841e7dc35b
ircd::db: Split db::database into unit.
2020-10-11 11:42:48 -07:00
Jason Volk
159fa7bd0f
ircd::fs: Make support infolog dump uniform with similar msgs.
2020-10-10 06:02:32 -07:00
Jason Volk
019010336b
ircd::simd: Add constexpr feature support suite.
2020-10-10 05:54:15 -07:00
Jason Volk
a015872df7
ircd: Disassociate compaction disabling from write_avoid.
2020-10-10 04:44:01 -07:00
Jason Volk
c49e546be5
ircd::simd: Categorical interface renaming for stream related.
2020-10-10 00:43:59 -07:00