OpenSDN source code
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

◆ ProtoWorkQueue

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::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::~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()

Agent* Proto::agent ( ) const
inline

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

◆ AllocProtoHandler()

virtual ProtoHandler* Proto::AllocProtoHandler ( boost::shared_ptr< PktInfo info,
boost::asio::io_context &  io 
)
pure virtual

◆ DISALLOW_COPY_AND_ASSIGN()

Proto::DISALLOW_COPY_AND_ASSIGN ( Proto  )
private

◆ Enqueue()

bool Proto::Enqueue ( boost::shared_ptr< PktInfo msg)
virtual

Reimplemented in FlowProto, MacLearningProto, and BfdProto.

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

Here is the call graph for this function:

◆ FreeBuffer()

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:

◆ get_io_service()

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

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

◆ ProcessProto()

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:

◆ ProcessStats()

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

Reimplemented in BfdProto.

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

◆ RunProtoHandler()

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:

◆ set_free_buffer()

void Proto::set_free_buffer ( bool  val)
inline

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

◆ set_trace()

void Proto::set_trace ( bool  val)
inline

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

◆ TokenAvailable()

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.

◆ Validate()

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.

◆ work_queue()

const ProtoWorkQueue* Proto::work_queue ( ) const
inline

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

Member Data Documentation

◆ agent_

Agent* Proto::agent_
protected

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

◆ free_buffer_

bool Proto::free_buffer_
protected

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

◆ io_

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

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

◆ module_

PktHandler::PktModuleName Proto::module_
protected

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

◆ trace_

bool Proto::trace_
protected

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

◆ work_queue_

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: