#include <OnixS/CME/iLink3/TcpDirectStack.h>
Public Member Functions | |
| TcpDirectStack (const TcpDirectAttr &attr) | |
| TcpDirectStack (const TcpDirectStack &)=delete | |
| TcpDirectStack & | operator= (const TcpDirectStack &)=delete |
| TcpDirectStack (TcpDirectStack &&)=delete | |
| TcpDirectStack & | operator= (TcpDirectStack &&)=delete |
| ~TcpDirectStack () override | |
| void | dispatchEvents () noexcept override |
| bool | isQuiescent () const noexcept override |
| Threading::ThreadId | workingThreadId () const noexcept override |
| ReactorType::Enum | type () const noexcept override |
| Public Member Functions inherited from SessionReactor | |
| virtual | ~SessionReactor ()=default |
Friends | |
| class | SessionImpl |
A high-level wrapper over the TCPDirect network stack.
Definition at line 35 of file TcpDirectStack.h.
|
explicit |
Allocates a stack with the supplied attributes.
| attr | A set of properties to apply to the stack. |
A stack binds to a single network interface, specified by the interface attribute in attr.
Relevant attributes to set in attr are those in the zf_stack, zf_pool and zf_vi categories described in the attributes documentation.
| std::bad_alloc | Out of memory. N.B. TCPDirect API requires huge pages. |
| std::runtime_error | the TCPDirect library reported an error, see the error text. |
| std::exception | System call reported an error, see the error text. |
|
delete |
|
delete |
|
override |
|
inlineoverridevirtualnoexcept |
This function processes events on a stack and performs the necessary handling.
These events, including transmit and receive events raised by the hardware, and also software events such as TCP and FIXP timers.
Please see the "Stack polling" section in the TCPDirect User Guide for further information.
Implements SessionReactor.
Definition at line 70 of file TcpDirectStack.h.
|
inlineoverridevirtualnoexcept |
This can be used to ensure that all connections have been closed gracefully before destroying a stack (or exiting the application). Destroying a stack while it is not quiescent is permitted by the API, but when doing so there is no guarantee that sent data has been acknowledged by the peer or even transmitted, and there is the possibility that peers' connections will be reset.
Implements SessionReactor.
Definition at line 84 of file TcpDirectStack.h.
|
delete |
|
delete |
|
inlineoverridevirtualnoexcept |
Implements SessionReactor.
Definition at line 94 of file TcpDirectStack.h.
|
inlineoverridevirtualnoexcept |
Implements SessionReactor.
Definition at line 90 of file TcpDirectStack.h.
|
friend |
Definition at line 113 of file TcpDirectStack.h.