INET Framework for OMNeT++/OMNEST
inet::tcp::TCP_NSC_ReceiveQueue Class Referenceabstract

#include <TCP_NSC_Queues.h>

Inheritance diagram for inet::tcp::TCP_NSC_ReceiveQueue:
inet::tcp::TCP_NSC_ByteStreamReceiveQueue inet::tcp::TCP_NSC_VirtualDataReceiveQueue

Public Member Functions

 TCP_NSC_ReceiveQueue ()
 Ctor. More...
 
virtual ~TCP_NSC_ReceiveQueue ()
 Virtual dtor. More...
 
virtual void setConnection (TCP_NSC_Connection *connP)
 Add a connection queue. More...
 
virtual void notifyAboutIncomingSegmentProcessing (TCPSegment *tcpsegP)=0
 Called when a TCP segment arrives. More...
 
virtual void enqueueNscData (void *dataP, int dataLengthP)=0
 The method called when data received from NSC The method should set status of the data in queue to received called after socket->read_data() successfull. More...
 
virtual cPacket * extractBytesUpTo ()=0
 Should create a packet to be passed up to the app, up to (but NOT including) the given sequence no (usually rcv_nxt). More...
 
virtual uint32 getAmountOfBufferedBytes () const =0
 Returns the number of bytes (out-of-order-segments) currently buffered in queue. More...
 
virtual uint32 getQueueLength () const =0
 Returns the number of blocks currently buffered in queue. More...
 
virtual void getQueueStatus () const =0
 Shows current queue status. More...
 
virtual void notifyAboutSending (const TCPSegment *tcpsegP)=0
 notify the queue about output messages More...
 

Protected Attributes

TCP_NSC_ConnectionconnM
 

Constructor & Destructor Documentation

inet::tcp::TCP_NSC_ReceiveQueue::TCP_NSC_ReceiveQueue ( )
inline

Ctor.

166 : connM(nullptr) {};
TCP_NSC_Connection * connM
Definition: TCP_NSC_Queues.h:229
virtual inet::tcp::TCP_NSC_ReceiveQueue::~TCP_NSC_ReceiveQueue ( )
inlinevirtual

Virtual dtor.

171 {}

Member Function Documentation

virtual void inet::tcp::TCP_NSC_ReceiveQueue::enqueueNscData ( void *  dataP,
int  dataLengthP 
)
pure virtual

The method called when data received from NSC The method should set status of the data in queue to received called after socket->read_data() successfull.

Implemented in inet::tcp::TCP_NSC_ByteStreamReceiveQueue, and inet::tcp::TCP_NSC_VirtualDataReceiveQueue.

Referenced by inet::tcp::TCP_NSC::handleIpInputMessage().

virtual cPacket* inet::tcp::TCP_NSC_ReceiveQueue::extractBytesUpTo ( )
pure virtual

Should create a packet to be passed up to the app, up to (but NOT including) the given sequence no (usually rcv_nxt).

It should return nullptr if there's no more data to be passed up – this method is called several times until it returns nullptr.

called after socket->read_data() successfull

Implemented in inet::tcp::TCP_NSC_ByteStreamReceiveQueue, and inet::tcp::TCP_NSC_VirtualDataReceiveQueue.

Referenced by inet::tcp::TCP_NSC::sendDataToApp().

virtual uint32 inet::tcp::TCP_NSC_ReceiveQueue::getAmountOfBufferedBytes ( ) const
pure virtual

Returns the number of bytes (out-of-order-segments) currently buffered in queue.

Implemented in inet::tcp::TCP_NSC_ByteStreamReceiveQueue, and inet::tcp::TCP_NSC_VirtualDataReceiveQueue.

virtual uint32 inet::tcp::TCP_NSC_ReceiveQueue::getQueueLength ( ) const
pure virtual

Returns the number of blocks currently buffered in queue.

Implemented in inet::tcp::TCP_NSC_ByteStreamReceiveQueue, and inet::tcp::TCP_NSC_VirtualDataReceiveQueue.

virtual void inet::tcp::TCP_NSC_ReceiveQueue::getQueueStatus ( ) const
pure virtual
virtual void inet::tcp::TCP_NSC_ReceiveQueue::notifyAboutIncomingSegmentProcessing ( TCPSegment tcpsegP)
pure virtual

Called when a TCP segment arrives.

The segment object should not be deleted.

For remove and store payload messages if need.

called before nsc_stack->if_receive_packet() called

Implemented in inet::tcp::TCP_NSC_ByteStreamReceiveQueue, and inet::tcp::TCP_NSC_VirtualDataReceiveQueue.

Referenced by inet::tcp::TCP_NSC::handleIpInputMessage().

virtual void inet::tcp::TCP_NSC_ReceiveQueue::notifyAboutSending ( const TCPSegment tcpsegP)
pure virtual

notify the queue about output messages

called when connM send out a packet. for read AckNo, if have

Implemented in inet::tcp::TCP_NSC_ByteStreamReceiveQueue, and inet::tcp::TCP_NSC_VirtualDataReceiveQueue.

Referenced by inet::tcp::TCP_NSC::sendToIP().

Member Data Documentation

TCP_NSC_Connection* inet::tcp::TCP_NSC_ReceiveQueue::connM
protected

The documentation for this class was generated from the following file: