16 #ifndef NSC_TCP_SOCKET_IMPL_H 
   17 #define NSC_TCP_SOCKET_IMPL_H 
   23 #include "ns3/callback.h" 
   24 #include "ns3/traced-value.h" 
   25 #include "ns3/tcp-socket.h" 
   27 #include "ns3/ipv4-address.h" 
   28 #include "ns3/inet-socket-address.h" 
   29 #include "ns3/event-id.h" 
   31 #include "ns3/sequence-number.h" 
   40 class NscTcpL4Protocol;
 
   70   virtual int Bind (
void);
 
   71   virtual int Bind6 (
void);
 
   73   virtual int Close (
void);
 
  115   virtual void SetAdvWin (uint32_t window);
 
Ipv4EndPoint * m_endPoint
virtual Ptr< Node > GetNode(void) const 
keep track of time values and allow control of global simulation resolution 
virtual int ShutdownSend(void)
std::queue< Ptr< Packet > > m_deliveryQueue
(abstract) base class of all TcpSockets 
virtual int GetSockName(Address &address) const 
virtual void SetSndBufSize(uint32_t size)
virtual enum SocketType GetSocketType(void) const 
Ipv4Address m_localAddress
virtual uint32_t GetAdvWin(void) const 
virtual void SetAdvWin(uint32_t window)
Ptr< Packet > Recv(void)
Read a single packet from the socket. 
enum Socket::SocketErrno GetNativeNs3Errno(int err) const 
virtual Time GetConnTimeout(void) const 
bool SendPendingData(void)
Ipv4Address m_remoteAddress
virtual uint32_t GetConnCount(void) const 
INetStreamSocket * m_nscTcpSocket
TracedValue< TcpStates_t > m_state
virtual int Bind6(void)
Allocate a local IPv6 endpoint for this socket. 
static TypeId GetTypeId(void)
virtual void SetConnTimeout(Time timeout)
virtual uint32_t GetRcvBufSize(void) const 
virtual void SetInitialCwnd(uint32_t cwnd)
virtual void SetPersistTimeout(Time timeout)
InetSocketAddress m_peerAddress
a polymophic address class 
bool ReadPendingData(void)
virtual uint32_t GetSegSize(void) const 
virtual uint32_t GetTxAvailable(void) const 
Returns the number of bytes which can be sent in a single call to Send. 
virtual Time GetDelAckTimeout(void) const 
void SetNode(Ptr< Node > node)
virtual void SetTcpNoDelay(bool noDelay)
virtual uint32_t GetDelAckMaxCount(void) const 
Socket logic for the NSC TCP sockets. 
virtual bool SetAllowBroadcast(bool allowBroadcast)
Configure whether broadcast datagram transmissions are allowed. 
virtual int Send(Ptr< Packet > p, uint32_t flags)
Send data (or dummy data) to the remote host. 
virtual bool GetTcpNoDelay(void) const 
virtual int ShutdownRecv(void)
virtual bool GetAllowBroadcast() const 
Query whether broadcast datagram transmissions are allowed. 
void ForwardUp(Ptr< Packet > p, Ipv4Header header, uint16_t port, Ptr< Ipv4Interface > incomingInterface)
virtual Ptr< Packet > RecvFrom(uint32_t maxSize, uint32_t flags, Address &fromAddress)
Read a single packet from the socket and retrieve the sender address. 
virtual uint32_t GetSSThresh(void) const 
virtual void SetRcvBufSize(uint32_t size)
virtual Time GetPersistTimeout(void) const 
virtual int Listen(void)
Listen for incoming connections. 
virtual int Bind(void)
Allocate a local IPv4 endpoint for this socket. 
Ptr< NscTcpL4Protocol > m_tcp
virtual void SetSegSize(uint32_t size)
TracedValue< uint32_t > m_cWnd
virtual void SetConnCount(uint32_t count)
void SetTcp(Ptr< NscTcpL4Protocol > tcp)
virtual uint32_t GetRxAvailable(void) const 
Ipv4 addresses are stored in host order in this class. 
uint32_t m_delAckMaxCount
virtual uint32_t GetSndBufSize(void) const 
virtual int Close(void)
Close a socket. 
void ConnectionSucceeded()
virtual enum SocketErrno GetErrno(void) const 
Ptr< NscTcpSocketImpl > Copy()
std::queue< Ptr< Packet > > m_txBuffer
virtual void SetDelAckMaxCount(uint32_t count)
virtual int SendTo(Ptr< Packet > p, uint32_t flags, const Address &toAddress)
Send data to a specified peer. 
uint32_t m_advertisedWindowSize
a unique identifier for an interface. 
virtual void SetDelAckTimeout(Time timeout)
virtual int Connect(const Address &address)
Initiate a connection to a remote host. 
A representation of an internet endpoint/connection. 
virtual ~NscTcpSocketImpl()
virtual void SetSSThresh(uint32_t threshold)
virtual uint32_t GetInitialCwnd(void) const