Commit Graph

201 Commits

Author SHA1 Message Date
Michael Davidsaver c2f1f13bb3 server: fix beacons TX on Linux 2022-04-05 07:57:16 -07:00
Michael Davidsaver bd9fcd8586 add testwild
test behavior when binding to ipv4/6 wildcard interfaces
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 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 df4289b4e6 IPv6+mcast support 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 49144445f7 minor 2021-10-28 10:04:25 -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 3382b35975 testStrMatch() portability 2021-08-30 21:14:17 -07:00
Michael Davidsaver 2ab0d662bf test de/re-encode w/ non-conformant field names 2021-08-26 10:36:05 -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 ed6fa0bd1a fix encoding of (Sub)Struct w/ valid set 2021-07-19 12:46:52 -07:00
Michael Davidsaver 5abe43f3d6 server: test Source ordering
when resolving duplicate a PV name
2021-07-17 10:36:07 -07:00
Michael Davidsaver dfbed0c850 server ExecOp timer 2021-07-17 08:22:25 -07:00
Michael Davidsaver 5fb81b88b1 ci: run tests w/ RTEMS5 2021-07-07 12:52:55 -07:00
Michael Davidsaver f7b3821e10 client: consistent Channel disconnect handling
More commonality betwee disconnect and CMD_DESTROY_CHANNEL.

squash! client: consistent Channel disconnect handling

Periodic cache cleaning
2021-07-06 18:32:36 -07:00
Michael Davidsaver 55f8b91ede testmon cover server close channel
int addition to server restart/disconnect
2021-07-02 16:44:02 -07:00
Michael Davidsaver 302557e46d fixup expert API handling 2021-07-02 16:44:02 -07:00
Michael Davidsaver b896b1804c optimize xcode of shared_array with POD elements 2021-07-02 16:44:02 -07:00
Michael Davidsaver 0e5bd37b6e minor 2021-07-02 13:15:50 -07:00
Michael Davidsaver f8cdcd4f91 RTEMS5/libbsd support 2021-06-27 10:17:14 -07:00
Michael Davidsaver e287ce5a58 data: Value in/out from enum{} 2021-06-27 10:17:14 -07:00
Michael Davidsaver a32f82ca35 unittest: harden string comparison
std::string::compare((char*)nullptr) crashes circa gcc 4.8
in call to strlen(nullptr).
2021-06-27 10:17:14 -07:00
Michael Davidsaver d33672a859 extend testdata 2021-06-27 10:17:14 -07:00
Michael Davidsaver 4ea98d61f6 test GUID printing 2021-06-27 10:17:13 -07:00
Michael Davidsaver c76c2806f3 add MPSCFIFO 2021-06-27 10:17:13 -07:00
Michael Davidsaver bb341e0e3e client: test bad pvRequest 2021-06-27 10:17:13 -07:00
Michael Davidsaver 3dd4dd6a66 client: different onInit() for monitor 2021-06-27 10:17:13 -07:00
Michael Davidsaver cd990fb459 reExecGet/Put() 2021-06-27 10:17:13 -07:00
Michael Davidsaver 708fbc8062 client: add *Builder::syncCancel(bool)
Option for asynchronous cancel (eg. implicitly through ~Operation).
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 8eac7c9941 client: relax exec() synchronization for connect() 2021-06-27 10:17:13 -07:00
Michael Davidsaver ccda2bd51e test client/server Report 2021-06-27 10:17:13 -07:00
Michael Davidsaver c15285c272 testutil show PVXS_VERSION 2021-06-27 10:17:13 -07:00
Michael Davidsaver dbed32309e add osdGetRoles() 2021-06-27 10:17:13 -07:00
Michael Davidsaver 904dff1c37 start testutil 2021-06-08 09:45:49 -07:00
Michael Davidsaver fb9f356457 client reExec() for Get 2021-06-08 09:45:49 -07:00
Michael Davidsaver 2972bd8205 client: add onInit hook 2021-06-08 09:45:49 -07:00
Michael Davidsaver 564b9ec2cc client: add Context::connect()
A means of manually (pre)populating
the channel cache.
2021-06-08 09:45:49 -07:00
Michael Davidsaver cbcd3ce105 log: avoid direct use of stderr 2021-05-06 08:46:27 -07:00
Michael Davidsaver d3979fb56d test log config from environment 2021-05-06 08:46:27 -07:00
Michael Davidsaver 3dcf2f59fe fix logger_level_set() 2021-05-06 08:46:27 -07:00
Michael Davidsaver 6c3e5b693c add NTEnum 2021-05-04 16:46:41 -07:00
Michael Davidsaver f88733d7c6 shared_array: fix assembly from void*
CaptureBase<void> not valid
2021-05-04 16:46:41 -07:00
Michael Davidsaver 4a86694605 missing includes 2021-04-18 18:07:56 -07:00
Michael Davidsaver 78940d5530 config remove duplicates from address lists 2021-04-17 10:51:29 -07:00