pvAccessCPP
7.1.9
Toggle main menu visibility
Loading...
Searching...
No Matches
remote
pv
beaconHandler.h
1
6
7
#ifndef BEACONHANDLER_H
8
#define BEACONHANDLER_H
9
10
#ifdef epicsExportSharedSymbols
11
# define beaconHandlerEpicsExportSharedSymbols
12
# undef epicsExportSharedSymbols
13
#endif
14
15
#include <osiSock.h>
16
17
#include <pv/timeStamp.h>
18
#include <pv/lock.h>
19
20
#ifdef beaconHandlerEpicsExportSharedSymbols
21
# define epicsExportSharedSymbols
22
# undef beaconHandlerEpicsExportSharedSymbols
23
#endif
24
25
#include <pv/pvaDefs.h>
26
#include <pv/remote.h>
27
#include <pv/pvAccess.h>
28
29
namespace
30
{
31
class
InternalClientContextImpl;
32
}
33
34
namespace
epics
{
35
namespace
pvAccess
{
36
namespace
detail {
37
class
BeaconCleanupHandler;
38
}
39
43
class
BeaconHandler
44
{
45
public
:
46
POINTER_DEFINITIONS(
BeaconHandler
);
47
51
BeaconHandler
(Context::shared_pointer
const
& context,
52
const
osiSockAddr* responseFrom);
53
54
virtual
~BeaconHandler
();
55
65
void
beaconNotify
(osiSockAddr* from,
66
epics::pvData::int8
remoteTransportRevision,
67
epics::pvData::TimeStamp* timestamp,
68
ServerGUID
const
&guid,
69
epics::pvData::int16
sequentalID,
70
epics::pvData::int16
changeCount,
71
const
epics::pvData::PVFieldPtr
&
data
);
72
private
:
76
Context::weak_pointer _context;
83
epics::pvData::Mutex _mutex;
87
ServerGUID
_serverGUID;
91
epics::pvData::int16
_serverChangeCount;
95
bool
_first;
99
std::tr1::shared_ptr<detail::BeaconCleanupHandler> _callback;
100
110
bool
updateBeacon(
epics::pvData::int8
remoteTransportRevision,
111
epics::pvData::TimeStamp* timestamp,
112
ServerGUID
const
&guid,
113
epics::pvData::int16
sequentalID,
114
epics::pvData::int16
changeCount);
115
116
friend
class ::InternalClientContextImpl;
117
};
118
119
}
120
}
121
122
#endif
/* INTROSPECTIONREGISTRY_H */
data
constexpr auto data(_Container &__cont) noexcept(noexcept(__cont.data())) -> decltype(__cont.data())
epics::pvAccess::BeaconHandler::BeaconHandler
BeaconHandler(Context::shared_pointer const &context, const osiSockAddr *responseFrom)
Constructor.
epics::pvAccess::BeaconHandler::beaconNotify
void beaconNotify(osiSockAddr *from, epics::pvData::int8 remoteTransportRevision, epics::pvData::TimeStamp *timestamp, ServerGUID const &guid, epics::pvData::int16 sequentalID, epics::pvData::int16 changeCount, const epics::pvData::PVFieldPtr &data)
Update beacon period and do analitical checks (server restared, routing problems, etc....
epics::pvAccess
Holds all PVA related.
Definition
monitor.h:37
epics::pvData::PVFieldPtr
std::tr1::shared_ptr< PVField > PVFieldPtr
epics::pvData::int16
int16_t int16
epics::pvData::int8
int8_t int8
epics
Copyright - See the COPYRIGHT that is included with this distribution.
epics::pvAccess::ServerGUID
Globally unique ID.
Definition
pvaDefs.h:14
Generated on
for pvAccessCPP by
1.17.0