INET Framework for OMNeT++/OMNEST
|
Receive queue that manages "objects". More...
#include <TcpLwipMsgBasedQueues.h>
Classes | |
struct | PayloadItem |
Public Member Functions | |
TcpLwipMsgBasedReceiveQueue () | |
Ctor. More... | |
virtual | ~TcpLwipMsgBasedReceiveQueue () |
Virtual dtor. More... | |
virtual void | setConnection (TcpLwipConnection *connP) override |
Set the connection. More... | |
virtual void | notifyAboutIncomingSegmentProcessing (TCPSegment *tcpsegP, uint32 seqNo, const void *bufferP, size_t bufferLengthP) override |
called back from lwip::tcp_input() More... | |
virtual void | enqueueTcpLayerData (void *dataP, unsigned int dataLengthP) override |
The method called when data received from LWIP The method should set status of the data in queue to received called after socket->read_data() successful. More... | |
virtual cPacket * | extractBytesUpTo () override |
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 override |
Returns the number of bytes (out-of-order-segments) currently buffered in queue. More... | |
virtual uint32 | getQueueLength () const override |
Returns the number of blocks currently buffered in queue. More... | |
virtual void | getQueueStatus () const override |
Shows current queue status. More... | |
virtual void | notifyAboutSending (const TCPSegment *tcpsegP) override |
notify the queue about output messages More... | |
Public Member Functions inherited from inet::tcp::TcpLwipReceiveQueue | |
TcpLwipReceiveQueue () | |
Ctor. More... | |
virtual | ~TcpLwipReceiveQueue () |
Virtual dtor. More... | |
Protected Types | |
typedef std::list< PayloadItem > | PayloadList |
Protected Attributes | |
PayloadList | payloadListM |
bool | isValidSeqNoM |
uint32 | lastExtractedSeqNoM |
long int | bytesInQueueM |
Protected Attributes inherited from inet::tcp::TcpLwipReceiveQueue | |
TcpLwipConnection * | connM |
Receive queue that manages "objects".
|
protected |
inet::tcp::TcpLwipMsgBasedReceiveQueue::TcpLwipMsgBasedReceiveQueue | ( | ) |
Ctor.
|
virtual |
Virtual dtor.
|
overridevirtual |
The method called when data received from LWIP The method should set status of the data in queue to received called after socket->read_data() successful.
Implements inet::tcp::TcpLwipReceiveQueue.
|
overridevirtual |
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() successful
Implements inet::tcp::TcpLwipReceiveQueue.
|
overridevirtual |
Returns the number of bytes (out-of-order-segments) currently buffered in queue.
Implements inet::tcp::TcpLwipReceiveQueue.
|
overridevirtual |
Returns the number of blocks currently buffered in queue.
Implements inet::tcp::TcpLwipReceiveQueue.
|
overridevirtual |
|
overridevirtual |
called back from lwip::tcp_input()
Implements inet::tcp::TcpLwipReceiveQueue.
|
overridevirtual |
notify the queue about output messages
called when connM send out a packet. for read AckNo, if have
Implements inet::tcp::TcpLwipReceiveQueue.
|
overridevirtual |
Set the connection.
Reimplemented from inet::tcp::TcpLwipReceiveQueue.
|
protected |
Referenced by enqueueTcpLayerData(), extractBytesUpTo(), getAmountOfBufferedBytes(), and setConnection().
|
protected |
Referenced by extractBytesUpTo(), notifyAboutIncomingSegmentProcessing(), and setConnection().
|
protected |
Referenced by extractBytesUpTo(), notifyAboutIncomingSegmentProcessing(), and setConnection().
|
protected |