Michael Davidsaver
aef69c9f25
redo INST_COUNTER
...
Allow for use by pvxsIoc
2023-05-09 22:24:19 -07:00
Michael Davidsaver
9449059d8b
expose wrappers for some evutil as expert API
2023-04-02 20:21:53 -07:00
Michael Davidsaver
a012b9ffe0
testStrEq() better diff
2023-03-28 15:21:39 -07:00
Michael Davidsaver
d692d7da2c
loc_bad_alloc
2023-03-28 15:21:34 -07:00
Michael Davidsaver
6f770d0ea3
final-ize some derived types
2023-03-20 09:41:41 -07:00
Michael Davidsaver
1aad37c230
minor
2023-02-13 07:42:54 -08:00
Michael Davidsaver
6d9a77d03b
SigInt fix disarm
2023-01-26 08:23:40 -08:00
Michael Davidsaver
1ed51c597c
avoid redundant atomic load
...
compare_exchange_strong() updates 'idx' with
the actual value if the comparison fails.
2022-11-27 08:20:13 -08:00
Michael Davidsaver
25e7285c11
SigInt use worker thread
...
Remove restrictions on operations which can be preformed.
2022-11-27 08:20:13 -08:00
Michael Davidsaver
bebd7a91aa
SockAddr fallback to sync. dns lookup
2022-05-18 12:27:33 -07:00
Michael Davidsaver
df4289b4e6
IPv6+mcast support
2022-04-05 07:57:16 -07:00
Michael Davidsaver
1040e87f39
add SockAddr::isMCast() and capacity()
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
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
c503eece31
spell check
2021-08-13 15:18:31 -07:00
Michael Davidsaver
60c60b1c80
Add python build
2021-07-26 10:45:37 -07:00
Michael Davidsaver
c7376522e8
deduplicate instance counter names
2021-07-16 12:20:51 -07:00
Michael Davidsaver
1e08b6faf0
instance counter for # of live workers
2021-06-27 10:17:13 -07:00
Michael Davidsaver
1859e44fcf
ostream state preservation
2021-06-27 10:17:13 -07:00
Michael Davidsaver
c4d2cd4a10
client: reorg context Pvt
2021-06-27 10:17:13 -07:00
Michael Davidsaver
bd7ba0db62
simplify GUID printing
2021-06-08 09:45:48 -07:00
Michael Davidsaver
b47482e38a
fix usage of recvmsg()
...
control message buf is not meaningful if
recvmsg() has returned an error.
2021-02-20 11:46:28 -08:00
Michael Davidsaver
a064677e36
detect UDP RX buffer overflows
...
On Linux, use SO_RXQ_OVFL to snoop on the OS dropped packet
counter for our socket buffer. Does not detect drops on
ingress, or internal to, to OS IP stack.
2021-01-28 07:44:32 -08:00
Michael Davidsaver
45ce8e9680
add PVXS_ABI_VERSION
2020-12-26 13:17:57 -08:00
Michael Davidsaver
a6e7e9488d
parse IPs with aToIPAddr()
...
evutil_parse_sockaddr_port() doesn't accept port zero.
2020-08-10 12:09:55 -07:00
Michael Davidsaver
9328d193af
indented std::ostream w/ xalloc()
2020-07-26 20:46:12 -07:00
Michael Davidsaver
f4576d4c33
Include input string when reporting parsing error (as NoConvert)
2020-07-22 11:14:57 -07:00
Michael Davidsaver
6c98614356
minor
2020-05-07 18:45:16 -07:00
Michael Davidsaver
46bcf877c9
replace epicsParse*() with std::sto*()
2020-04-16 22:01:38 -07:00
Michael Davidsaver
a6c1565793
Add "live" counter for client Context
2020-04-07 12:05:30 -07:00
Michael Davidsaver
7a2ab35439
check instance counters in cleanup_for_valgrind()
2020-04-07 12:05:29 -07:00
Michael Davidsaver
9c9596b4d3
isprint()
2020-03-31 20:32:05 -07:00
Michael Davidsaver
271bbfae68
sharedArray reorg
2020-03-27 14:31:39 -07:00
Michael Davidsaver
d811485b90
revise shared_vector casting
...
Rename existing castTo() as castToUnsafe().
Add new castTo() which is doesn't allow non-void -> non-void
and may throw on void -> non-void
2020-03-26 09:04:44 -07:00
Michael Davidsaver
edadc31f96
add instanceSnapshot()
2020-03-24 18:38:10 -07:00
Michael Davidsaver
d064afb5bb
version include VCS rev.
2020-03-24 15:58:10 -07:00
Michael Davidsaver
d452e009ce
libevent 2.0 compat
2020-03-20 09:23:06 -07:00
Michael Davidsaver
078e0ea69f
sharedArray formatting with size limit.
2020-03-19 17:15:53 -07:00
Michael Davidsaver
69f8068de0
oops escape double quote
2020-03-18 09:10:53 -07:00
Michael Davidsaver
abf366213f
consistent naming between TypeCode and ArrayType
2020-03-12 19:51:49 -07:00
Michael Davidsaver
410dccbe02
demote SockAddr from public API
2020-03-09 19:47:43 -07:00
Michael Davidsaver
af973bea66
harmonize signal handling
2020-02-21 00:29:32 -08:00
Michael Davidsaver
d6a4865a05
server config expand
2020-02-18 18:17:53 -08:00
Michael Davidsaver
b9b22adb15
fix version_str()
2019-12-18 18:31:17 -08:00
Michael Davidsaver
810b7d3b1c
use freeze/cast members
2019-12-15 16:43:22 -08:00
Michael Davidsaver
50963f0a3e
reorg to separate type handling
2019-12-11 09:11:52 -08:00
Michael Davidsaver
2ba0150bd9
disambiguate
...
having pvxs::detail and pvxs::impl::detail causes confusion
2019-12-10 18:15:48 -08:00
Michael Davidsaver
801d295c1f
start PVD
2019-12-10 17:56:40 -08:00
Michael Davidsaver
1f6502aef7
more util
2019-12-10 17:56:40 -08:00
Michael Davidsaver
dd4da5d6d5
more test utils
2019-12-10 17:56:40 -08:00