This is Unofficial EPICS BASE Doxygen Site
netiiu.cpp
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  * Author: Jeff Hill
19  */
20 
21 #include <stdexcept>
22 #include <string> // vxWorks 6.0 requires this include
23 
24 #include <limits.h>
25 #include <float.h>
26 
27 #define epicsAssertAuthor "Jeff Hill johill@lanl.gov"
28 
29 #include "iocinf.h"
30 #include "cac.h"
31 #include "netiiu.h"
32 
34 {
35 }
36 
39 {
40  return false;
41 }
42 
45 {
46  return false;
47 }
48 
51  unsigned, arrayElementCount, const void * )
52 {
54 }
55 
58  nciu &, netWriteNotifyIO &, unsigned,
59  arrayElementCount, const void * )
60 {
62 }
63 
66  nciu &, netReadNotifyIO &, unsigned, arrayElementCount )
67 {
69 }
70 
73 {
74 }
75 
78 {
79 }
80 
83 {
84 }
85 
88 {
89 }
90 
91 static const char * const pHostNameNetIIU = "<disconnected>";
92 
95  char * pBuf, unsigned bufLen ) const throw ()
96 {
97  if ( bufLen ) {
98  unsigned len = strlen ( pHostNameNetIIU );
99  strncpy ( pBuf, pHostNameNetIIU, bufLen );
100  if ( len < bufLen ) {
101  return len;
102  }
103  else {
104  unsigned reducedSize = bufLen - 1u;
105  pBuf[reducedSize] = '\0';
106  return reducedSize;
107  }
108  }
109  return 0u;
110 }
111 
112 const char * netiiu::pHostName (
113  epicsGuard < epicsMutex > & ) const throw ()
114 {
115  return pHostNameNetIIU;
116 }
117 
119  epicsGuard < epicsMutex > & ) const
120 {
121  osiSockAddr addr;
122  addr.sa.sa_family = AF_UNSPEC;
123  return addr;
124 }
125 
128 {
129 }
130 
133 {
134  return 0u;
135 }
136 
139 {
140 }
141 
144 {
145 }
146 
149 {
150  throw cacChannel::notConnected();
151 }
152 
154  epicsGuard < epicsMutex > & ) const
155 {
156  return - DBL_MAX;
157 }
158 
160  epicsGuard < epicsMutex > &, nciu &, const epicsTime & )
161 {
162  throw std::runtime_error (
163  "search response occured when not attached to udpiiu?" );
164 }
165 
168  const char * /* pName */, unsigned /* nameLength */ )
169 {
170  return false;
171 }
172 
173 
virtual bool ca_v42_ok(epicsGuard< epicsMutex > &) const =0
Definition: netiiu.cpp:37
virtual void subscriptionCancelRequest(epicsGuard< epicsMutex > &, nciu &chan, netSubscription &subscr)=0
Definition: netiiu.cpp:81
struct sockaddr sa
Definition: osiSock.h:158
virtual void requestRecvProcessPostponedFlush(epicsGuard< epicsMutex > &)=0
Definition: netiiu.cpp:142
virtual void subscriptionRequest(epicsGuard< epicsMutex > &, nciu &, netSubscription &)=0
Definition: netiiu.cpp:76
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
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