This is Unofficial EPICS BASE Doxygen Site
netiiu.h
Go to the documentation of this file.
1 /*************************************************************************\
2 * Copyright (c) 2002 The University of Chicago, as Operator of Argonne
3 * National Laboratory.
4 * Copyright (c) 2002 The Regents of the University of California, as
5 * Operator of Los Alamos National Laboratory.
6 * EPICS BASE is distributed subject to a Software License Agreement found
7 * in file LICENSE that is included with this distribution.
8 \*************************************************************************/
9 /*
10  *
11  *
12  * L O S A L A M O S
13  * Los Alamos National Laboratory
14  * Los Alamos, New Mexico 87545
15  *
16  * Copyright, 1986, The Regents of the University of California.
17  *
18  *
19  * Author Jeffrey O. Hill
20  * johill@lanl.gov
21  * 505 665 1831
22  */
23 
24 #ifndef INC_netiiu_H
25 #define INC_netiiu_H
26 
27 #include "cacIO.h"
28 #include "caProto.h"
29 
30 class netWriteNotifyIO;
31 class netReadNotifyIO;
32 class netSubscription;
33 union osiSockAddr;
34 class cac;
35 class nciu;
36 
37 class netiiu {
38 public:
39  virtual ~netiiu () = 0;
40  virtual unsigned getHostName (
41  epicsGuard < epicsMutex > &, char * pBuf,
42  unsigned bufLength ) const throw () = 0;
43  virtual const char * pHostName (
44  epicsGuard < epicsMutex > & ) const throw () = 0;
45  virtual bool ca_v41_ok (
46  epicsGuard < epicsMutex > & ) const = 0;
47  virtual bool ca_v42_ok (
48  epicsGuard < epicsMutex > & ) const = 0;
49  virtual unsigned requestMessageBytesPending (
50  epicsGuard < epicsMutex > & mutualExclusionGuard ) = 0;
51  virtual void flush (
52  epicsGuard < epicsMutex > & mutualExclusionGuard ) = 0;
53  virtual void writeRequest (
55  unsigned type, arrayElementCount nElem,
56  const void *pValue ) = 0;
57  virtual void writeNotifyRequest (
60  unsigned type, arrayElementCount nElem,
61  const void *pValue ) = 0;
62  virtual void readNotifyRequest (
64  netReadNotifyIO &, unsigned type,
65  arrayElementCount nElem ) = 0;
66  virtual void clearChannelRequest (
68  ca_uint32_t sid, ca_uint32_t cid ) = 0;
69  virtual void subscriptionRequest (
71  nciu &, netSubscription & ) = 0;
72  virtual void subscriptionUpdateRequest (
74  nciu &, netSubscription & ) = 0;
75  virtual void subscriptionCancelRequest (
77  nciu & chan, netSubscription & subscr ) = 0;
78  virtual void flushRequest (
83  epicsGuard < epicsMutex > & ) const = 0;
84  virtual void uninstallChan (
88  const class epicsTime & currentTime ) = 0;
89  virtual double receiveWatchdogDelay (
90  epicsGuard < epicsMutex > & ) const = 0;
91  virtual bool searchMsg (
93  const char * pName, unsigned nameLength ) = 0;
94 };
95 
96 #endif // ifndef INC_netiiu_H
virtual bool ca_v42_ok(epicsGuard< epicsMutex > &) const =0
Definition: netiiu.cpp:37
Definition: cac.h:97
virtual void subscriptionCancelRequest(epicsGuard< epicsMutex > &, nciu &chan, netSubscription &subscr)=0
Definition: netiiu.cpp:81
virtual void requestRecvProcessPostponedFlush(epicsGuard< epicsMutex > &)=0
Definition: netiiu.cpp:142
virtual void subscriptionRequest(epicsGuard< epicsMutex > &, nciu &, netSubscription &)=0
Definition: netiiu.cpp:76
pvd::StructureConstPtr type
unsigned int ca_uint32_t
Definition: caProto.h:76
virtual osiSockAddr getNetworkAddress(epicsGuard< epicsMutex > &) const =0
Definition: netiiu.cpp:118
virtual void readNotifyRequest(epicsGuard< epicsMutex > &, nciu &, netReadNotifyIO &, unsigned type, arrayElementCount nElem)=0
Definition: netiiu.cpp:64
virtual void flush(epicsGuard< epicsMutex > &mutualExclusionGuard)=0
Definition: netiiu.cpp:137
virtual unsigned getHostName(epicsGuard< epicsMutex > &, char *pBuf, unsigned bufLength) const =0
Definition: netiiu.cpp:93
virtual bool ca_v41_ok(epicsGuard< epicsMutex > &) const =0
Definition: netiiu.cpp:43
virtual void uninstallChanDueToSuccessfulSearchResponse(epicsGuard< epicsMutex > &, nciu &, const class epicsTime &currentTime)=0
Definition: netiiu.cpp:159
virtual void subscriptionUpdateRequest(epicsGuard< epicsMutex > &, nciu &, netSubscription &)=0
Definition: netiiu.cpp:86
virtual void uninstallChan(epicsGuard< epicsMutex > &, nciu &)=0
Definition: netiiu.cpp:147
virtual void flushRequest(epicsGuard< epicsMutex > &)=0
Definition: netiiu.cpp:126
virtual const char * pHostName(epicsGuard< epicsMutex > &) const =0
Definition: netiiu.cpp:112
unsigned long arrayElementCount
Definition: cacIO.h:57
virtual bool searchMsg(epicsGuard< epicsMutex > &, ca_uint32_t id, const char *pName, unsigned nameLength)=0
Definition: netiiu.cpp:166
virtual void writeRequest(epicsGuard< epicsMutex > &, nciu &, unsigned type, arrayElementCount nElem, const void *pValue)=0
Definition: netiiu.cpp:49
virtual unsigned requestMessageBytesPending(epicsGuard< epicsMutex > &mutualExclusionGuard)=0
Definition: netiiu.cpp:131
Definition: netiiu.h:37
virtual void clearChannelRequest(epicsGuard< epicsMutex > &, ca_uint32_t sid, ca_uint32_t cid)=0
Definition: netiiu.cpp:71
virtual double receiveWatchdogDelay(epicsGuard< epicsMutex > &) const =0
Definition: netiiu.cpp:153
virtual ~netiiu()=0
Definition: netiiu.cpp:33
Definition: nciu.h:127
virtual void writeNotifyRequest(epicsGuard< epicsMutex > &, nciu &, netWriteNotifyIO &, unsigned type, arrayElementCount nElem, const void *pValue)=0
Definition: netiiu.cpp:56