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

#include <proto.h>

Inheritance diagram for Proto:
Collaboration diagram for Proto:

Public Types

typedef WorkQueue
< boost::shared_ptr< PktInfo > > 
ProtoWorkQueue
 

Public Member Functions

 Proto (Agent *agent, const char *task_name, PktHandler::PktModuleName mod, boost::asio::io_context &io)
 
virtual ~Proto ()
 
virtual bool Validate (PktInfo *msg)
 
virtual bool Enqueue (boost::shared_ptr< PktInfo > msg)
 
virtual void ProcessStats (PktStatsType::Type type)
 
virtual ProtoHandlerAllocProtoHandler (boost::shared_ptr< PktInfo > info, boost::asio::io_context &io)=0
 
void FreeBuffer (PktInfo *msg)
 
bool ProcessProto (boost::shared_ptr< PktInfo > msg_info)
 
bool RunProtoHandler (ProtoHandler *handler)
 
void set_trace (bool val)
 
void set_free_buffer (bool val)
 
boost::asio::io_context & get_io_service () const
 
Agentagent () const
 
const ProtoWorkQueuework_queue () const
 
virtual void TokenAvailable (TokenPool *pool)
 

Protected Attributes

Agentagent_
 
PktHandler::PktModuleName module_
 
bool trace_
 
bool free_buffer_
 
boost::asio::io_context & io_
 
ProtoWorkQueue work_queue_
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (Proto)
 

Detailed Description

Definition at line 15 of file controller/src/vnsw/agent/pkt/proto.h.

Member Typedef Documentation

typedef WorkQueue<boost::shared_ptr<PktInfo> > Proto::ProtoWorkQueue

Definition at line 17 of file controller/src/vnsw/agent/pkt/proto.h.

Constructor & Destructor Documentation

Proto::Proto ( Agent agent,
const char *  task_name,
PktHandler::PktModuleName  mod,
boost::asio::io_context &  io 
)

Definition at line 13 of file controller/src/vnsw/agent/pkt/proto.cc.

Here is the call graph for this function:

Proto::~Proto ( )
virtual

Definition at line 24 of file controller/src/vnsw/agent/pkt/proto.cc.

Here is the call graph for this function:

Member Function Documentation

Agent* Proto::agent ( ) const
inline

Definition at line 35 of file controller/src/vnsw/agent/pkt/proto.h.

virtual ProtoHandler* Proto::AllocProtoHandler ( boost::shared_ptr< PktInfo info,
boost::asio::io_context &  io 
)
pure virtual
Proto::DISALLOW_COPY_AND_ASSIGN ( Proto  )
private
bool Proto::Enqueue ( boost::shared_ptr< PktInfo msg)
virtual

Reimplemented in BfdProto.

Definition at line 38 of file controller/src/vnsw/agent/pkt/proto.cc.

Here is the call graph for this function:

void Proto::FreeBuffer ( PktInfo msg)

Definition at line 28 of file controller/src/vnsw/agent/pkt/proto.cc.

Here is the call graph for this function:

boost::asio::io_context& Proto::get_io_service ( ) const
inline

Definition at line 34 of file controller/src/vnsw/agent/pkt/proto.h.

bool Proto::ProcessProto ( boost::shared_ptr< PktInfo msg_info)

Definition at line 59 of file controller/src/vnsw/agent/pkt/proto.cc.

Here is the call graph for this function:

virtual void Proto::ProcessStats ( PktStatsType::Type  type)
inlinevirtual

Reimplemented in BfdProto.

Definition at line 25 of file controller/src/vnsw/agent/pkt/proto.h.

bool Proto::RunProtoHandler ( ProtoHandler handler)

Definition at line 50 of file controller/src/vnsw/agent/pkt/proto.cc.

Here is the call graph for this function:

void Proto::set_free_buffer ( bool  val)
inline

Definition at line 33 of file controller/src/vnsw/agent/pkt/proto.h.

void Proto::set_trace ( bool  val)
inline

Definition at line 32 of file controller/src/vnsw/agent/pkt/proto.h.

virtual void Proto::TokenAvailable ( TokenPool pool)
inlinevirtual

Reimplemented in FlowProto, and MacLearningProto.

Definition at line 37 of file controller/src/vnsw/agent/pkt/proto.h.

virtual bool Proto::Validate ( PktInfo msg)
inlinevirtual

Reimplemented in FlowProto, and MacLearningProto.

Definition at line 23 of file controller/src/vnsw/agent/pkt/proto.h.

const ProtoWorkQueue* Proto::work_queue ( ) const
inline

Definition at line 36 of file controller/src/vnsw/agent/pkt/proto.h.

Member Data Documentation

Agent* Proto::agent_
protected

Definition at line 39 of file controller/src/vnsw/agent/pkt/proto.h.

bool Proto::free_buffer_
protected

Definition at line 42 of file controller/src/vnsw/agent/pkt/proto.h.

boost::asio::io_context& Proto::io_
protected

Definition at line 43 of file controller/src/vnsw/agent/pkt/proto.h.

PktHandler::PktModuleName Proto::module_
protected

Definition at line 40 of file controller/src/vnsw/agent/pkt/proto.h.

bool Proto::trace_
protected

Definition at line 41 of file controller/src/vnsw/agent/pkt/proto.h.

ProtoWorkQueue Proto::work_queue_
protected

Definition at line 44 of file controller/src/vnsw/agent/pkt/proto.h.


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