161 Commits

Author SHA1 Message Date
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
Bert Belder
7f8cdf7448 epoll: remove unused declaration 2017-09-11 03:51:48 +02:00
Bert Belder
eff08efcb8 socket: refactor lookup logic 2017-09-11 03:51:48 +02:00
Bert Belder
d90f0d2d71 doc: add Niels Provos to LICENSE 2017-09-11 03:51:47 +02:00
Bert Belder
c4f2b71db4 tree: rename handle_tree -> tree 2017-09-11 03:51:47 +02:00
Bert Belder
4dd57efc8b rb: rename tree.h -> rb.h 2017-09-11 03:51:47 +02:00
Bert Belder
854f8a552c src: use 'queue_node' and 'tree_node' only 2017-09-11 03:51:47 +02:00
Bert Belder
1f795ae60f port: manipulate request count through ep_port_(add|del)_req 2017-09-11 03:51:43 +02:00
Bert Belder
4d9a24a708 queue: re-implement 2017-09-11 01:29:45 +02:00