42 Commits

Author SHA1 Message Date
Ian Gulliver
c0c25bd36a Clean up wakeup teardown. 2016-03-08 22:42:15 -08:00
Ian Gulliver
ba13ebbe5c deheader 2016-03-08 22:00:08 -08:00
Ian Gulliver
b915f38dca Switch out custom wakeup system for timerfd. 2016-03-08 21:53:57 -08:00
Ian Gulliver
3985182304 Stop relying on struct ordering and packing for peer. 2016-03-08 20:47:22 -08:00
Ian Gulliver
d39cd62991 Cleanup how we cast and close peers. 2016-03-08 20:41:00 -08:00
Ian Gulliver
cd302a1746 Move FORMAT parsing into send code. 2016-03-08 12:22:46 -08:00
Ian Gulliver
e5af92c331 Add --detach. Add multi-pass flag parsing that lets us get things in the right order. 2016-03-08 11:26:39 -08:00
Ian Gulliver
b434b67dd8 Switch to LOG macro 2016-03-07 17:02:24 -08:00
Ian Gulliver
ff4f4da608 deheader cleanup 2016-03-07 15:19:00 -08:00
Ian Gulliver
46696933aa Add --log-file 2016-03-07 11:26:25 -08:00
Ian Gulliver
6480a960fa Switch to standard logging framework 2016-03-05 22:54:26 -08:00
Ian Gulliver
2f6db632b2 Get everyone out of flow's business. 2016-03-02 22:25:56 -08:00
Ian Gulliver
10ba451458 Move more socket options into the flow framework. 2016-03-02 21:51:30 -08:00
Ian Gulliver
91775999d8 Rename socket_connected to socket_ready, since we use it before accept() 2016-03-02 19:28:02 -08:00
Ian Gulliver
14be11de79 Utility functions for reference counting. 2016-03-02 19:20:25 -08:00
Ian Gulliver
e2fd6be394 List cleanup. 2016-03-02 18:52:02 -08:00
Ian Gulliver
1a45e4361a Finally find a clean ownership solution for resolve(). 2016-02-29 22:37:41 -08:00
Ian Gulliver
b6a582e95a Do flow-specific setsockopt() before accept() 2016-02-29 22:17:37 -08:00
Ian Gulliver
3fb3c02cf5 Encapsulate flow descriptions inside a struct. 2016-02-29 17:12:06 -08:00
Ian Gulliver
49b6b0083b Fix misunderstanding of sendto(MSG_FASTOPEN) 2016-02-28 22:34:53 -08:00
Ian Gulliver
58a8576da8 Add --exec-{send,receive} 2016-02-28 15:53:55 -08:00
Ian Gulliver
8d9b40e954 Minor hello cleanups. 2016-02-27 12:48:01 -08:00
Ian Gulliver
2c5b6419d6 Working TCP fastopen for connect-send. 2016-02-27 12:41:56 -08:00
Ian Gulliver
79fc645fa0 Start of fastopen support. 2016-02-27 10:12:48 -08:00
Ian Gulliver
680cce544f Centralized list implementation. 2016-02-26 10:30:18 -08:00
Ian Gulliver
19a9d498bd Enable -Weverything, fix a ton of bugs. 2016-02-25 23:37:37 -08:00
Ian Gulliver
99882bc5c7 Enable socket keepalives. 2016-02-25 17:27:07 -08:00
Ian Gulliver
5e604f0596 In/out reference counting. 2016-02-25 16:17:25 -08:00
Ian Gulliver
3e2c426e95 Fix --connect-send. Half-close connections so we can detect two read sockets talking to each other. 2016-02-24 20:25:31 -08:00
Ian Gulliver
1635534243 Switch from sketchy dup() juggling to callbacks to retry outgoing connection. 2016-02-24 20:15:09 -08:00
Ian Gulliver
77ee1422c1 Sprinkle CLOEXEC around. 2016-02-23 12:00:17 -08:00
Ian Gulliver
c6a2150a7d Initial pass at async resolving. This is ugly and leaks memory and I hate it, so dedicated thread incoming. 2016-02-23 10:46:40 -08:00
Ian Gulliver
2ce2ed5bf5 Split out packet. Delete common. 2016-02-22 16:58:13 -08:00
Ian Gulliver
b5ab0cb0a6 Split out peer 2016-02-22 16:49:43 -08:00
Ian Gulliver
21536eee33 Move retry delay calculation into wakeup, since it's only used there. 2016-02-22 16:33:00 -08:00
Ian Gulliver
d6a629fa7e Switch to an internal implementation of uuid generation, so we can use the randomness pool. 2016-02-22 16:27:44 -08:00
Ian Gulliver
f255170967 Move wakeup into the main thread to remove complexity. Looks like CLOCK_MONOTONIC_COARSE doesn't need a syscall. 2016-02-22 14:37:00 -08:00
Ian Gulliver
8f36ad0db8 Wakeup/delay fixes, and actually add retries for incoming and outgoing. 2016-02-21 16:47:27 -08:00
Ian Gulliver
6384e0f20d Wakeup actually working (probably), add delay calculator. 2016-02-21 15:51:38 -08:00
Ian Gulliver
ec79ba0da1 Much closer to complete cleanup before exit. 2016-02-21 13:57:35 -08:00
Ian Gulliver
9df778a88a Factor out opts parsing, clean up shutdown. 2016-02-20 23:22:00 -08:00
Ian Gulliver
cf6eef6118 Move adsbus into its own dir. 2016-02-18 09:36:53 -08:00