OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PktTrace Class Reference

#include <pkt_trace.h>

Collaboration diagram for PktTrace:

Classes

struct  Pkt
 

Public Types

enum  Direction { In, Out, Invalid }
 
typedef boost::function< void(PktTrace::Pkt &)> Cb
 

Public Member Functions

 PktTrace ()
 
virtual ~PktTrace ()
 
void AddPktTrace (Direction dir, std::size_t len, uint8_t *msg, const AgentHdr *hdr)
 
void Clear ()
 
void Iterate (Cb cb)
 
std::size_t num_buffers () const
 
std::size_t pkt_trace_size () const
 
void set_pkt_trace_size (std::size_t size)
 
void set_num_buffers (uint32_t num_buffers)
 

Static Public Attributes

static const std::size_t kPktMaxTraceSize = 512
 
static const std::size_t kPktNumBuffers = 100
 
static const std::size_t kPktMaxNumBuffers = 512000
 

Private Attributes

uint32_t end_
 
uint32_t count_
 
std::size_t num_buffers_
 
std::size_t pkt_trace_size_
 
std::vector< Pktpkt_buffer_
 

Detailed Description

Definition at line 12 of file pkt_trace.h.

Member Typedef Documentation

typedef boost::function<void(PktTrace::Pkt &)> PktTrace::Cb

Definition at line 34 of file pkt_trace.h.

Member Enumeration Documentation

Enumerator
In 
Out 
Invalid 

Definition at line 18 of file pkt_trace.h.

Constructor & Destructor Documentation

PktTrace::PktTrace ( )
inline

Definition at line 36 of file pkt_trace.h.

virtual PktTrace::~PktTrace ( )
inlinevirtual

Definition at line 40 of file pkt_trace.h.

Member Function Documentation

void PktTrace::AddPktTrace ( Direction  dir,
std::size_t  len,
uint8_t *  msg,
const AgentHdr hdr 
)

Definition at line 1530 of file pkt_handler.cc.

void PktTrace::Clear ( )
inline

Definition at line 44 of file pkt_trace.h.

void PktTrace::Iterate ( Cb  cb)
inline

Definition at line 49 of file pkt_trace.h.

std::size_t PktTrace::num_buffers ( ) const
inline

Definition at line 58 of file pkt_trace.h.

std::size_t PktTrace::pkt_trace_size ( ) const
inline

Definition at line 59 of file pkt_trace.h.

void PktTrace::set_num_buffers ( uint32_t  num_buffers)
inline

Definition at line 66 of file pkt_trace.h.

Here is the call graph for this function:

void PktTrace::set_pkt_trace_size ( std::size_t  size)
inline

Definition at line 61 of file pkt_trace.h.

Member Data Documentation

uint32_t PktTrace::count_
private

Definition at line 78 of file pkt_trace.h.

uint32_t PktTrace::end_
private

Definition at line 77 of file pkt_trace.h.

const std::size_t PktTrace::kPktMaxNumBuffers = 512000
static

Definition at line 16 of file pkt_trace.h.

const std::size_t PktTrace::kPktMaxTraceSize = 512
static

Definition at line 14 of file pkt_trace.h.

const std::size_t PktTrace::kPktNumBuffers = 100
static

Definition at line 15 of file pkt_trace.h.

std::size_t PktTrace::num_buffers_
private

Definition at line 79 of file pkt_trace.h.

std::vector<Pkt> PktTrace::pkt_buffer_
private

Definition at line 81 of file pkt_trace.h.

std::size_t PktTrace::pkt_trace_size_
private

Definition at line 80 of file pkt_trace.h.


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