bind9/lib/isc/include/isc
Artem Boldariev 2b3a3c21dc Stream DNS: avoid memory copying/buffer resizing when reading data
This commit optimises isc_dnsstream_assembler_t in such a way that
memory copying and reallocation are avoided when receiving one or more
complete DNS messages at once. We try to handle the data from the
messages directly, without storing them in an intermediate memory
buffer.
2023-04-03 13:31:46 +00:00
..
aes.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
align.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ascii.h Add a case-insensitive option directly to siphash 2-4 implementation 2022-10-04 10:32:40 +02:00
assertions.h Replace ISC_NORETURN with C11's noreturn 2022-03-25 08:33:43 +01:00
async.h Add isc_async_current() macro to run job on current loop 2023-03-30 16:07:41 +02:00
atomic.h Simple lock-free stack in <isc/stack.h> 2023-02-22 16:13:37 +00:00
attributes.h Replace __attribute__((unused)) with ISC_ATTR_UNUSED attribute macro 2023-03-30 23:29:25 +02:00
backtrace.h Cleanup the last Windows / MSC ifdefs and comments 2023-04-03 09:06:20 +00:00
barrier.h Prefer the pthread_barrier implementation over uv_barrier 2023-01-11 09:51:02 +01:00
base32.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
base64.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
buffer.h Do not pass NULL pointer to memmove - undefined behaviour 2023-01-03 14:40:30 +11:00
cmocka.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
commandline.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
condition.h Make the pthread_rwlock implementation header-only macros [2/2] 2022-11-02 10:34:10 +01:00
counter.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
crc64.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dir.h Apply adjusted clang-format 2023-03-10 17:31:28 +01:00
dnsstream.h Stream DNS: avoid memory copying/buffer resizing when reading data 2023-04-03 13:31:46 +00:00
endian.h Move and extend the uint8_t low-endian to uint{32,64}t to endian.h 2022-12-20 19:13:48 +01:00
entropy.h Switch the CSPRNG function from RAND_bytes() to uv_random() 2022-09-26 15:13:11 +02:00
errno.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
error.h Include the function name when reporting unexpected errors 2022-10-17 13:43:59 +01:00
file.h Apply adjusted clang-format 2023-03-10 17:31:28 +01:00
fips.h Define isc_fips_mode() and isc_fips_set_mode() 2023-04-03 12:05:28 +10:00
formatcheck.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
fuzz.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
getaddresses.h Remove some lingering references to libbind9 2023-03-08 10:06:22 +00:00
hash.h Turn isc_hash_bits32() into static online function 2022-04-01 23:04:24 +02:00
hashmap.h Add isc_hashmap API that implements Robin Hood hashing 2022-11-10 15:07:19 +01:00
heap.h Make isc_heap_create() and isc_heap_insert() return void 2022-03-08 11:19:34 +01:00
hex.h Consolidate some ASCII tables in isc/ascii and isc/hex 2022-09-12 12:18:57 +01:00
histo.h Simplify histogram quantiles 2023-04-03 12:08:05 +01:00
hmac.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ht.h Make isc_ht optionally case insensitive 2022-03-28 15:02:18 -07:00
httpd.h remove isc_task completely 2023-02-16 18:35:32 +01:00
interfaceiter.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
iterated_hash.h Use thread_local EVP_MD_CTX in isc_iterated_hash() 2023-01-18 19:36:21 +01:00
job.h Refactor isc_job_run to not-make any allocations 2023-03-30 16:00:52 +02:00
lang.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
lex.h Change the return type of isc_lex_create() to void 2022-10-26 12:55:06 +02:00
list.h Replace (void *)-1 with ISC_LINK_TOMBSTONE 2022-10-18 11:36:15 +02:00
log.h Remove do-nothing header <isc/offset.h> 2023-02-15 16:44:47 +00:00
loop.h Refactor isc_job_run to not-make any allocations 2023-03-30 16:00:52 +02:00
magic.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
managers.h remove isc_task completely 2023-02-16 18:35:32 +01:00
md.h Avoid implicit algorithm fetch for OpenSSL EVP_MD family 2023-01-18 18:32:57 +01:00
mem.h Remove the total memory counter 2023-01-24 17:57:16 +00:00
meminfo.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
mutex.h Add the reader-writer synchronization with modified C-RW-WP 2023-02-15 09:30:04 +01:00
mutexblock.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
net.h Apply adjusted clang-format 2023-03-10 17:31:28 +01:00
netaddr.h Apply adjusted clang-format 2023-03-10 17:31:28 +01:00
netmgr.h Replace __attribute__((unused)) with ISC_ATTR_UNUSED attribute macro 2023-03-30 23:29:25 +02:00
netscope.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
nonce.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
once.h Improve reporting for pthread_once errors 2022-10-14 16:39:21 +02:00
os.h Add isc_os_umask() function to get current umask 2023-03-31 12:52:59 +00:00
parseint.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
pause.h Improve the spinloop pause / yield hint 2023-02-14 17:13:24 +00:00
portset.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
qsbr.h QSBR: safe memory reclamation for lock-free data structures 2023-02-23 15:57:53 +00:00
quota.h Update clang to version 14 2022-06-16 17:21:11 +02:00
radix.h Update clang to version 14 2022-06-16 17:21:11 +02:00
random.h Make isc_random_uniform() nearly divisionless 2022-04-22 16:40:37 +01:00
ratelimiter.h refactor isc_ratelimiter to use loop callbacks 2023-01-31 21:41:19 -08:00
refcount.h Cleanup the last Windows / MSC ifdefs and comments 2023-04-03 09:06:20 +00:00
regex.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
region.h Update clang to version 14 2022-06-16 17:21:11 +02:00
result.h Refactor isc_nm_xfr_allowed() 2023-01-19 10:24:08 +00:00
rwlock.h Add the reader-writer synchronization with modified C-RW-WP 2023-02-15 09:30:04 +01:00
safe.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
serial.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
signal.h New event loop handling API 2022-08-25 12:24:29 +02:00
siphash.h Add a case-insensitive option directly to siphash 2-4 implementation 2022-10-04 10:32:40 +02:00
sockaddr.h Apply adjusted clang-format 2023-03-10 17:31:28 +01:00
stack.h Simple lock-free stack in <isc/stack.h> 2023-02-22 16:13:37 +00:00
stats.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
stdio.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
stdtime.h Remove isc_stdtime_get() macro 2023-03-31 13:33:16 +02:00
strerr.h Explain <isc/strerr.h> a little more 2023-02-15 16:44:09 +00:00
string.h Use strnstr implementation from FreeBSD if not provided by OS 2022-10-04 14:21:41 +11:00
symtab.h Update clang to version 14 2022-06-16 17:21:11 +02:00
syslog.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
thread.h Simplify thread spawning 2023-03-31 17:21:52 +01:00
tid.h Add per-thread sharded histograms for heavy loads 2023-04-03 12:08:05 +01:00
time.h Refactor isc_time_now() to return time, and not result 2023-03-31 15:02:06 +02:00
timer.h Add isc_timer_async_destroy() helper function 2022-09-21 14:25:33 -07:00
tls.h Handle fatal and FIPS provider interactions 2023-04-03 12:44:27 +10:00
tm.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
types.h Replace isc_fsaccess API with more secure file creation 2023-03-31 12:52:59 +00:00
url.h Rewrite isc_httpd using picohttpparser and isc_url_parse 2022-10-14 11:26:54 +02:00
utf8.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
util.h Replace DE_CONST(k, v) with v = UNCONST(k) macro 2023-04-03 10:25:56 +00:00
uv.h De-duplicate some calls to strerror_r() 2022-10-17 11:58:26 +01:00
work.h New event loop handling API 2022-08-25 12:24:29 +02:00
xml.h Use custom isc_mem based allocator for libxml2 2022-09-27 17:10:42 +02:00