tcpflow  1.6.1
About: tcpflow is a TCP/IP packet demultiplexer that captures data transmitted as part of TCP connections (flows), and stores the data in a way that is convenient for protocol analysis and debugging.
  Fossies Dox: tcpflow-1.6.1.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

feature_recorder_set Class Reference

#include <feature_recorder_set.h>

Collaboration diagram for feature_recorder_set:


struct  hash_def
struct  pstats

Public Types

typedef std::map< std::string, struct pstatsscanner_stats_map
typedef void(* xml_notifier_t) (const std::string &xmlstring)
typedef int(* stat_callback_t) (void *user, const std::string &name, uint64_t calls, double seconds)

Public Member Functions

virtual void heartbeat ()
 feature_recorder_set (uint32_t flags_, const hash_def &hasher_, const std::string &input_fname_, const std::string &outdir_)
virtual ~feature_recorder_set ()
std::string get_input_fname () const
virtual const std::string & get_outdir () const
void set_stop_list (const word_and_context_list *alist)
void set_alert_list (const word_and_context_list *alist)
void init (const feature_file_names_t &feature_files)
void flush_all ()
void close_all ()
bool has_name (std::string name) const
void set_flag (uint32_t f)
void unset_flag (uint32_t f)
bool flag_set (uint32_t f) const
bool flag_notset (uint32_t f) const
uint32_t get_flags () const
void add_histogram (const histogram_def &def)
void dump_histograms (void *user, feature_recorder::dump_callback_t cb, xml_notifier_t xml_error_notifier) const
virtual feature_recordercreate_name_factory (const std::string &name_)
virtual void create_name (const std::string &name, bool create_stop_also)
void add_stats (const std::string &bucket, double seconds)
void get_stats (void *user, stat_callback_t stat_callback) const
void dump_name_count_stats (dfxml_writer &writer) const
virtual void db_send_sql (void *db3, const char **stmts,...)
virtual void * db_create_empty (const std::string &name)
void db_create_table (const std::string &name)
void db_create ()
void db_transaction_begin ()
void db_transaction_commit ()
void db_close ()
virtual bool check_previously_processed (const uint8_t *buf, size_t bufsize)
virtual feature_recorderget_name (const std::string &name) const
virtual feature_recorderget_alert_recorder () const
virtual void get_feature_file_list (std::vector< std::string > &ret)

Public Attributes

void * db3
const word_and_context_listalert_list
const word_and_context_liststop_list
scanner_stats_map scanner_stats
const hash_defhasher

Static Public Attributes

static hash_def null_hasher
static const std::string ALERT_RECORDER_NAME = "alerts"
static const std::string DISABLED_RECORDER_NAME = "disabled"
static const std::string NO_INPUT = "<NO-INPUT>"
static const std::string NO_OUTDIR = "<NO-OUTDIR>"
static const uint32_t ONLY_ALERT = 0x01
static const uint32_t SET_DISABLED = 0x02
static const uint32_t CREATE_STOP_LIST_RECORDERS = 0x04
static const uint32_t MEM_HISTOGRAM = 0x20
static const uint32_t ENABLE_SQLITE3_RECORDERS = 0x40
static const uint32_t DISABLE_FILE_RECORDERS = 0x80
static const uint32_t NO_ALERT = 0x100

Private Member Functions

 feature_recorder_set (const feature_recorder_set &fs)
feature_recorder_setoperator= (const feature_recorder_set &fs)

Private Attributes

uint32_t flags
atomic_set< std::string > seen_set
const std::string input_fname
const std::string outdir
feature_recorder_map frm
cppmutex Mscanner_stats
histogram_defs_t histogram_defs
cppmutex Min_transaction
bool in_transaction

Detailed Description

The feature_recorder_set is an object that controls output. It knows where the output goes (outdir), the various feature recorders that write to that output, and provides for synchronization. It also has the factory method for new feature_recorders. Therefore if you want a different feature_recorder, this set should be subclassed as well.

Definition at line 28 of file feature_recorder_set.h.

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