14 #ifdef epicsExportSharedSymbols
15 # define blockingTCPEpicsExportSharedSymbols
16 # undef epicsExportSharedSymbols
21 #include <epicsTime.h>
22 #include <epicsThread.h>
24 #include <pv/byteBuffer.h>
25 #include <pv/pvType.h>
30 #ifdef blockingTCPEpicsExportSharedSymbols
31 # define epicsExportSharedSymbols
32 # undef blockingTCPEpicsExportSharedSymbols
35 #include <pv/pvaConstants.h>
36 #include <pv/remote.h>
37 #include <pv/transportRegistry.h>
38 #include <pv/introspectionRegistry.h>
39 #include <pv/inetAddressUtil.h>
44 class ClientChannelImpl;
56 float beaconInterval);
58 Transport::shared_pointer connect(std::tr1::shared_ptr<ClientChannelImpl>
const & client,
59 ResponseHandler::shared_pointer
const & responseHandler, osiSockAddr& address,
60 epics::pvData::int8 transportRevision, epics::pvData::int16 priority);
65 static const int LOCK_TIMEOUT = 20*1000;
70 Context::weak_pointer _context;
75 int _receiveBufferSize;
80 float _heartbeatInterval;
89 SOCKET tryConnect(osiSockAddr& address,
int tries);
103 ResponseHandler::shared_pointer
const & responseHandler,
104 const osiSockAddr& addr,
int receiveBufferSize);
113 return &_bindAddress;
127 Context::shared_pointer _context;
132 ResponseHandler::shared_pointer _responseHandler;
137 osiSockAddr _bindAddress;
142 SOCKET _serverSocketChannel;
147 int _receiveBufferSize;
154 epics::pvData::Mutex _mutex;
168 bool validateConnection(Transport::shared_pointer
const & transport,
const char* address);
const osiSockAddr * getBindAddress()
Bind socket address.
void destroy()
Destroy acceptor (stop listening).
Channel Access Server TCP acceptor.
Channel Access TCP connector.