pvAccessCPP
7.1.7
|
Subscription usable w/o callbacks. More...
#include <client/pva/client.h>
Public Member Functions | |
MonitorSync (const Monitor &, const std::tr1::shared_ptr< SImpl > &) | |
bool | wait () |
wait for new event More... | |
bool | wait (double timeout) |
wait for new event More... | |
bool | test () |
check if new event is immediately available. More... | |
void | wake () |
Abort one call to wait(), either concurrent or future. More... | |
std::string | name () const |
Channel name. | |
void | cancel () |
Immediate cancellation. More... | |
bool | poll () |
updates root, changed, overrun More... | |
bool | complete () const |
true if all events received. More... | |
bool | valid () const |
operator bool_type () const | |
void | reset () |
Public Attributes | |
MonitorEvent | event |
most recent event updated only during wait() or poll() | |
epics::pvData::PVStructure::const_shared_pointer | root |
Monitor update data. More... | |
epics::pvData::BitSet | changed |
epics::pvData::BitSet | overrun |
Subscription usable w/o callbacks.
Basic usage is to call wait() or test(). If true is returned, then the 'event', 'root', 'changed', and 'overrun' members have been updated with a new event. Test 'event.event' first to find out which kind of event has occured.
Note that wait()/test() methods are distinct from base class poll(). wait()/test() check for the arrival of MonitorEvent while poll() checks for the availability of data (eg. following a Data event).
|
inherited |
Immediate cancellation.
Does not wait for remote confirmation.
|
inherited |
true if all events received.
Check after poll()==false
|
inherited |
updates root, changed, overrun
bool pvac::MonitorSync::test | ( | ) |
check if new event is immediately available.
Does not block.
bool pvac::MonitorSync::wait | ( | ) |
wait for new event
bool pvac::MonitorSync::wait | ( | double | timeout | ) |
wait for new event
void pvac::MonitorSync::wake | ( | ) |
Abort one call to wait(), either concurrent or future.
Calls are queued. wait() will return with MonitorEvent::Fail.
|
inherited |
Monitor update data.
After version 6.0.0
Initially NULL, becomes !NULL the first time poll()==true. The PVStructure pointed to be root will presist until Monitor reconnect w/ type change. This can be detected by comparing root.get()
. references to root may be cached subject to this test.
In version 6.0.0
NULL except after poll()==true. poll()==false sets root=NULL. references to root should not be stored between calls to poll().