Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Socket Class Reference

#include <sockets.h>

List of all members.

Public Types

typedef int Filedesc
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
 

Enumeration values:
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
 

Enumeration values:
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
 

Enumeration values:
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
 

Enumeration values:
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 Sat Apr 1 20:52:24 2006 for INET Framework for OMNeT++/OMNEST by  doxygen 1.4.1