flow_learn_span_example.cpp File Reference
#include <nt.h>#include <algorithm>#include <array>#include <atomic>#include <cstdint>#include <cstring>#include <functional>#include <iostream>#include <memory>#include <string>#include <thread>#include <unordered_map>#include <vector>Go to the source code of this file.
Data Structures | |
| struct | anonymous_namespace{flow_learn_span_example.cpp}::context |
Namespaces | |
| anonymous_namespace{flow_learn_span_example.cpp} | |
Macros | |
| #define | STR_INNER(A) #A |
| #define | STR(A) STR_INNER(A) |
| #define | BLACKLIST 3 |
| #define | WHITELIST 4 |
Functions | |
| void | anonymous_namespace{flow_learn_span_example.cpp}::handle_error_status (int status, const char *message) |
| void | anonymous_namespace{flow_learn_span_example.cpp}::ntpl_multicall (const std::vector< std::string > &ntpls) |
| uint64_t | anonymous_namespace{flow_learn_span_example.cpp}::flow_hash (const NtFlow_t *flow) |
| void | anonymous_namespace{flow_learn_span_example.cpp}::rx_task (std::atomic< int > *ready, std::atomic< bool > *end_task, uint32_t stream_id, std::function< void(const NtNetBuf_t &)> handle) |
| void | anonymous_namespace{flow_learn_span_example.cpp}::flow_program_task (std::atomic< int > *ready, std::atomic< bool > *end_task) |
| void | anonymous_namespace{flow_learn_span_example.cpp}::handle_stream_miss (const NtNetBuf_t &net_buffer) |
| void | anonymous_namespace{flow_learn_span_example.cpp}::handle_stream_blacklist_hit (const NtNetBuf_t &) |
| void | anonymous_namespace{flow_learn_span_example.cpp}::handle_stream_whitelist_hit (const NtNetBuf_t &) |
| int | main (int argc, char *argv[]) |
Variables | |
| uint8_t | gGfi = 0 |
| struct context | anonymous_namespace{flow_learn_span_example.cpp}::context_miss |
| struct context | anonymous_namespace{flow_learn_span_example.cpp}::context_blacklist |
| struct context | anonymous_namespace{flow_learn_span_example.cpp}::context_whitelist |
| NtFlowStream_t | anonymous_namespace{flow_learn_span_example.cpp}::flow_stream |
| std::unordered_multimap< uint64_t, std::unique_ptr< NtFlow_t > > | anonymous_namespace{flow_learn_span_example.cpp}::flow_map |
| std::atomic< uint64_t > | anonymous_namespace{flow_learn_span_example.cpp}::flow_learn_queue_read_index {0} |
| std::atomic< uint64_t > | anonymous_namespace{flow_learn_span_example.cpp}::flow_learn_queue_write_index {0} |
| std::array< NtFlow_t *, 0x100000 > | anonymous_namespace{flow_learn_span_example.cpp}::flow_learn_queue |
| constexpr uint64_t | anonymous_namespace{flow_learn_span_example.cpp}::flow_learn_queue_index_mask = 0xfffff |
Macro Definition Documentation
| #define STR_INNER | ( | A | ) | #A |
Definition at line 96 of file flow_learn_span_example.cpp.
| #define STR | ( | A | ) | STR_INNER(A) |
Definition at line 97 of file flow_learn_span_example.cpp.
Referenced by main().
| #define BLACKLIST 3 |
Definition at line 201 of file flow_learn_span_example.cpp.
Referenced by anonymous_namespace{flow_learn_span_example.cpp}::handle_stream_miss(), and main().
| #define WHITELIST 4 |
Definition at line 202 of file flow_learn_span_example.cpp.
Referenced by anonymous_namespace{flow_learn_span_example.cpp}::handle_stream_miss(), and main().
Function Documentation
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
Definition at line 366 of file flow_learn_span_example.cpp.
Variable Documentation
| uint8_t gGfi = 0 |
Definition at line 99 of file flow_learn_span_example.cpp.
Referenced by anonymous_namespace{flow_learn_span_example.cpp}::handle_stream_miss(), and main().