Commit Graph

42 Commits

Author SHA1 Message Date
Michael Davidsaver 7610575c50 reduce "non-existent IOID" noise
Note later if a decode fault occurs
2022-10-14 10:20:51 -07:00
Michael Davidsaver 298689a654 minor 2022-06-14 10:33:11 -07:00
Michael Davidsaver cce797263d fix handling of pva_ctrl_msg::SetEndian 2022-05-18 10:32:16 -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 c503eece31 spell check 2021-08-13 15:18:31 -07:00
Michael Davidsaver 5d3a21f030 client Channel search bypass
Bypass the broadcast search phase and directly connect
to a specific server and issue CMD_CREATE_CHANNEL.

Note, due to pvAccessCPP buggyness, this can only be relied
upon to connect with the unadvertised magic 'server' PV.
2021-07-03 13:20:20 -07:00
Michael Davidsaver d3a38b3a21 Label Expert API 2021-06-27 10:17:14 -07:00
Michael Davidsaver 7170d6dd40 minor 2021-06-27 10:17:14 -07:00
Michael Davidsaver 8555bb63ef client cancel() w/ tryCall()
Fail soft if  worker thread has already stopped.
2021-06-27 10:17:14 -07:00
Michael Davidsaver 9d128b2f8a more onInit() error handling 2021-06-27 10:17:13 -07:00
Michael Davidsaver db32f05ce1 client: allow replacing event handler (eg. during onInit()) 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 8246a64806 client: monitor connect autoExec() 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 c4d2cd4a10 client: reorg context Pvt 2021-06-27 10:17:13 -07:00
Michael Davidsaver 60d275412f conn/chan tx/rx stat tracking 2021-06-27 10:17:13 -07:00
Michael Davidsaver 89f9c54d62 client: relax exec() synchronization
dispatch() instead of call().
2021-06-08 09:45:49 -07:00
Michael Davidsaver 346b79d3b7 Add Subscription::shared_from_this()
Allow event() handler to acquire a shared_ptr<Subscription>
to eg. queue for later processing.
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 21d9cb6b1c fix monitor queue locking 2021-03-16 18:45:43 -07:00
Michael Davidsaver e9ce80880d remote file:line from decode errors 2021-01-12 11:32:10 -08:00
Michael Davidsaver 76764cf978 xcode: capture file:line of fault() 2021-01-12 11:32:10 -08:00
Michael Davidsaver b2b264ee9b client: fix monitor INIT error handling
data payload only present on success
2021-01-07 11:06:49 -08:00
Michael Davidsaver 56054a8e62 Add Subscription::name() 2020-11-05 22:08:06 -08:00
Michael Davidsaver 3fc91f2cad minor 2020-08-10 12:09:55 -07:00
Michael Davidsaver 4fac067287 client: monitor avoid extra wakeups 2020-08-10 12:09:55 -07:00
Michael Davidsaver 7a25744807 minor 2020-08-10 12:09:55 -07:00
Michael Davidsaver e52397fb63 Operation::cancel() return true if cancelled 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 64400c5050 client Builders allow default ctor
simplify handling of Builders
2020-07-26 20:46:12 -07:00
Michael Davidsaver c32d1ae0e2 fix pipeline w/ queueSize=1
Maybe not so useful, but shouldn't stall
2020-04-17 12:10:43 -07:00
Michael Davidsaver 46bcf877c9 replace epicsParse*() with std::sto*() 2020-04-16 22:01:38 -07:00
Michael Davidsaver b0eecb949f fixup client operation object lifetime 2020-04-12 23:29:30 -07:00
Michael Davidsaver dd3706aa0f Avoid client Context leak
Keep no internal public Context refs.
2020-04-12 22:30:30 -07:00
Michael Davidsaver facb18ae00 Add log_exc_printf() with stack trace 2020-04-03 11:58:23 -07:00
Michael Davidsaver edadc31f96 add instanceSnapshot() 2020-03-24 18:38:10 -07:00
Michael Davidsaver ad609e420c client Add NTURI version of rpc()
and consolidate with similar code for building
pvRequest _options and put() builder.
2020-03-12 20:02:08 -07:00
Michael Davidsaver 94b60d0ac0 client monitor cleanup and logging 2020-03-10 20:52:07 -07:00
Michael Davidsaver 51f005d62e client warn when operation implicitly canceled 2020-03-09 16:34:18 -07:00
Michael Davidsaver c7ba7d21b6 add client monitor 2020-03-04 19:57:00 -08:00