Commit Graph

578 Commits

Author SHA1 Message Date
Michael Davidsaver 298689a654 minor 2022-06-14 10:33:11 -07:00
Michael Davidsaver f22ab94458 forgot UNRELEASED 2022-05-21 08:08:44 -07:00
Michael Davidsaver bebd7a91aa SockAddr fallback to sync. dns lookup 2022-05-18 12:27:33 -07:00
Michael Davidsaver 0ad81d0f49 add Discovered::peerVersion 2022-05-18 12:27:33 -07:00
Michael Davidsaver 9bbe6292a2 compat notes 2022-05-18 12:27:33 -07:00
Michael Davidsaver ec8d0df1b3 allow override of sendBE and test all combinations
Cross-testing client/server with all byte order combinations.
2022-05-18 12:27:33 -07:00
Michael Davidsaver cce797263d fix handling of pva_ctrl_msg::SetEndian 2022-05-18 10:32:16 -07:00
Michael Davidsaver b8aa1ccc1a doc: prepare for 0.3.0 2022-04-05 12:01:28 -07:00
Michael Davidsaver 230fbc19b7 msvc printf() spec. validation 2022-04-05 12:00:22 -07:00
Michael Davidsaver 0dd36215c9 log: reduce inline code 2022-04-05 12:00:22 -07:00
Michael Davidsaver c66c0fd100 fix printf() spec 2022-04-05 12:00:22 -07:00
Michael Davidsaver 341c8308e0 quiet warning 2022-04-05 07:57:16 -07:00
Michael Davidsaver c2f1f13bb3 server: fix beacons TX on Linux 2022-04-05 07:57:16 -07:00
Michael Davidsaver a9aad63292 server: OS specific handling of 0.0.0.0 and :: 2022-04-05 07:57:16 -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 89fd1bba7a server: 0.0.0.0 -> :: promotion is Linux specific 2022-04-05 07:57:16 -07:00
Michael Davidsaver 8fb7956ca1 evsocket::bind() 2022-04-05 07:57:16 -07:00
Michael Davidsaver 9b4ea35834 testget cover AF_INET6 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 d0b62d695f udp_collector: fix listener filtering 2022-04-05 07:57:16 -07:00
Michael Davidsaver 5d61ed75bf minor logging 2022-04-05 07:57:16 -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 7a65a85c99 client: add discover() and pvxlist 2022-04-05 07:57:16 -07:00
Michael Davidsaver d77ef29b53 quiet warning 2022-04-05 07:57:16 -07:00
Michael Davidsaver bd9c3cc338 UDPListener add mcast 2022-04-05 07:57:16 -07:00
Michael Davidsaver 47ebfd5371 Accept CMD_ORIGIN_TAG
Implement local mcast hack
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
Basil Aljamal fe6974025a Add missing <limits> header 2022-03-25 07:42:29 -07:00
Michael Davidsaver 4697055b92 note on MSVC __VA_ARGS__ weirdness 2022-01-31 11:06:01 -08:00
Michael Davidsaver 964da05ef2 Revert "accommodate gcc vs. msvc handling of empty __VA_ARGS__"
This reverts commit f7dd311daa.
2022-01-31 11:06:01 -08:00
Michael Davidsaver f7dd311daa accommodate gcc vs. msvc handling of empty __VA_ARGS__ 2022-01-28 08:42:18 -08:00
Michael Davidsaver dfb8b953fb clarify some client/server connection log messages 2022-01-28 08:42:01 -08:00
Michael Davidsaver f749b5ee39 minor cppcheck 2021-10-28 10:04:25 -07:00
Michael Davidsaver 81782bee5e 0.2.1
PVXS Python / win64 3.5 (push) Failing after 1s
PVXS Python / win64 3.6 (push) Failing after 0s
PVXS Python / win64 3.7 (push) Failing after 1s
PVXS Python / win64 3.8 (push) Failing after 0s
PVXS Python / win64 3.9 (push) Failing after 0s
PVXS EPICS / Linux centos 7 (push) Failing after 2s
PVXS EPICS / Linux centos 8 (push) Failing after 1s
PVXS EPICS / Linux fedora 34 (push) Failing after 2s
PVXS Python / linux64 test (push) Failing after 1s
PVXS Python / linux 2.7 i686 (push) Failing after 7s
PVXS Python / linux 2.7u i686 (push) Failing after 7s
PVXS Python / linux 3.5 i686 (push) Failing after 7s
PVXS Python / linux 3.6 i686 (push) Failing after 7s
PVXS Python / linux 3.7 i686 (push) Failing after 7s
PVXS Python / linux 3.8 i686 (push) Failing after 7s
PVXS Python / linux 3.9 i686 (push) Failing after 7s
PVXS Python / linux 2.7 amd64 (push) Failing after 7s
PVXS Python / linux 2.7u amd64 (push) Failing after 7s
PVXS Python / linux 3.5 amd64 (push) Failing after 7s
PVXS Python / linux 3.6 amd64 (push) Failing after 7s
PVXS Python / linux 3.7 amd64 (push) Failing after 7s
PVXS Python / linux 3.8 amd64 (push) Failing after 7s
PVXS Python / linux 3.9 amd64 (push) Failing after 7s
PVXS Python / osx 3.6 intel (push) Cancelled after 0s
PVXS EPICS / vs2019 static (push) Cancelled after 0s
PVXS Python / osx 2.7 intel (push) Cancelled after 0s
PVXS EPICS / Native Linux with 3.14 (push) Cancelled after 0s
PVXS EPICS / Native Linux with 3.15 (push) Cancelled after 0s
PVXS EPICS / Native Linux with clang (push) Cancelled after 0s
PVXS EPICS / OSX (push) Cancelled after 0s
PVXS EPICS / Native Linux (WError) (push) Cancelled after 0s
PVXS EPICS / Cross mingw64 DLL (push) Cancelled after 0s
PVXS EPICS / RTEMS5 (push) Cancelled after 0s
PVXS EPICS / Native Linux with libevent stable (push) Cancelled after 0s
PVXS EPICS / Cross mingw64 static (push) Cancelled after 0s
PVXS EPICS / vs2019 DLL (push) Cancelled after 0s
PVXS Python / osx 3.7 intel (push) Cancelled after 0s
PVXS Python / osx 3.8 intel (push) Cancelled after 0s
PVXS Python / osx 3.9 intel (push) Cancelled after 0s
2021-10-03 10:05:10 -07:00
Michael Davidsaver 2ab08c115b sharedpv: fix race w/ subscribers list 2021-09-21 19:13:59 -07:00
Michael Davidsaver 8ed998a896 sharedpv: fix race w/ current
Don't allow current Value to become queued,
where it would be accessed w/o SharedPV::lock
2021-09-21 19:13:59 -07:00
Michael Davidsaver 85285546b2 fix Subscription::shared_from_this()
was leaking internal ref. which had to be disposed on client worker
2021-09-13 19:24:07 -07:00
Michael Davidsaver bbfa429c72 change up client rawRequest()
.rawRequest(Value()) is a no-op.
A truly empty request structure makes no sense.
2021-09-13 19:24:07 -07:00
Michael Davidsaver 62d6882048 doc 2021-09-13 19:24:07 -07:00
Michael Davidsaver 3382b35975 testStrMatch() portability 2021-08-30 21:14:17 -07:00
Michael Davidsaver 2f122da5c2 xerrlogHexPrintf ellipsis 2021-08-30 18:15:15 -07:00
Michael Davidsaver d811d5e17a minor 2021-08-30 13:54:12 -07:00
Michael Davidsaver 4ee7ce2108 ignore beacons with proto!='tcp' 2021-08-30 13:54:12 -07:00
Michael Davidsaver c503eece31 spell check 2021-08-13 15:18:31 -07:00
Michael Davidsaver 98edf61de8 Add client/server fromEnv() without temporary Config on caller stack 2021-08-06 12:34:32 -07:00
Michael Davidsaver d6bf565ed6 rename interfaces() -> broadcasts() 2021-08-04 17:26:10 -07:00