0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2025-02-27 06:00:16 +01:00
construct/ircd
2022-10-05 20:08:40 +00:00
..
allocator.cc ircd::allocator::incore: Handle null buffer case without throwing. 2022-07-13 23:03:55 -07:00
allocator_gnu.cc
allocator_je.cc
assert.cc ircd: Add branchless optimistic assertion instrument --with-assert=opt 2022-07-18 16:58:02 -07:00
b58.cc
b64.cc
backtrace.cc
beep.cc
cbor.cc ircd::cbor: Remove cruft; collapse directory for now. 2020-07-31 21:34:45 -07:00
cl.cc ircd:🆑 Modernize queue properties; enable ooe. 2022-10-05 20:08:40 +00:00
client.cc
conf.cc
crh.cc
ctx.cc ircd::ctx: Fixes for boost 1.80. 2022-09-10 11:29:29 -07:00
ctx.h
ctx_eh.cc
ctx_ole.cc
ctx_posix.cc
ctx_posix.h
ctx_x86_64.S
db.cc ircd::db::column: Add parallel fetch closure for zero-copy closure. 2022-08-16 22:21:52 -07:00
db.h
db_allocator.cc
db_database.cc ircd::db: Add descriptor field for level0 compaction trigger. 2022-07-29 22:30:09 -07:00
db_env.cc ircd::db::env: Use opts.all for sequential file read. 2022-09-10 11:40:33 -07:00
db_env.h
db_env_state.h
db_fixes.cc
db_has.h
db_port.cc
db_port.h
default.proftext
demangle.cc
exception.cc
exec.cc
fmt.cc
fpe.cc
fs.cc ircd::fs: Add asio glue for io_uring read/write. (closes #37) 2022-09-10 12:00:54 -07:00
fs_aio.cc ircd::fs: Remove fs::iou. 2022-09-10 11:40:33 -07:00
fs_aio.h
fs_dev.cc
fs_path.cc
globular.cc
gpt.cc ircd::gpt::samp: Sample is done when dispatch=0 on interrupt without accept. 2022-08-27 01:52:05 -07:00
gpt_cpu.cc
gpt_gpu.cl ircd::gpt::gpu: Use explicit broadcast for local access. 2022-10-05 20:08:40 +00:00
gpt_model.cc
gpt_pipe.cc ircd::gpt: Cache pipe::code instance in shared_ptr for task reuse. 2022-07-31 02:46:05 -07:00
gpt_pipe_code.cc ircd::gpt::pipe::code: Mute options for non-llvm pipe; attempt source build before bc. 2022-10-02 01:29:58 +00:00
gpt_vocab.cc ircd::gpt::vocab: Add tokenization and detokenization count() convenience. 2022-09-21 16:42:07 -07:00
http.cc
http2.cc
icu.cc
info.cc ircd::info: Proper prctl check for cpuid availability. 2022-08-27 01:52:05 -07:00
ios.cc ircd: Add branchless optimistic assertion instrument --with-assert=opt 2022-07-18 16:58:02 -07:00
ircd.cc
js.cc
json.cc ircd::json: Add prepend/append tools for arrays. 2022-07-13 22:48:14 -07:00
lex_cast.cc
logger.cc
magic.cc
magick.cc
Makefile.am ircd: Fix mods_ldso.o build flags as it includes boost/dll. 2022-09-30 17:30:39 +00:00
mods.cc ircd::mods: Add conf item for static dtor check; remove redundant debuglog. 2022-07-27 17:36:50 -07:00
mods.h ircd::mods: Fix reference to temporary (GCC). 2022-07-27 15:11:07 -07:00
mods_ldso.cc
net.cc
net_addrs.cc
net_bpf.cc
net_dns.cc ircd::net::dns: Perturb the minimum TTL to avoid groupings on expiration. 2022-08-12 16:08:56 -07:00
net_dns_cache.cc ircd::net::dns::cache: Increase the default nxdomain ttl. 2022-08-12 16:22:41 -07:00
net_dns_netdb.cc
net_dns_resolver.cc ircd::net::dns::resolver: Question must match or this is the mist of a packet spray. 2022-08-15 12:38:21 -07:00
net_listener.cc
net_listener_udp.cc
openssl.cc
parse.cc
pbc.cc
png.cc
prof.cc
prof_linux.cc
prof_psi.cc
rand.cc
README.md
resource.cc ircd::resource::method: Fix condition wait without context. 2022-08-10 18:20:52 -07:00
rfc1035.cc
rfc1459.cc
rfc3986.cc ircd::rfc3986: Fix errant signed integer check w/ qi::int_parser. 2022-08-02 13:24:26 -07:00
run.cc
server.cc ircd::server: Fix introduced macro conflict. (gcc-9) 2022-09-10 11:40:33 -07:00
simd.cc
sodium.cc
stats.cc
stringops.cc ircd::stringops: Fix string to string replacement error. 2022-07-18 16:58:02 -07:00
sys.cc
timedate.cc ircd: Use fmt flags to ago(); add flag for blank postfix label. 2022-08-16 21:20:32 -07:00
tokens.cc ircd: Add tokens_split() tool w/ skip feature. 2022-07-19 14:26:23 -07:00
utf.cc
util.cc
versions.cc ircd::versions: Declare list specialization; noexcept ctors; minor cleanup. 2022-07-20 18:32:38 -07:00
vg.cc

Library Definitions

This directory contains definitions for libircd

The purpose of libircd is to facilitate the execution of a server which handles requests from end-users. The library hosts a set of pluggable modules which may introduce the actual application features (or the "business logic") of the server.

Implied #include <ircd.h>

The ircd.h standard include group is pre-compiled and included first by default for every compilation unit in this directory. Developers do not have to worry about including project headers in a compilation unit, especially when creating and reorganizing either of them.

Note that because ircd.h is include above any manually included header, there is a theoretical possibility for a conflict. We make a serious effort to prevent ircd.h from introducing pollution outside of our very specific namespaces (see: Project Namespaces).

Dependency Isolation

Compilation units are primarily divided around the inclusion of a specific header or third-party dependency which is not involved in the ircd.h include group. Second to that, units tend to be divided by namespace and the subsystem they're implementing. Units can further be divided if they become unwieldy, but we bias toward large aggregate units in this library. Within these large units, there are divisions which group the definitions by the include/ircd/ header which declares them.

We do not included third-party headers in our own headers which are included by others. A developer of an ircd:: interface can choose to either forward declare third-party symbols in our headers, or wrap more complicated functionality.