INET Framework for OMNeT++/OMNEST
|
#include <TCP_NSC_Queues.h>
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_Connection * | connM |
|
inline |
Ctor.
|
inlinevirtual |
|
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().
|
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().
|
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.
|
pure virtual |
Returns the number of blocks currently buffered in queue.
Implemented in inet::tcp::TCP_NSC_ByteStreamReceiveQueue, and inet::tcp::TCP_NSC_VirtualDataReceiveQueue.
|
pure virtual |
Shows current queue status.
Implemented in inet::tcp::TCP_NSC_ByteStreamReceiveQueue, and inet::tcp::TCP_NSC_VirtualDataReceiveQueue.
|
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().
|
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().
|
inlinevirtual |
Add a connection queue.
Reimplemented in inet::tcp::TCP_NSC_ByteStreamReceiveQueue, and inet::tcp::TCP_NSC_VirtualDataReceiveQueue.
Referenced by inet::tcp::TCP_NSC_Connection::connect(), inet::tcp::TCP_NSC::handleIpInputMessage(), inet::tcp::TCP_NSC_Connection::listen(), inet::tcp::TCP_NSC_VirtualDataReceiveQueue::setConnection(), and inet::tcp::TCP_NSC_ByteStreamReceiveQueue::setConnection().
|
protected |