Socket Class Reference

#include <sockets.h>

List of all members.

Public Types

typedef int Filedesc
 IPSuite_AF_UNIX
 IPSuite_AF_INET
 IPSuite_AF_UNDEF
 IPSuite_SOCK_STREAM
 IPSuite_SOCK_DGRAM
 IPSuite_SOCK_RAW
 IPSuite_SOCK_SEQPACKET
 IPSuite_SOCK_UNDEF
 UDP
 TCP
 ICMP
 IGMP
 ROUTE
 PROTO_UNDEF
 CONN_LISTEN
 CONN_HALFESTAB
 CONN_ESTAB
 CONN_UNDEF
enum  Domain { IPSuite_AF_UNIX, IPSuite_AF_INET, IPSuite_AF_UNDEF }
enum  Type {
  IPSuite_SOCK_STREAM, IPSuite_SOCK_DGRAM, IPSuite_SOCK_RAW, IPSuite_SOCK_SEQPACKET,
  IPSuite_SOCK_UNDEF
}
enum  Protocol {
  UDP, TCP, ICMP, IGMP,
  ROUTE, PROTO_UNDEF
}
enum  ConnectionState { CONN_LISTEN, CONN_HALFESTAB, CONN_ESTAB, CONN_UNDEF }

Public Member Functions

 Socket (const Socket &socket)
 Socket ()
 Socket (const char *name)
 Socket (Socket::Domain domain, Socket::Type type, Socket::Protocol proto)
virtual ~Socket ()
virtual const char * className () const
virtual cObject * dup () const
virtual void info (char *buf)
virtual void writeContents (std::ostream &os)
Socketoperator= (const Socket &socket)
Type type () const
Protocol protocol () const
PCBpcb () const
void setIPSuite_SO_ACCEPTCONN (bool val=true)
void setIPSuite_SO_BROADCAST (bool val=true)
void setIPSuite_SO_DEBUG (bool val=true)
void setIPSuite_SO_DONTROUTE (bool val=true)
void setIPSuite_SO_KEEPALIVE (bool val=true)
void setIPSuite_SO_OOBINLINE (bool val=true)
void setIPSuite_SO_REUSEADDR (bool val=true)
void setIPSuite_SO_REUSEPORT (bool val=true)
void setIPSuite_SO_USELOOPBACK (bool val=true)
bool IPSuite_SO_ACCEPTCONN ()
bool IPSuite_SO_BROADCAST ()
bool IPSuite_SO_DEBUG ()
bool IPSuite_SO_DONTROUTE ()
bool IPSuite_SO_KEEPALIVE ()
bool IPSuite_SO_OOBINLINE ()
bool IPSuite_SO_REUSEADDR ()
bool IPSuite_SO_REUSEPORT ()
bool IPSuite_SO_USELOOPBACK ()
void setSS_CANTRCVMORE (bool val=true)
void setSS_CANTSENDMORE (bool val=true)
void setSS_ISCONFIRMING (bool val=true)
void setSS_ISCONNECTED (bool val=true)
void setSS_ISCONNECTING (bool val=true)
void setSS_ISDISCONNECTING (bool val=true)
void setSS_NOFDREF (bool val=true)
void setSS_PRIV (bool val=true)
void setSS_RCVATMARK (bool val=true)
bool SS_CANTRCVMORE ()
bool SS_CANTSENDMORE ()
bool SS_ISCONFIRMING ()
bool SS_ISCONNECTED ()
bool SS_ISCONNECTING ()
bool SS_ISDISCONNECTING ()
bool SS_NOFDREF ()
bool SS_PRIV ()
bool SS_RCVATMARK ()
void setConnState (enum ConnectionState state)
ConnectionState connState () const
void setPendingAccept (bool val=true)
bool pendingAccept ()
bool isFullySpecified ()

Static Public Attributes

static const char *const domain_string []
static const char *const type_string []
static const char *const protocol_string []
static const char *const connstate_string []
static const Filedesc FILEDESC_UNDEF = -1

Private Member Functions

void _initOptions ()
void _initState ()
void _init ()

Private Attributes

Socket::Domain _domain
Socket::Type _type
Socket::Protocol _proto
Socket::Options _options
Socket::State _state
Socket::ConnectionState _connstate
bool _pending_accept
PCB_pcb
cQueue _sockqueue

Classes

struct  Options
struct  State


Member Typedef Documentation

typedef int Socket::Filedesc


Member Enumeration Documentation

enum Socket::ConnectionState

Enumerator:
CONN_LISTEN 
CONN_HALFESTAB 
CONN_ESTAB 
CONN_UNDEF 
00072     {
00073       CONN_LISTEN,
00074       CONN_HALFESTAB,
00075       CONN_ESTAB,
00076       CONN_UNDEF
00077     };

enum Socket::Domain

Enumerator:
IPSuite_AF_UNIX 
IPSuite_AF_INET 
IPSuite_AF_UNDEF 
00035     {
00036       IPSuite_AF_UNIX,  // file system pathnames not used
00037       IPSuite_AF_INET,   // internet address
00038       IPSuite_AF_UNDEF
00039     };

enum Socket::Protocol

Enumerator:
UDP 
TCP 
ICMP 
IGMP 
ROUTE 
PROTO_UNDEF 
00060     {
00061       UDP,
00062       TCP,
00063       ICMP,
00064       IGMP,
00065       ROUTE,
00066       PROTO_UNDEF
00067     };

enum Socket::Type

Enumerator:
IPSuite_SOCK_STREAM 
IPSuite_SOCK_DGRAM 
IPSuite_SOCK_RAW 
IPSuite_SOCK_SEQPACKET 
IPSuite_SOCK_UNDEF 
00044     {
00045       IPSuite_SOCK_STREAM,      // sequenced, reliable, bidirectional, connection-mode
00046                                 // byte streams, and may provide a transmission
00047                                 // mechanism for out-of-band data (TCP)
00048       IPSuite_SOCK_DGRAM,       // provides datagrams, which are connectionless-mode,
00049                                 // unreliable messages of fixed maximum length (UDP)
00050       IPSuite_SOCK_RAW,         // best-effort network-level datagram service (ICMP,
00051                                 // IGMP, raw IP)
00052       IPSuite_SOCK_SEQPACKET,   // provides sequenced, reliable, bidirectional,
00053                                 // connection-mode transmission path for records.
00054       IPSuite_SOCK_UNDEF
00055     };


Constructor & Destructor Documentation

Socket::Socket ( const Socket socket  ) 

Socket::Socket (  ) 

Socket::Socket ( const char *  name  )  [explicit]

Socket::Socket ( Socket::Domain  domain,
Socket::Type  type,
Socket::Protocol  proto 
)

virtual Socket::~Socket (  )  [virtual]


Member Function Documentation

void Socket::_init (  )  [private]

void Socket::_initOptions (  )  [private]

void Socket::_initState (  )  [private]

virtual const char* Socket::className (  )  const [inline, virtual]

00150 {return "Socket";}

ConnectionState Socket::connState (  )  const [inline]

00204 {return _connstate;}

virtual cObject* Socket::dup (  )  const [inline, virtual]

00151 {return new Socket(*this);}

virtual void Socket::info ( char *  buf  )  [virtual]

bool Socket::IPSuite_SO_ACCEPTCONN (  )  [inline]

bool Socket::IPSuite_SO_BROADCAST (  )  [inline]

bool Socket::IPSuite_SO_DEBUG (  )  [inline]

00174 {return _options.IPSuite_SO_DEBUG;}

bool Socket::IPSuite_SO_DONTROUTE (  )  [inline]

bool Socket::IPSuite_SO_KEEPALIVE (  )  [inline]

bool Socket::IPSuite_SO_OOBINLINE (  )  [inline]

bool Socket::IPSuite_SO_REUSEADDR (  )  [inline]

bool Socket::IPSuite_SO_REUSEPORT (  )  [inline]

bool Socket::IPSuite_SO_USELOOPBACK (  )  [inline]

bool Socket::isFullySpecified (  ) 

Socket& Socket::operator= ( const Socket socket  ) 

PCB* Socket::pcb (  )  const [inline]

00159 {return _pcb;}

bool Socket::pendingAccept (  )  [inline]

00207 {return _pending_accept;}

Protocol Socket::protocol (  )  const [inline]

00158 {return _proto;}

void Socket::setConnState ( enum ConnectionState  state  )  [inline]

00203 {_connstate = state;}

void Socket::setIPSuite_SO_ACCEPTCONN ( bool  val = true  )  [inline]

void Socket::setIPSuite_SO_BROADCAST ( bool  val = true  )  [inline]

void Socket::setIPSuite_SO_DEBUG ( bool  val = true  )  [inline]

00164 {_options.IPSuite_SO_DEBUG       = val;}

void Socket::setIPSuite_SO_DONTROUTE ( bool  val = true  )  [inline]

void Socket::setIPSuite_SO_KEEPALIVE ( bool  val = true  )  [inline]

void Socket::setIPSuite_SO_OOBINLINE ( bool  val = true  )  [inline]

void Socket::setIPSuite_SO_REUSEADDR ( bool  val = true  )  [inline]

void Socket::setIPSuite_SO_REUSEPORT ( bool  val = true  )  [inline]

void Socket::setIPSuite_SO_USELOOPBACK ( bool  val = true  )  [inline]

void Socket::setPendingAccept ( bool  val = true  )  [inline]

00206 {_pending_accept = val;}

void Socket::setSS_CANTRCVMORE ( bool  val = true  )  [inline]

00183 {_state.SS_CANTRCVMORE     = val;}

void Socket::setSS_CANTSENDMORE ( bool  val = true  )  [inline]

00184 {_state.SS_CANTSENDMORE    = val;}

void Socket::setSS_ISCONFIRMING ( bool  val = true  )  [inline]

00185 {_state.SS_ISCONFIRMING    = val;}

void Socket::setSS_ISCONNECTED ( bool  val = true  )  [inline]

00186 {_state.SS_ISCONNECTED     = val;}

void Socket::setSS_ISCONNECTING ( bool  val = true  )  [inline]

00187 {_state.SS_ISCONNECTING    = val;}

void Socket::setSS_ISDISCONNECTING ( bool  val = true  )  [inline]

00188 {_state.SS_ISDISCONNECTING = val;}

void Socket::setSS_NOFDREF ( bool  val = true  )  [inline]

00189 {_state.SS_NOFDREF         = val;}

void Socket::setSS_PRIV ( bool  val = true  )  [inline]

00190 {_state.SS_PRIV            = val;}

void Socket::setSS_RCVATMARK ( bool  val = true  )  [inline]

00191 {_state.SS_RCVATMARK       = val;}

bool Socket::SS_CANTRCVMORE (  )  [inline]

00193 {return _state.SS_CANTRCVMORE;}

bool Socket::SS_CANTSENDMORE (  )  [inline]

00194 {return _state.SS_CANTSENDMORE;}

bool Socket::SS_ISCONFIRMING (  )  [inline]

00195 {return _state.SS_ISCONFIRMING;}

bool Socket::SS_ISCONNECTED (  )  [inline]

00196 {return _state.SS_ISCONNECTED;}

bool Socket::SS_ISCONNECTING (  )  [inline]

00197 {return _state.SS_ISCONNECTING;}

bool Socket::SS_ISDISCONNECTING (  )  [inline]

00198 {return _state.SS_ISDISCONNECTING;}

bool Socket::SS_NOFDREF (  )  [inline]

00199 {return _state.SS_NOFDREF;}

bool Socket::SS_PRIV (  )  [inline]

00200 {return _state.SS_PRIV;}

bool Socket::SS_RCVATMARK (  )  [inline]

00201 {return _state.SS_RCVATMARK;}

Type Socket::type (  )  const [inline]

00157 {return _type;}

virtual void Socket::writeContents ( std::ostream &  os  )  [virtual]


Member Data Documentation

Socket::ConnectionState Socket::_connstate [private]

Socket::Domain Socket::_domain [private]

Socket::Options Socket::_options [private]

PCB* Socket::_pcb [private]

bool Socket::_pending_accept [private]

Socket::Protocol Socket::_proto [private]

cQueue Socket::_sockqueue [private]

Socket::State Socket::_state [private]

Socket::Type Socket::_type [private]

const char* const Socket::connstate_string[] [static]

const char* const Socket::domain_string[] [static]

const Filedesc Socket::FILEDESC_UNDEF = -1 [static]

const char* const Socket::protocol_string[] [static]

const char* const Socket::type_string[] [static]


The documentation for this class was generated from the following file:
Generated on Wed Apr 4 13:20:24 2007 for INET Framework for OMNeT++/OMNEST by  doxygen 1.4.7