169 Commits

Author SHA1 Message Date
Bert Belder
34a9a4d4a7 poll-group: rename user_count to group_size 2017-09-14 04:34:12 +02:00
Bert Belder
dc742fa01e poll-group: rename _DS_MAX_USERS to _POLL_GROUP_MAX_SIZE 2017-09-14 04:06:18 +02:00
Bert Belder
d40787cd18 all-in-one: remove trailing whitespace from license during build 2017-09-14 04:01:42 +02:00
Bert Belder
427e0a0209 socket: use actual enum type for poll_status field 2017-09-14 03:54:54 +02:00
Bert Belder
0938dfda83 socket: make the poll request an integral part of struct ep_sock 2017-09-14 03:54:54 +02:00
Bert Belder
fe967a01a5 socket: make ep_sock_update() more readable 2017-09-14 03:54:54 +02:00
Bert Belder
6037bcf8ab socket: turn the 'deleted' flag into a bitfield 2017-09-14 03:54:49 +02:00
Bert Belder
3af19ec71c socket: get rid of _(set|clear)_latest_poll_req() functions 2017-09-14 03:13:18 +02:00
Bert Belder
022f3fcbd7 socket: rename latest_poll_req_events to pending_events 2017-09-14 03:08:02 +02:00
Bert Belder
bc82503d09 socket: make struct member order more logical 2017-09-14 03:06:33 +02:00
Bert Belder
84e92cbeaa poll-req: make poll_req and ep_sock lifecycles coincide completely 2017-09-14 03:03:37 +02:00
Bert Belder
423e85df94 socket: do not track or use poll_req_count, use poll_status instead 2017-09-14 03:03:12 +02:00
Bert Belder
99ddd49dfe socket: use an enum to track poll { idle, pending, cancelled } status 2017-09-14 03:02:46 +02:00
Bert Belder
6ea33eca54 socket: make ep_sock_update() control flow a little more readable 2017-09-14 03:02:46 +02:00
Bert Belder
0155abf6e2 socket: remove _is_latest_poll_req() 2017-09-14 03:02:45 +02:00
Bert Belder
0bd24cc1e5 port: do not track poll request count 2017-09-14 03:02:45 +02:00
Bert Belder
ee6a1e300a socket: remove unused unused() statement
See what I did there?
2017-09-14 03:02:45 +02:00
Bert Belder
b4aeb52a6b poll-request: fix typo in poll_req_cancel() 2017-09-14 03:02:45 +02:00
Bert Belder
78a607b379 all-in-one: check in the latest build 2017-09-14 01:46:56 +02:00
Bert Belder
c4f9f5c3d7 epoll: drop include <stdio.h> 2017-09-14 01:45:41 +02:00
Bert Belder
2a7b9be01d test: add test-ctl-fuzz 2017-09-14 01:35:37 +02:00
Bert Belder
280cc30074 test: add test-multi-poll 2017-09-14 01:35:37 +02:00
Bert Belder
ccf4242a5e test-udp-pings: don't use getaddrinfo() to resolve localhost 2017-09-14 01:35:37 +02:00
Bert Belder
5d26c4df71 test-udp-pings: use #defines rather than constants for test parameters 2017-09-14 01:35:37 +02:00
Bert Belder
57094513ef test-udp-pings: remove unnecessary perror() call 2017-09-14 01:35:37 +02:00
Bert Belder
12abb04d46 test-udp-pings: deal with compiler warnings 2017-09-14 01:35:29 +02:00
Bert Belder
b8a2e2ea84 test-udp-pings: increase socket count to 10k 2017-09-14 01:35:29 +02:00
Bert Belder
1c32c9e030 test-udp-pings: reduce run time 2017-09-14 01:35:29 +02:00
Bert Belder
8e8df010f3 test-udp-pings: format source code 2017-09-14 01:35:29 +02:00
Bert Belder
a8807482b2 port: free the port through _ep_port_free() 2017-09-14 00:56:22 +02:00
Bert Belder
45aaa10a62 poll-group: use 1 driver socket per N sockets, vs. 1 for *all* sockets 2017-09-14 00:55:01 +02:00
Bert Belder
1ad0497c9c poll-request: don't use exclusive polls now that we can cancel old ones 2017-09-14 00:55:01 +02:00
Bert Belder
43c159a576 port: when closing, use ep_sock_force_delete() instead of draining 2017-09-14 00:55:01 +02:00
Bert Belder
258ce95f79 socket: add ep_sock_force_delete() 2017-09-14 00:55:00 +02:00
Bert Belder
caade91a1a socket: never have more than one outstanding poll request
Instead, use the new poll_req_cancel() API to cancel poll requests that
are outdated, then submit a new poll request after they return.
2017-09-14 00:53:25 +02:00
Bert Belder
f2580ab432 socket: fix serious bug/typo in ep_sock_find() 2017-09-14 00:53:24 +02:00
Bert Belder
153bc1138a socket: fix EPOLLONESHOT semantics
When EPOLLONESHOT is specified, rather than deleting the socket, just
clear it's event mask.
2017-09-14 00:53:13 +02:00
Bert Belder
530da04ede socket: make comparison with zero explicit 2017-09-14 00:53:13 +02:00
Bert Belder
b4ca2e330b poll-request: implement poll_req_cancel() 2017-09-14 00:53:07 +02:00
Bert Belder
3696de480a socket: set _EP_SOCK_DELETED immediately after checking it 2017-09-14 00:53:07 +02:00
Bert Belder
4f16b267ad socket: make ep_sock_delete() return void 2017-09-14 00:53:01 +02:00
Bert Belder
eaec721f0c ntstatus: add definition for STATUS_CANCELLED 2017-09-14 00:49:23 +02:00
Bert Belder
9a22944598 gitignore: ignore MinSizeRel build output directory 2017-09-14 00:49:23 +02:00
Bert Belder
6e92f49be1 afd: name afd_poll() arguments more clearly 2017-09-11 17:23:42 +02:00
Bert Belder
02dceacbe3 port: move epoll_(create|close) public APIs to api.c 2017-09-11 17:14:43 +02:00
Bert Belder
6448bd2203 socket: move socket assignment to ep_sock constructor 2017-09-11 17:13:18 +02:00
Bert Belder
184ba5b0e0 init: move global initialization to init.c 2017-09-11 15:18:12 +02:00
Bert Belder
c26cb3e2dd test: include send rate in terminal output 2017-09-11 04:00:31 +02:00
Bert Belder
31193adb61 all-in-one: check in all-in-one build output
Eventually there should be a real release process. But for now...
2017-09-11 03:52:33 +02:00
Bert Belder
29cb388cf0 all-in-one: include license in all-in-one build output 2017-09-11 03:51:48 +02:00