|
pvAccessCPP
7.1.1
|
Holds all PVA related. More...
Classes | |
| class | AuthenticationPlugin |
| Actor through which authentication exchanges are initiated. More... | |
| class | AuthenticationPluginControl |
| Callbacks for use by AuthenticationSession. More... | |
| class | AuthenticationRegistry |
| Registry(s) for plugins. More... | |
| class | AuthenticationSession |
| A particular authentication exchange. More... | |
| class | AuthorizationPlugin |
| I modify PeerInfo after authentication is complete. More... | |
| class | BeaconEmitter |
| BeaconEmitter. More... | |
| class | BeaconHandler |
| BeaconHandler. More... | |
| class | BeaconServerStatusProvider |
| BeaconServerStatusProvider. More... | |
| class | BlockingTCPAcceptor |
| Channel Access Server TCP acceptor. More... | |
| class | BlockingTCPConnector |
| Channel Access TCP connector. More... | |
| class | Channel |
| The interface through which Operations (get, put, monitor, ...) are initiated. More... | |
| class | ChannelArray |
| Request to put and get Array Data. More... | |
| class | ChannelArrayRequester |
| The Requester for a ChannelArray. More... | |
| struct | ChannelBaseRequester |
| Base for all Requesters (callbacks to client) More... | |
| class | ChannelGet |
| Request to get data from a channel. More... | |
| class | ChannelGetRequester |
| Requester for channelGet. More... | |
| class | ChannelProcess |
| ChannelProcess - request that a channel be processed. More... | |
| class | ChannelProcessRequester |
| Requester for channelProcess. More... | |
| class | ChannelProvider |
| An instance of a Client or Server. More... | |
| class | ChannelProviderFactory |
ChanneProvider factory interface. More... | |
| class | ChannelProviderRegistry |
| Interface for locating channel providers. More... | |
| class | ChannelPut |
| Interface for a channel access put request. More... | |
| class | ChannelPutGet |
| Channel access put/get request. More... | |
| class | ChannelPutGetRequester |
| Requester for ChannelPutGet. More... | |
| class | ChannelPutRequester |
| Requester for ChannelPut. More... | |
| class | ChannelRequest |
| Base interface for all channel requests (aka. More... | |
| class | ChannelRequester |
| Event notifications associated with Channel life-cycle. More... | |
| class | ChannelRPC |
| Handle for an RPC operation. More... | |
| class | ChannelRPCRequester |
| Notifications associated with Channel::createChannelRPC() More... | |
| class | Configuration |
| Configuration. More... | |
| class | ConfigurationEnviron |
| Lookup configuration strings from the process environment. More... | |
| class | ConfigurationFactory |
| Configuration factory. More... | |
| class | ConfigurationMap |
| Lookup configuration strings from an in memory store. More... | |
| class | ConfigurationProvider |
| Configuration provider. More... | |
| class | ConfigurationStack |
| Lookup configuration strings from a heap of sub-Configurations. More... | |
| class | Context |
| Not public IF, used by Transports, etc. More... | |
| class | DefaultBeaconServerStatusProvider |
| DefaultBeaconServerStatusProvider. More... | |
| struct | DefaultChannelRequester |
| Used when ChannelProvider::createChannel() is passed a NULL ChannelRequester. More... | |
| class | Destroyable |
| Instance declaring destroy method. More... | |
| class | GetFieldRequester |
| Completion notification for Channel::getField() More... | |
| class | IntrospectionRegistry |
| PVData Structure registry. More... | |
| class | Monitor |
| Access to Monitor subscription and queue. More... | |
| class | MonitorElement |
| An element for a monitorQueue. More... | |
| class | MonitorFIFO |
| Utility implementation of Monitor. More... | |
| class | MonitorRequester |
| Callback implemented by monitor clients. More... | |
| struct | NetStats |
| Expose statistics related to network transport. More... | |
| struct | PeerInfo |
| Information provded by a client to a server-type ChannelProvider. More... | |
| class | ReferenceCountingLock |
| Reference counting mutex implementation w/ deadlock detection. More... | |
| class | Requester |
| Callback class for passing messages to a requester. More... | |
| class | ResponseHandler |
| Interface defining response handler. More... | |
| class | ResponseRequest |
| A request that expects an response. More... | |
| class | RPCClient |
| RPCClient is an interface class that is used by a service client. More... | |
| class | RPCServer |
| Serves (only) RPCServiceAsync and RPCService instances. More... | |
| class | ScopedLock |
| Scope lock. More... | |
| class | ServerArrayHandler |
| Array request handler. More... | |
| class | ServerBadResponse |
| Bad request handler. More... | |
| class | ServerCancelRequestHandler |
| Cancel request handler. More... | |
| class | ServerConnectionValidationHandler |
| Connection validation message handler. More... | |
| class | ServerContext |
| The class representing a PVA Server context. More... | |
| class | ServerCreateChannelHandler |
| Create channel request handler. More... | |
| class | ServerDestroyChannelHandler |
| Destroy channel request handler. More... | |
| class | ServerDestroyRequestHandler |
| Destroy request handler. More... | |
| class | ServerEchoHandler |
| Echo request handler. More... | |
| class | ServerGetFieldHandler |
| Get field request handler. More... | |
| class | ServerGetHandler |
| Get request handler. More... | |
| struct | ServerGUID |
| Globally unique ID. More... | |
| class | ServerMonitorHandler |
| Monitor request handler. More... | |
| class | ServerNoopResponse |
| NOOP response. More... | |
| class | ServerProcessHandler |
| Process request handler. More... | |
| class | ServerPutGetHandler |
| Put request handler. More... | |
| class | ServerPutHandler |
| Put request handler. More... | |
| class | ServerResponseHandler |
| PVAS request handler - main handler which dispatches requests to appropriate handlers. More... | |
| class | ServerRPCHandler |
| RPC handler. More... | |
| class | ServerSearchHandler |
| Search channel request handler. More... | |
| struct | SimpleChannelProviderFactory |
| Simple ChannelProviderFactory which requires the existance of a ctor Provider(const std::tr1::shared_ptr<Configuration>& conf) which is called with a Configuration instance or NULL (use some defaults) More... | |
| struct | SingletonChannelProviderFactory |
| Helper for ChannelProviders which access a singleton resource (eg. More... | |
| class | Transport |
| Interface defining transport (connection). More... | |
| class | TransportSendControl |
| Interface defining transport send control. More... | |
| class | TransportSender |
| Interface defining transport sender (instance sending data over transport). More... | |
| class | Wildcard |
| Class which implements wildcard patterns and checks to see if a string matches a given pattern. More... | |
Typedefs | |
| typedef std::tr1::shared_ptr< MonitorElement > | MonitorElementPtr |
| typedef std::vector< MonitorElementPtr > | MonitorElementPtrArray |
| typedef std::tr1::shared_ptr< Monitor > | MonitorPtr |
| typedef Monitor | PipelineMonitor |
| Pipeline (streaming) support API (optional). More... | |
| typedef ConfigurationEnviron | SystemConfigurationImpl |
| typedef std::vector< osiSockAddr > | InetAddrVector |
| typedef std::vector< ifaceNode > | IfaceNodeVector |
| typedef std::map< const short, epics::pvData::FieldConstPtr > | registryMap_t |
| typedef std::tr1::shared_ptr< Requester > | RequesterPtr |
| typedef epicsInt32 | pvAccessID |
| typedef std::vector< BlockingUDPTransport::shared_pointer > | BlockingUDPTransportVector |
Enumerations | |
| enum | AccessRights { none, read, readWrite } |
| enum | FlushStrategy { IMMEDIATE, DELAYED, USER_CONTROLED } |
| The FlushStrategy enum. | |
| enum | pvAccessLogLevel { logLevelAll = 0, logLevelTrace, logLevelDebug, logLevelInfo, logLevelWarn, logLevelError, logLevelFatal, logLevelOff } |
| enum | MessageType { infoMessage, warningMessage, errorMessage, fatalErrorMessage } |
| enum | InetAddressType { inetAddressType_all, inetAddressType_unicast, inetAddressType_broadcast_multicast } |
| enum | QoS { QOS_DEFAULT = 0x00, QOS_REPLY_REQUIRED = 0x01, QOS_BESY_EFFORT = 0x02, QOS_PROCESS = 0x04, QOS_INIT = 0x08, QOS_DESTROY = 0x10, QOS_SHARE = 0x20, QOS_GET = 0x40, QOS_GET_PUT = 0x80 } |
| enum | ApplicationCommands { CMD_BEACON = 0, CMD_CONNECTION_VALIDATION = 1, CMD_ECHO = 2, CMD_SEARCH = 3, CMD_SEARCH_RESPONSE = 4, CMD_AUTHNZ = 5, CMD_ACL_CHANGE = 6, CMD_CREATE_CHANNEL = 7, CMD_DESTROY_CHANNEL = 8, CMD_CONNECTION_VALIDATED = 9, CMD_GET = 10, CMD_PUT = 11, CMD_PUT_GET = 12, CMD_MONITOR = 13, CMD_ARRAY = 14, CMD_DESTROY_REQUEST = 15, CMD_PROCESS = 16, CMD_GET_FIELD = 17, CMD_MESSAGE = 18, CMD_MULTIPLE_DATA = 19, CMD_RPC = 20, CMD_CANCEL_REQUEST = 21, CMD_ORIGIN_TAG = 22 } |
| enum | ControlCommands { CMD_SET_MARKER = 0, CMD_ACK_MARKER = 1, CMD_SET_ENDIANESS = 2 } |
Functions | |
| epicsShareFunc ServerContext::shared_pointer | startPVAServer (std::string const &providerNames=PVACCESS_ALL_PROVIDERS, int timeToRun=0, bool runInSeparateThread=false, bool printInfo=false) |
| void | providerRegInit (void *) |
| epicsShareFunc Channel::shared_pointer | createRPCChannel (ChannelProvider::shared_pointer const &provider, std::string const &channelName, ChannelRequester::shared_pointer const &channelRequester, RPCServiceAsync::shared_pointer const &rpcService) |
| epicsShareFunc std::ostream & | operator<< (std::ostream &strm, const HexDump &hex) |
| epicsShareFunc int | discoverInterfaces (IfaceNodeVector &list, SOCKET socket, const osiSockAddr *pMatchAddr=0) |
| epicsShareFunc void | encodeAsIPv6Address (epics::pvData::ByteBuffer *buffer, const osiSockAddr *address) |
| Encode IPv4 address as IPv6 address. More... | |
| epicsShareFunc bool | decodeAsIPv6Address (epics::pvData::ByteBuffer *buffer, osiSockAddr *address) |
| Decode IPv6 address (as IPv4 address). More... | |
| epicsShareFunc bool | isMulticastAddress (const osiSockAddr *address) |
| Check if an IPv4 address is a multicast address. More... | |
| epicsShareFunc void | getSocketAddressList (InetAddrVector &ret, const std::string &list, int defaultPort, const InetAddrVector *appendList=NULL) |
Parse space delimited addresss[:port] string and populate array of InetSocketAddress. More... | |
| epicsShareFunc std::string | inetAddressToString (const osiSockAddr &addr, bool displayPort=true, bool displayHex=false) |
| epicsShareFunc void | pvAccessLog (pvAccessLogLevel level, const char *format,...) EPICS_PRINTF_STYLE(2 |
| epicsShareFunc void epicsShareFunc void | pvAccessSetLogLevel (pvAccessLogLevel level) |
| epicsShareFunc bool | pvAccessIsLoggable (pvAccessLogLevel level) |
| epicsShareExtern std::string | getMessageTypeName (MessageType messageType) |
| epicsShareFunc std::ostream & | operator<< (std::ostream &o, const Version &v) |
| void | initializeUDPTransports (bool serverFlag, BlockingUDPTransportVector &udpTransports, const IfaceNodeVector &ifaceList, const ResponseHandler::shared_pointer &responseHandler, BlockingUDPTransport::shared_pointer &sendTransport, epics::pvData::int32 &listenPort, bool autoAddressList, const std::string &addressList, const std::string &ignoreAddressList) |
| epicsShareFunc void | osdGetRoles (const std::string &account, PeerInfo::roles_t &roles) |
| Query OS specific DB for role/group names assocated with a user account. More... | |
Variables | |
| const epics::pvData::int8 | PVA_MAGIC = static_cast<epics::pvData::int8>(0xCA) |
| PVA protocol magic number. | |
| const epics::pvData::int8 | PVA_SERVER_PROTOCOL_REVISION = 2 |
| const epics::pvData::int8 | PVA_CLIENT_PROTOCOL_REVISION = 2 |
| const epics::pvData::int8 PVA_PROTOCOL_REVISION | EPICS_DEPRECATED = 1 |
| PVA protocol revision (implemented by this library). More... | |
| const epics::pvData::int32 | PVA_SERVER_PORT = 5075 |
| Default PVA server port. More... | |
| const epics::pvData::int32 | PVA_BROADCAST_PORT = 5076 |
| Default PVA beacon port. More... | |
| const epics::pvData::int16 | PVA_MESSAGE_HEADER_SIZE = 8 |
| PVA protocol message header size. More... | |
| const epics::pvData::int32 | MAX_UDP_UNFRAGMENTED_SEND = 1440 |
| UDP maximum send message size. More... | |
| const epics::pvData::int32 | MAX_UDP_RECV = 65487 |
| UDP maximum receive message size. More... | |
| const epics::pvData::int32 | MAX_TCP_RECV = 1024*16 |
| TCP maximum receive message size. More... | |
| const epics::pvData::int32 | MAX_SEARCH_BATCH_COUNT = 0x7FFF |
| Maximum number of search requests in one search message. More... | |
| const epics::pvData::int16 | PVA_DEFAULT_PRIORITY = 0 |
| Default priority (corresponds to POSIX SCHED_OTHER) | |
| const epics::pvData::uint32 | MAX_CHANNEL_NAME_LENGTH = 500 |
| Unreasonable channel name length. More... | |
| const epics::pvData::int16 | INVALID_DATA_TYPE = 0xFFFF |
| Invalid data type. More... | |
| const epics::pvData::int32 | INVALID_IOID = 0 |
| Invalid IOID. More... | |
| epicsShareExtern const std::string | PVACCESS_DEFAULT_PROVIDER |
| Default PVA provider name. More... | |
| epicsShareExtern const std::string | PVACCESS_ALL_PROVIDERS |
| "All-providers registered" PVA provider name. More... | |
| epicsShareExtern const std::string | PVACCESS_DEBUG |
| Name of the system env. More... | |
Holds all PVA related.
Pipeline (streaming) support API (optional).
This is used by pvAccess to implement pipeline (streaming) monitors.
Definition at line 1563 of file pvAccess.h.
| Enumerator | |
|---|---|
| none | Neither read or write access is allowed. |
| read | Read access is allowed but write access is not allowed. |
| readWrite | Both read and write access are allowed. |
Definition at line 71 of file pvAccess.h.
| enum epics::pvAccess::QoS |
| epicsShareFunc bool epics::pvAccess::decodeAsIPv6Address | ( | epics::pvData::ByteBuffer * | buffer, |
| osiSockAddr * | address | ||
| ) |
Decode IPv6 address (as IPv4 address).
| buffer | byte-buffer where to get encoded data. |
| address | address where to decode. |
| epicsShareFunc void epics::pvAccess::encodeAsIPv6Address | ( | epics::pvData::ByteBuffer * | buffer, |
| const osiSockAddr * | address | ||
| ) |
Encode IPv4 address as IPv6 address.
| buffer | byte-buffer where to put encoded data. |
| address | address to encode. |
| epicsShareFunc void epics::pvAccess::getSocketAddressList | ( | InetAddrVector & | ret, |
| const std::string & | list, | ||
| int | defaultPort, | ||
| const InetAddrVector * | appendList = NULL |
||
| ) |
Parse space delimited addresss[:port] string and populate array of InetSocketAddress.
| ret | results stored hre |
| list | space delimited addresss[:port] string. |
| defaultPort | port take if not specified. |
| appendList | list to be appended. |
InetSocketAddress. | epicsShareFunc bool epics::pvAccess::isMulticastAddress | ( | const osiSockAddr * | address | ) |
Check if an IPv4 address is a multicast address.
| address | IPv4 address to check. |
| epicsShareFunc void epics::pvAccess::osdGetRoles | ( | const std::string & | account, |
| PeerInfo::roles_t & | roles | ||
| ) |
Query OS specific DB for role/group names assocated with a user account.
| account | User name |
| roles | Role names are added to this set. Existing names are not removed. |
| const epics::pvData::int8 PVA_VERSION epics::pvAccess::EPICS_DEPRECATED = 1 |
PVA protocol revision (implemented by this library).
PVA version signature used to report this implementation version in header.
Definition at line 35 of file pvaConstants.h.
| const epics::pvData::int16 epics::pvAccess::INVALID_DATA_TYPE = 0xFFFF |
Invalid data type.
Definition at line 76 of file pvaConstants.h.
| const epics::pvData::int32 epics::pvAccess::INVALID_IOID = 0 |
Invalid IOID.
Definition at line 79 of file pvaConstants.h.
| const epics::pvData::uint32 epics::pvAccess::MAX_CHANNEL_NAME_LENGTH = 500 |
Unreasonable channel name length.
Definition at line 73 of file pvaConstants.h.
| const epics::pvData::int32 epics::pvAccess::MAX_SEARCH_BATCH_COUNT = 0x7FFF |
Maximum number of search requests in one search message.
Definition at line 67 of file pvaConstants.h.
| const epics::pvData::int32 epics::pvAccess::MAX_TCP_RECV = 1024*16 |
TCP maximum receive message size.
Definition at line 64 of file pvaConstants.h.
| const epics::pvData::int32 epics::pvAccess::MAX_UDP_RECV = 65487 |
UDP maximum receive message size.
MAX_UDP: 65535 (max UDP packet size) - 20/40(IPv4/IPv6) - 8(UDP)
Definition at line 61 of file pvaConstants.h.
| const epics::pvData::int32 epics::pvAccess::MAX_UDP_UNFRAGMENTED_SEND = 1440 |
UDP maximum send message size.
MAX_UDP: 1500 (max of ethernet and 802.{2,3} MTU) - 20/40(IPv4/IPv6)
Definition at line 55 of file pvaConstants.h.
| const epics::pvData::int32 epics::pvAccess::PVA_BROADCAST_PORT = 5076 |
Default PVA beacon port.
Definition at line 44 of file pvaConstants.h.
| const epics::pvData::int16 epics::pvAccess::PVA_MESSAGE_HEADER_SIZE = 8 |
PVA protocol message header size.
Definition at line 47 of file pvaConstants.h.
| const epics::pvData::int32 epics::pvAccess::PVA_SERVER_PORT = 5075 |
Default PVA server port.
Definition at line 41 of file pvaConstants.h.
| epicsShareExtern const std::string epics::pvAccess::PVACCESS_ALL_PROVIDERS |
"All-providers registered" PVA provider name.
Definition at line 85 of file pvaConstants.h.
| epicsShareExtern const std::string epics::pvAccess::PVACCESS_DEBUG |
Name of the system env.
variable to turn on debugging.
Definition at line 88 of file pvaConstants.h.
| epicsShareExtern const std::string epics::pvAccess::PVACCESS_DEFAULT_PROVIDER |
Default PVA provider name.
Definition at line 82 of file pvaConstants.h.
1.8.13