Commit Graph

61 Commits

Author SHA1 Message Date
Michael Davidsaver f948a4fbb0 client: log invalid monitor queueSize 2025-06-11 15:32:47 -07:00
Michael Davidsaver a7d761d507 fix spelling 2024-10-13 17:38:28 -07:00
Michael Davidsaver 8acd4fa5ea client: consolidate cache_sync() 2023-09-25 18:50:26 -07:00
Michael Davidsaver 68cc69b984 client: propagate exception during early op. setup 2023-09-11 10:37:00 +02:00
Michael Davidsaver f20d958c46 client: avoid assert() with invalid forceServer
op->chan may not be set if Channel::build() throws.
eg. if forced server name is invalid for connect().
2023-09-11 10:37:00 +02:00
Michael Davidsaver 3bfead3367 fixup copyable
Ensure type with vtable (excluding exceptions) are not copyable.
2023-06-14 11:26:31 -07:00
Michael Davidsaver 81194fac75 client: avoid unnecessary test.
update always consumed prior to this test.
triggers use-after-move even though update
is well defined.
2023-06-12 19:55:03 -07:00
Michael Davidsaver 2247c20bee quiet MONITOR exceeds window size
The destroy message triggers a spurious ERR.
2023-05-16 20:57:51 -07:00
Michael Davidsaver a36dd2a9cc fix monitor pipeline and finish() 2023-05-12 09:29:25 -07:00
Michael Davidsaver a4e974def9 client: fix batch pop() of exception 2023-05-11 10:50:08 -07:00
Michael Davidsaver aef69c9f25 redo INST_COUNTER
Allow for use by pvxsIoc
2023-05-09 22:24:19 -07:00
Michael Davidsaver 303bc61079 apply loc_bad_alloc to owned_ptr
Distinguish location of owned_ptr failure
2023-03-28 15:21:39 -07:00
Michael Davidsaver 92fb0a4afa client: fix delta sync of Compound
cf. cc5d382930
2023-03-26 18:14:21 -07:00
Michael Davidsaver 36e537e479 appease -Wnoexcept 2023-03-20 09:41:41 -07:00
Michael Davidsaver 6f770d0ea3 final-ize some derived types 2023-03-20 09:41:41 -07:00
Michael Davidsaver cc5d382930 client: monitor yield "complete" updates
Populate unchanged fields with most recently received value.
2022-11-27 08:20:13 -08:00
Michael Davidsaver 4141775c71 client: add non-intrusive free-list for subscription queue 2022-11-27 08:20:13 -08:00
Michael Davidsaver febc823301 Client subscription add batch pop() and stats() 2022-11-27 08:20:13 -08:00
Michael Davidsaver 0d5a3f62e1 client: fix locking of monitor members during pop()
more care needed with data members called
during pop() by user thread.
2022-10-14 10:20:51 -07:00
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