famouso::mw::afp::defrag::EventSeqDemux< DCP > Class Template Reference
Policy: Event demultiplexer supporting event sequence numbers. More...
#include <EventSeqDemux.h>
Data Structures | |
class | Event |
Internal event representation. | |
Public Types | |
enum | { support_late_delivery } |
typedef EventSeqHeaderSupport < DCP > | EventSeqHeaderPolicy |
Public Member Functions | |
EventSeqDemux (flen_t mtu) | |
Constructor. | |
~EventSeqDemux () | |
Destructor. | |
void * | get_defragmenter_handle (const Headers< DCP > &header, const KeyType &event_key) |
Defragmenter< DCP > * | get_defragmenter (void *handle) |
Return Defragmenter from handle. | |
void | free_defragmenter (void *handle) |
Frees defragmenter. | |
void * | keep_defragmenter (void *handle) |
Keep defragmenter for later event delivery and return its new handle. | |
Defragmenter< DCP > * | get_kept_defragmenter (void *handle) |
Get defragmenter from kept defragmenter's handle. | |
void | free_kept_defragmenter (void *handle) |
Frees kept defragmenter. |
Detailed Description
template<class DCP>
class famouso::mw::afp::defrag::EventSeqDemux< DCP >
Policy: Event demultiplexer supporting event sequence numbers.
Alternatives: SingleEventDemux, MultiSourceDemux
Member Typedef Documentation
typedef EventSeqHeaderSupport<DCP> famouso::mw::afp::defrag::EventSeqDemux< DCP >::EventSeqHeaderPolicy |
Member Enumeration Documentation
anonymous enum |
Constructor & Destructor Documentation
famouso::mw::afp::defrag::EventSeqDemux< DCP >::EventSeqDemux | ( | flen_t | mtu | ) | [inline] |
Constructor.
famouso::mw::afp::defrag::EventSeqDemux< DCP >::~EventSeqDemux | ( | ) | [inline] |
Member Function Documentation
void famouso::mw::afp::defrag::EventSeqDemux< DCP >::free_defragmenter | ( | void * | handle | ) | [inline] |
Frees defragmenter.
- Parameters:
-
handle Defragmenter's handle
After calling keep_defragmenter(handle) use free_kept_defragmenter() instead of this.
void famouso::mw::afp::defrag::EventSeqDemux< DCP >::free_kept_defragmenter | ( | void * | handle | ) | [inline] |
Frees kept defragmenter.
- Parameters:
-
handle Defragmenter's handle
After calling keep_defragmenter(handle) use this function instead of free_defragmenter().
References famouso::mw::afp::defrag::EventSeqDemux< DCP >::get_kept_defragmenter().
Defragmenter<DCP>* famouso::mw::afp::defrag::EventSeqDemux< DCP >::get_defragmenter | ( | void * | handle | ) | [inline] |
Return Defragmenter from handle.
void* famouso::mw::afp::defrag::EventSeqDemux< DCP >::get_defragmenter_handle | ( | const Headers< DCP > & | header, | |
const KeyType & | event_key | |||
) | [inline] |
- Returns:
- Defragmenter handle, zero to drop the fragment.
References famouso::mw::afp::defrag::detail::PointerMap< KeyT, ItemT, N >::end(), famouso::mw::afp::defrag::Headers< DCP >::eseq, famouso::mw::afp::defrag::Headers< DCP >::ext_length(), FAMOUSO_ASSERT, famouso::mw::afp::defrag::detail::PointerMap< KeyT, ItemT, N >::find(), famouso::mw::afp::defrag::Headers< DCP >::fseq, famouso::mw::afp::defrag::detail::PointerMap< KeyT, ItemT, N >::insert(), and famouso::mw::afp::defrag::Headers< DCP >::length().
Defragmenter<DCP>* famouso::mw::afp::defrag::EventSeqDemux< DCP >::get_kept_defragmenter | ( | void * | handle | ) | [inline] |
Get defragmenter from kept defragmenter's handle.
- Parameters:
-
handle Handle returned by keep_defragmenter.
- Returns:
- Defragmenter
Referenced by famouso::mw::afp::defrag::EventSeqDemux< DCP >::free_kept_defragmenter().
void* famouso::mw::afp::defrag::EventSeqDemux< DCP >::keep_defragmenter | ( | void * | handle | ) | [inline] |
Keep defragmenter for later event delivery and return its new handle.
- Parameters:
-
handle Defragmenter's handle
- Returns:
- New handle you must pass to free_kep_defragmenter
- Precondition:
- Event must be complete.
After using this function use free_kept_defragmenter() instead of free_defragmenter().
References FAMOUSO_ASSERT, and famouso::mw::afp::defrag::Defragmenter< DCP >::is_event_complete().
The documentation for this class was generated from the following file:
- include/mw/afp/defrag/EventSeqDemux.h