|
| TcpRfc793 (void) |
|
| TcpRfc793 (const TcpRfc793 &sock) |
|
virtual | ~TcpRfc793 (void) |
|
| TcpSocketBase (void) |
|
| TcpSocketBase (const TcpSocketBase &sock) |
|
virtual | ~TcpSocketBase (void) |
|
virtual int | Bind (void) |
|
virtual int | Bind (const Address &address) |
|
virtual int | Bind6 (void) |
| Allocate a local IPv6 endpoint for this socket. More...
|
|
virtual void | BindToNetDevice (Ptr< NetDevice > netdevice) |
|
virtual int | Close (void) |
|
virtual int | Connect (const Address &address) |
|
virtual enum SocketErrno | GetErrno (void) const |
|
virtual Ptr< Node > | GetNode (void) const |
|
virtual uint32_t | GetRxAvailable (void) const |
|
virtual enum SocketType | GetSocketType (void) const |
|
virtual int | GetSockName (Address &address) const |
|
virtual uint32_t | GetTxAvailable (void) const |
|
virtual int | Listen (void) |
|
virtual Ptr< Packet > | Recv (uint32_t maxSize, uint32_t flags) |
|
virtual Ptr< Packet > | RecvFrom (uint32_t maxSize, uint32_t flags, Address &fromAddress) |
|
virtual int | Send (Ptr< Packet > p, uint32_t flags) |
|
virtual int | SendTo (Ptr< Packet > p, uint32_t flags, const Address &toAddress) |
|
virtual void | SetNode (Ptr< Node > node) |
|
virtual void | SetRtt (Ptr< RttEstimator > rtt) |
|
virtual void | SetTcp (Ptr< TcpL4Protocol > tcp) |
|
virtual int | ShutdownRecv (void) |
|
virtual int | ShutdownSend (void) |
|
| TcpSocket (void) |
|
virtual | ~TcpSocket (void) |
|
| Socket (void) |
|
virtual | ~Socket (void) |
|
Ptr< NetDevice > | GetBoundNetDevice () |
| Returns socket's bound netdevice, if any. More...
|
|
uint8_t | GetIpTos (void) const |
|
virtual uint8_t | GetIpTtl (void) const |
|
virtual uint8_t | GetIpv6HopLimit (void) const |
|
uint8_t | GetIpv6Tclass (void) const |
|
bool | IsIpRecvTos (void) const |
| Ask if the socket is currently passing information about IP Type of Service up the stack. More...
|
|
bool | IsIpRecvTtl (void) const |
| Ask if the socket is currently passing information about IP_TTL up the stack. More...
|
|
bool | IsIpv6RecvHopLimit (void) const |
| Ask if the socket is currently passing information about IPv6 Hop Limit up the stack. More...
|
|
bool | IsIpv6RecvTclass (void) const |
| Ask if the socket is currently passing information about IPv6 Traffic Class up the stack. More...
|
|
bool | IsRecvPktInfo () const |
| Get status indicating whether enable/disable packet information to socket. More...
|
|
Ptr< Packet > | Recv (void) |
| Read a single packet from the socket. More...
|
|
int | Recv (uint8_t *buf, uint32_t size, uint32_t flags) |
| Recv data (or dummy data) from the remote host. More...
|
|
Ptr< Packet > | RecvFrom (Address &fromAddress) |
| Read a single packet from the socket and retrieve the sender address. More...
|
|
int | RecvFrom (uint8_t *buf, uint32_t size, uint32_t flags, Address &fromAddress) |
| Read a single packet from the socket and retrieve the sender address. More...
|
|
int | Send (Ptr< Packet > p) |
| Send data (or dummy data) to the remote host. More...
|
|
int | Send (const uint8_t *buf, uint32_t size, uint32_t flags) |
| Send data (or dummy data) to the remote host. More...
|
|
int | SendTo (const uint8_t *buf, uint32_t size, uint32_t flags, const Address &address) |
| Send data to a specified peer. More...
|
|
void | SetAcceptCallback (Callback< bool, Ptr< Socket >, const Address & > connectionRequest, Callback< void, Ptr< Socket >, const Address & > newConnectionCreated) |
| Accept connection requests from remote hosts. More...
|
|
void | SetCloseCallbacks (Callback< void, Ptr< Socket > > normalClose, Callback< void, Ptr< Socket > > errorClose) |
| Detect socket recv() events such as graceful shutdown or error. More...
|
|
void | SetConnectCallback (Callback< void, Ptr< Socket > > connectionSucceeded, Callback< void, Ptr< Socket > > connectionFailed) |
| Specify callbacks to allow the caller to determine if the connection succeeds of fails. More...
|
|
void | SetDataSentCallback (Callback< void, Ptr< Socket >, uint32_t > dataSent) |
| Notify application when a packet has been sent from transport protocol (non-standard socket call) More...
|
|
void | SetIpRecvTos (bool ipv4RecvTos) |
| Tells a socket to pass information about IP Type of Service up the stack. More...
|
|
void | SetIpRecvTtl (bool ipv4RecvTtl) |
| Tells a socket to pass information about IP_TTL up the stack. More...
|
|
void | SetIpTos (uint8_t ipTos) |
|
virtual void | SetIpTtl (uint8_t ipTtl) |
|
virtual void | SetIpv6HopLimit (uint8_t ipHopLimit) |
|
void | SetIpv6RecvHopLimit (bool ipv6RecvHopLimit) |
| Tells a socket to pass information about IPv6 Hop Limit up the stack. More...
|
|
void | SetIpv6RecvTclass (bool ipv6RecvTclass) |
| Tells a socket to pass information about IPv6 Traffic Class up the stack. More...
|
|
void | SetIpv6Tclass (int ipTclass) |
|
void | SetRecvCallback (Callback< void, Ptr< Socket > >) |
| Notify application when new data is available to be read. More...
|
|
void | SetRecvPktInfo (bool flag) |
| Enable/Disable receive packet information to socket. More...
|
|
void | SetSendCallback (Callback< void, Ptr< Socket >, uint32_t > sendCb) |
| Notify application when space in transmit buffer is added. More...
|
|
| Object () |
|
virtual | ~Object () |
|
void | AggregateObject (Ptr< Object > other) |
|
void | Dispose (void) |
|
AggregateIterator | GetAggregateIterator (void) const |
|
virtual TypeId | GetInstanceTypeId (void) const |
|
template<typename T > |
Ptr< T > | GetObject (void) const |
|
template<typename T > |
Ptr< T > | GetObject (TypeId tid) const |
|
void | Initialize (void) |
|
| SimpleRefCount () |
|
| SimpleRefCount (const SimpleRefCount &o) |
|
uint32_t | GetReferenceCount (void) const |
|
SimpleRefCount & | operator= (const SimpleRefCount &o) |
|
void | Ref (void) const |
|
void | Unref (void) const |
|
virtual | ~ObjectBase () |
|
void | GetAttribute (std::string name, AttributeValue &value) const |
|
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
|
void | SetAttribute (std::string name, const AttributeValue &value) |
|
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
|
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
|
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
|
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
|
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
|
|
virtual void | DupAck (const TcpHeader &t, uint32_t count) |
|
virtual Ptr< TcpSocketBase > | Fork () |
|
virtual uint32_t | GetInitialCwnd (void) const |
|
virtual uint32_t | GetSSThresh (void) const |
|
virtual void | SetInitialCwnd (uint32_t cwnd) |
|
virtual void | SetSSThresh (uint32_t threshold) |
|
virtual void | AddOptions (TcpHeader &) |
|
virtual uint16_t | AdvertisedWindowSize (void) |
|
virtual uint32_t | AvailableWindow (void) |
|
virtual uint32_t | BytesInFlight (void) |
|
void | CancelAllTimers (void) |
|
void | CloseAndNotify (void) |
|
void | CompleteFork (Ptr< Packet >, const TcpHeader &, const Address &fromAddress, const Address &toAdress) |
|
void | ConnectionSucceeded (void) |
|
void | DeallocateEndPoint (void) |
|
virtual void | DelAckTimeout (void) |
|
void | Destroy (void) |
|
void | Destroy6 (void) |
|
int | DoClose (void) |
|
int | DoConnect (void) |
|
virtual void | DoForwardUp (Ptr< Packet > packet, Ipv4Header header, uint16_t port, Ptr< Ipv4Interface > incomingInterface) |
|
virtual void | DoForwardUp (Ptr< Packet > packet, Ipv6Header header, uint16_t port) |
|
void | DoPeerClose (void) |
|
virtual void | DoRetransmit (void) |
|
virtual void | EstimateRtt (const TcpHeader &) |
|
void | ForwardIcmp (Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo) |
|
void | ForwardIcmp6 (Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo) |
|
void | ForwardUp (Ptr< Packet > packet, Ipv4Header header, uint16_t port, Ptr< Ipv4Interface > incomingInterface) |
|
void | ForwardUp6 (Ptr< Packet > packet, Ipv6Header header, uint16_t port) |
|
virtual bool | GetAllowBroadcast (void) const |
| Query whether broadcast datagram transmissions are allowed. More...
|
|
virtual uint32_t | GetConnCount (void) const |
|
virtual Time | GetConnTimeout (void) const |
|
virtual uint32_t | GetDelAckMaxCount (void) const |
|
virtual Time | GetDelAckTimeout (void) const |
|
virtual Time | GetPersistTimeout (void) const |
|
virtual uint32_t | GetRcvBufSize (void) const |
|
virtual uint32_t | GetSegSize (void) const |
|
virtual uint32_t | GetSndBufSize (void) const |
|
virtual bool | GetTcpNoDelay (void) const |
|
virtual void | LastAckTimeout (void) |
|
virtual void | NewAck (SequenceNumber32 const &seq) |
|
bool | OutOfRange (SequenceNumber32 head, SequenceNumber32 tail) const |
|
void | PeerClose (Ptr< Packet >, const TcpHeader &) |
|
virtual void | PersistTimeout (void) |
|
void | ProcessClosing (Ptr< Packet >, const TcpHeader &) |
|
void | ProcessEstablished (Ptr< Packet >, const TcpHeader &) |
|
void | ProcessLastAck (Ptr< Packet >, const TcpHeader &) |
|
void | ProcessListen (Ptr< Packet >, const TcpHeader &, const Address &, const Address &) |
|
void | ProcessSynRcvd (Ptr< Packet >, const TcpHeader &, const Address &, const Address &) |
|
void | ProcessSynSent (Ptr< Packet >, const TcpHeader &) |
|
void | ProcessWait (Ptr< Packet >, const TcpHeader &) |
|
virtual void | ReadOptions (const TcpHeader &) |
|
virtual void | ReceivedAck (Ptr< Packet >, const TcpHeader &) |
|
virtual void | ReceivedData (Ptr< Packet >, const TcpHeader &) |
|
virtual void | Retransmit (void) |
|
virtual void | ReTxTimeout (void) |
|
uint32_t | SendDataPacket (SequenceNumber32 seq, uint32_t maxSize, bool withAck) |
|
void | SendEmptyPacket (uint8_t flags) |
|
bool | SendPendingData (bool withAck=false) |
|
void | SendRST (void) |
|
virtual bool | SetAllowBroadcast (bool allowBroadcast) |
| Configure whether broadcast datagram transmissions are allowed. More...
|
|
virtual void | SetConnCount (uint32_t count) |
|
virtual void | SetConnTimeout (Time timeout) |
|
virtual void | SetDelAckMaxCount (uint32_t count) |
|
virtual void | SetDelAckTimeout (Time timeout) |
|
virtual void | SetPersistTimeout (Time timeout) |
|
virtual void | SetRcvBufSize (uint32_t size) |
|
virtual void | SetSegSize (uint32_t size) |
|
virtual void | SetSndBufSize (uint32_t size) |
|
virtual void | SetTcpNoDelay (bool noDelay) |
|
int | SetupCallback (void) |
|
int | SetupEndpoint (void) |
|
int | SetupEndpoint6 (void) |
|
void | TimeWait (void) |
|
virtual uint32_t | UnAckDataCount (void) |
|
virtual uint32_t | Window (void) |
|
virtual void | DoDispose (void) |
|
bool | IsManualIpTos (void) const |
|
bool | IsManualIpTtl (void) const |
|
bool | IsManualIpv6HopLimit (void) const |
|
bool | IsManualIpv6Tclass (void) const |
|
void | NotifyConnectionFailed (void) |
|
bool | NotifyConnectionRequest (const Address &from) |
|
void | NotifyConnectionSucceeded (void) |
|
void | NotifyDataRecv (void) |
|
void | NotifyDataSent (uint32_t size) |
|
void | NotifyErrorClose (void) |
|
void | NotifyNewConnectionCreated (Ptr< Socket > socket, const Address &from) |
|
void | NotifyNormalClose (void) |
|
void | NotifySend (uint32_t spaceAvailable) |
|
| Object (const Object &o) |
|
virtual void | DoInitialize (void) |
|
virtual void | NotifyNewAggregate (void) |
|
void | ConstructSelf (const AttributeConstructionList &attributes) |
|
virtual void | NotifyConstructionCompleted (void) |
|
An implementation of a stream socket using TCP.
This class contains an RFC 793 implementation of TCP, as well as a sockets interface for talking to TCP. This serves as a base for other TCP functions where the sliding window mechanism is handled here. This class provides connection orientation and sliding window flow control.
ns3::TcpRfc793 is accessible through the following paths with Config::Set and Config::Connect:
-
/NodeList/[i]/$ns3::TcpL4Protocol/SocketList/[i]/$ns3::TcpRfc793
No Attributes are defined for this type.
No TraceSources are defined for this type.
TraceSources defined in parent class ns3::TcpSocketBase
-
RTO: Retransmission timeout
-
RTT: Last RTT sample
-
NextTxSequence: Next sequence number to send (SND.NXT)
-
HighestSequence: Highest sequence number ever sent in socket's life time
-
State: TCP state
-
RWND: Remote side's flow control window
Definition at line 39 of file tcp-rfc793.h.