INET Framework for OMNeT++/OMNEST
|
Encapsulates a Network Simulation Cradle (NSC) instance. More...
#include <TCP_lwIP.h>
Public Member Functions | |
TCP_lwIP () | |
virtual | ~TCP_lwIP () |
LwipTcpLayer * | getLwipTcpLayer () |
virtual TcpLwipSendQueue * | createSendQueue (TCPDataTransferMode transferModeP) |
To be called from TcpLwipConnection: create a new send queue. More... | |
virtual TcpLwipReceiveQueue * | createReceiveQueue (TCPDataTransferMode transferModeP) |
To be called from TcpLwipConnection: create a new receive queue. More... | |
Public Member Functions inherited from inet::tcp::LwipTcpStackIf | |
virtual | ~LwipTcpStackIf () |
Public Member Functions inherited from inet::ILifecycle | |
virtual | ~ILifecycle () |
Public Attributes | |
bool | recordStatisticsM |
Protected Types | |
typedef std::map< int, TcpLwipConnection * > | TcpAppConnMap |
Protected Member Functions | |
virtual void | initialize (int stage) override |
virtual int | numInitStages () const override |
virtual void | handleMessage (cMessage *msgP) override |
virtual void | finish () override |
virtual void | ip_output (LwipTcpLayer::tcp_pcb *pcb, L3Address const &src, L3Address const &dest, void *tcpseg, int len) override |
TCP layer send a packet to IP layer. More... | |
virtual err_t | lwip_tcp_event (void *arg, LwipTcpLayer::tcp_pcb *pcb, LwipTcpLayer::lwip_event event, struct pbuf *p, u16_t size, err_t err) override |
TCP layer events. More... | |
virtual void | lwip_free_pcb_event (LwipTcpLayer::tcp_pcb *pcb) override |
TCP layer event called before LWIP freeing a pcb. More... | |
virtual netif * | ip_route (L3Address const &ipAddr) override |
Get the network interface. More... | |
virtual void | notifyAboutIncomingSegmentProcessing (LwipTcpLayer::tcp_pcb *pcb, uint32 seqNo, const void *dataptr, int len) override |
err_t | tcp_event_accept (TcpLwipConnection &conn, LwipTcpLayer::tcp_pcb *pcb, err_t err) |
err_t | tcp_event_sent (TcpLwipConnection &conn, u16_t size) |
err_t | tcp_event_recv (TcpLwipConnection &conn, struct pbuf *p, err_t err) |
err_t | tcp_event_conn (TcpLwipConnection &conn, err_t err) |
err_t | tcp_event_poll (TcpLwipConnection &conn) |
err_t | tcp_event_err (TcpLwipConnection &conn, err_t err) |
TcpLwipConnection * | findAppConn (int connIdP) |
TcpLwipConnection * | findConnByPcb (LwipTcpLayer::tcp_pcb *pcb) |
virtual void | refreshDisplay () const override |
void | removeConnection (TcpLwipConnection &conn) |
void | printConnBrief (TcpLwipConnection &connP) |
void | handleAppMessage (cMessage *msgP) |
void | handleIpInputMessage (TCPSegment *tcpsegP) |
void | processAppCommand (TcpLwipConnection &connP, cMessage *msgP) |
void | process_OPEN_ACTIVE (TcpLwipConnection &connP, TCPOpenCommand *tcpCommandP, cMessage *msgP) |
void | process_OPEN_PASSIVE (TcpLwipConnection &connP, TCPOpenCommand *tcpCommandP, cMessage *msgP) |
void | process_SEND (TcpLwipConnection &connP, TCPSendCommand *tcpCommandP, cPacket *msgP) |
void | process_CLOSE (TcpLwipConnection &connP, TCPCommand *tcpCommandP, cMessage *msgP) |
void | process_ABORT (TcpLwipConnection &connP, TCPCommand *tcpCommandP, cMessage *msgP) |
void | process_STATUS (TcpLwipConnection &connP, TCPCommand *tcpCommandP, cMessage *msgP) |
void | sendEstablishedMsg (TcpLwipConnection &connP) |
virtual bool | handleOperationStage (LifecycleOperation *operation, int stage, IDoneCallback *doneCallback) override |
Perform one stage of a lifecycle operation. More... | |
Protected Attributes | |
TcpAppConnMap | tcpAppConnMapM |
cMessage * | pLwipFastTimerM |
struct netif | netIf |
LwipTcpLayer * | pLwipTcpLayerM |
bool | isAliveM |
TCPSegment * | pCurTcpSegM |
Encapsulates a Network Simulation Cradle (NSC) instance.
|
protected |
inet::tcp::TCP_lwIP::TCP_lwIP | ( | ) |
|
virtual |
|
virtual |
To be called from TcpLwipConnection: create a new receive queue.
|
virtual |
To be called from TcpLwipConnection: create a new send queue.
|
protected |
Referenced by handleAppMessage().
|
protected |
|
overrideprotectedvirtual |
|
inline |
Referenced by inet::tcp::TcpLwipConnection::abort(), inet::tcp::TcpLwipConnection::close(), inet::tcp::TcpLwipConnection::connect(), inet::tcp::TcpLwipConnection::do_SEND(), inet::tcp::TcpLwipConnection::listen(), inet::tcp::TcpLwipConnection::send_data(), and inet::tcp::TcpLwipConnection::TcpLwipConnection().
|
protected |
Referenced by handleMessage().
|
protected |
Referenced by handleMessage().
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Perform one stage of a lifecycle operation.
Processing may be done entirely within this method, or may be a longer process that involves nonzero simulation time or several events, and is triggered by this method call.
Return value: true = "done"; false = "not yet done, will invoke doneCallback when done"
Implements inet::ILifecycle.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
TCP layer send a packet to IP layer.
pcb | the lwip pcb or nullptr (tipically when send a RESET ) |
src | the source IP addr |
dest | the destination IP addr |
tcpseg | pointer to TCP segment (message) |
len | length of tcpseg |
Implements inet::tcp::LwipTcpStackIf.
|
overrideprotectedvirtual |
TCP layer event called before LWIP freeing a pcb.
pcb | pointer to pcb |
Implements inet::tcp::LwipTcpStackIf.
|
overrideprotectedvirtual |
TCP layer events.
Implements inet::tcp::LwipTcpStackIf.
|
overrideprotectedvirtual |
Implements inet::tcp::LwipTcpStackIf.
|
inlineoverrideprotectedvirtual |
|
protected |
Referenced by processAppCommand().
|
protected |
Referenced by processAppCommand().
|
protected |
Referenced by processAppCommand().
|
protected |
Referenced by processAppCommand().
|
protected |
Referenced by processAppCommand().
|
protected |
Referenced by processAppCommand().
|
protected |
Referenced by processAppCommand().
|
protected |
Referenced by handleAppMessage().
|
overrideprotectedvirtual |
|
protected |
Referenced by lwip_free_pcb_event(), and tcp_event_err().
|
protected |
|
protected |
Referenced by lwip_tcp_event().
|
protected |
Referenced by lwip_tcp_event().
|
protected |
Referenced by lwip_tcp_event().
|
protected |
Referenced by lwip_tcp_event().
|
protected |
Referenced by lwip_tcp_event().
|
protected |
Referenced by lwip_tcp_event().
|
protected |
Referenced by finish(), initialize(), and ~TCP_lwIP().
|
protected |
Referenced by ip_route(), and TCP_lwIP().
|
protected |
Referenced by handleIpInputMessage(), and notifyAboutIncomingSegmentProcessing().
|
protected |
Referenced by handleMessage(), initialize(), and ~TCP_lwIP().
|
protected |
Referenced by handleIpInputMessage(), handleMessage(), initialize(), process_OPEN_ACTIVE(), process_OPEN_PASSIVE(), tcp_event_recv(), and ~TCP_lwIP().
bool inet::tcp::TCP_lwIP::recordStatisticsM |
Referenced by initialize(), and inet::tcp::TcpLwipConnection::TcpLwipConnection().
|
protected |
Referenced by findAppConn(), handleAppMessage(), handleIpInputMessage(), initialize(), refreshDisplay(), removeConnection(), tcp_event_accept(), and ~TCP_lwIP().