Michael Davidsaver
8333ce30ec
re-define user bufferevent limits in terms of OS buffer size
2022-10-14 10:20:51 -07:00
Michael Davidsaver
06f1a8c2db
fix Timer ownership
2022-10-14 10:20:51 -07:00
Michael Davidsaver
e809da219d
evsocket::ipstack
2022-04-05 07:57:16 -07:00
Michael Davidsaver
1be0477ee6
evsocket::canIPv6 once
2022-04-05 07:57:16 -07:00
Michael Davidsaver
8fb7956ca1
evsocket::bind()
2022-04-05 07:57:16 -07:00
Michael Davidsaver
8e56972dbc
testsock check bind() order behavior for ipv4/6
2022-04-05 07:57:16 -07:00
Michael Davidsaver
df4289b4e6
IPv6+mcast support
2022-04-05 07:57:16 -07:00
Michael Davidsaver
923c423055
epicsThreadOnce() wrapper
...
Ensure exceptions are propagated
2022-04-05 07:57:16 -07:00
Michael Davidsaver
290b565203
minor
2022-04-05 07:57:16 -07:00
Michael Davidsaver
f67f27e96b
Portable capture of destination interface and IP address
...
Use recvmsg() and control messages IP_PKTINFO (Linux, OSX, Windows)
or IP_ORIGDSTADDR and IP_RECVIF (RTEMS w/ libbsd) to find the
index of the logical interface through which a UDP packet was received,
and the destination address from the IPv4 header.
Also, clear IP_MULTICAST_ALL on Linux to disable non-compliant legacy brokenness
and receive only those multicasts we are interested in.
2022-04-05 07:57:16 -07:00
Michael Davidsaver
f749b5ee39
minor cppcheck
2021-10-28 10:04:25 -07:00
Michael Davidsaver
d811d5e17a
minor
2021-08-30 13:54:12 -07:00
Michael Davidsaver
d6bf565ed6
rename interfaces() -> broadcasts()
2021-08-04 17:26:10 -07:00
Michael Davidsaver
dfbed0c850
server ExecOp timer
2021-07-17 08:22:25 -07:00
Michael Davidsaver
49c16e8d6a
minor
2021-07-16 12:20:51 -07:00
Michael Davidsaver
f8cdcd4f91
RTEMS5/libbsd support
2021-06-27 10:17:14 -07:00
Michael Davidsaver
e63b9155de
minor
2021-06-27 10:17:14 -07:00
Michael Davidsaver
1e08b6faf0
instance counter for # of live workers
2021-06-27 10:17:13 -07:00
Michael Davidsaver
bcc46f0389
workaround limitations of moving std::function<void()>
2021-06-27 10:17:13 -07:00
Michael Davidsaver
bd6fb00dd5
evhelper external/internal
2021-06-27 10:17:13 -07:00
Michael Davidsaver
fb7abfc132
sockets O_CLOEXEC
2021-01-29 15:17:29 -08:00
Michael Davidsaver
76764cf978
xcode: capture file:line of fault()
2021-01-12 11:32:10 -08:00
Michael Davidsaver
785e180f9b
evhelper: ensure work dtor before notify
...
Ensure that work std::function, and any bound variables,
are destroyed before completion notification.
2020-12-29 12:52:54 -08:00
Michael Davidsaver
178fbebb89
evhelper: loop self-join is crit
2020-12-29 12:52:54 -08:00
Michael Davidsaver
a051c27877
evbase constify
2020-12-29 12:52:54 -08:00
Michael Davidsaver
0395982691
add evsocket::interfaces() wrapper
2020-12-13 15:49:43 -08:00
Michael Davidsaver
edce454dc7
avoid unnecesary copies
2020-08-10 12:09:55 -07:00
Michael Davidsaver
33b6f362db
client: Handle orphaned Operations
...
Allow Operation instances to outlive
the Context through which they were
created.
2020-08-10 12:09:55 -07:00
Michael Davidsaver
c8f72f5319
detect attempt to call() into inactive loop
2020-08-10 12:09:55 -07:00
Michael Davidsaver
69efc4b8a9
minor
2020-05-22 09:17:22 -07:00
Michael Davidsaver
add99065e9
thread_local -> ThreadEvent
...
at least GLIBC runs TLS dtors before atexit() callbacks
on exit() or return from main().
Use epicsThreadPrivate which doesn't cleanup locals for main().
2020-04-25 14:40:43 -07:00
Klemen Vodopivec
02f24a74e7
Made it build on EPICS 3.14.12.6, all unit tests pass.
2020-04-16 22:01:38 -07:00
Michael Davidsaver
f1cc5a2aa6
minor thread_local
2020-04-13 18:06:40 -07:00
Michael Davidsaver
b0eecb949f
fixup client operation object lifetime
2020-04-12 23:29:30 -07:00
Michael Davidsaver
29c837e7ed
maybe self-join?
2020-04-12 22:30:30 -07:00
Michael Davidsaver
d852758b7b
client: ensure worker is joined on close()
2020-04-07 12:05:28 -07:00
Michael Davidsaver
facb18ae00
Add log_exc_printf() with stack trace
2020-04-03 11:58:23 -07:00
Michael Davidsaver
e2513db4d9
MSVC need osiSockAttach()
2020-03-31 13:07:50 -07:00
Michael Davidsaver
36dc71a158
MSVC missing includes
2020-03-31 13:07:50 -07:00
Michael Davidsaver
fd11d382e7
minor
2020-03-24 15:33:52 -07:00
Michael Davidsaver
d52272e148
fix EvInBuf::refill()
2020-03-23 21:39:33 -07:00
Michael Davidsaver
a3862b423b
libevent 2.0 compat
2020-03-07 10:25:18 -08:00
Michael Davidsaver
4207b6639b
evthread_use_* is not idempotent
2020-03-05 15:33:39 -08:00
Michael Davidsaver
44331decf9
redo evhelper::dispatch()/call()
...
void races and
2020-03-04 19:34:16 -08:00
Michael Davidsaver
8c646cd65a
more log
2020-02-20 09:37:29 -08:00
Michael Davidsaver
99ce43c0eb
prefer log_*_printf()
2020-02-19 07:10:52 -08:00
Michael Davidsaver
03c41c2ce3
minor
2020-02-03 14:57:50 -08:00
Michael Davidsaver
80dacb895e
log show time
2020-02-03 14:57:50 -08:00
Michael Davidsaver
c2a4224a21
server monitor
2020-01-22 12:25:21 -08:00
Michael Davidsaver
fecdd52e70
update logging
2019-12-19 18:42:39 -08:00