aboutsummaryrefslogtreecommitdiff
path: root/src/platform/tcp_stream_test.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-12-30 17:42:32 -0800
committerGarrett D'Amore <garrett@damore.org>2024-12-30 17:42:32 -0800
commit0fb33189287f643b98760a663b75e6016537878a (patch)
treeeeb3d8961590d2e457c167530a40eb7ee723b71a /src/platform/tcp_stream_test.c
parent7f7a8194a60e9f5883866dd8b8c22d4576fc1abc (diff)
downloadnng-0fb33189287f643b98760a663b75e6016537878a.tar.gz
nng-0fb33189287f643b98760a663b75e6016537878a.tar.bz2
nng-0fb33189287f643b98760a663b75e6016537878a.zip
kqueue: support concurrent pollers
This allows greatly increased scalability for kqueue based systems with lots of cores (more likely FreeBSD than Darwin, as most macs only have a smattering of cores), but even for macs we can engage a few cores for system calls giving improvements. The implementation here is pretty simple -- each file descriptor gets assigned to its own kqueue by taking the numeric value of the file descriptor modulo the number of kqueues we have opened. The same approach will be adopted for epoll and Solaris/illumos port events.
Diffstat (limited to 'src/platform/tcp_stream_test.c')
0 files changed, 0 insertions, 0 deletions