Click
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
CTXStateElement< Derived, T > Class Template Reference

#include <ctxelement.hh>

Inherits CTXElement.

Public Member Functions

virtual const size_t flow_data_size () const
 
bool new_flow (T *, Packet *)
 
T * fcb_data_for (FlowControlBlock *fcb)
 
T * fcb_data ()
 
void push_batch (int port, PacketBatch *head) final
 

Static Public Member Functions

static void release_fnt (FlowControlBlock *fcb, void *thunk)
 

Detailed Description

template<class Derived, typename T>
class CTXStateElement< Derived, T >

CTXStateElement is like CTXSpaceElement but subscribe to the stack for connection open and close events

The child must implement : bool new_flow(T*, Packet*); void push_flow(int port, T*, Packet*); void release_flow(T*);

This is the equivalent to FlowStateElement but use the last Stack element to manage the state instead of relying on timeout/looking at the packet to learn about a closing state

Member Function Documentation

◆ new_flow()

template<class Derived , typename T >
bool CTXStateElement< Derived, T >::new_flow ( T *  ,
Packet *   
)
inline

CRTP virtual

◆ fcb_data_for()

template<class Derived , typename T >
T * CTXStateElement< Derived, T >::fcb_data_for ( FlowControlBlock *  fcb)
inline

Return the T type for a given FCB

◆ fcb_data()

template<class Derived , typename T >
T * CTXStateElement< Derived, T >::fcb_data ( )
inline

Return the T type in the current FCB on the stack


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