AFI
Advanced Forwarding Interface
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends Groups
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
AftSandbox Class Reference

Primary class for managing Aft nodes and entries. More...

#include <AftSandbox.h>

Inheritance diagram for AftSandbox:
AftReceiver AftValidator

Public Member Functions

 AftSandbox (const std::string &newName)
 Default constructor for sandboxes. More...
 
 AftSandbox (const AftSandbox &sandbox)
 Default copy constructor for sandboxes. More...
 
const bool find (std::string nodeType, const std::string &nodeName, AftNodeToken &nodeToken)
 
const bool isValid (AftNodeToken nodeToken)
 
const bool isValid (const AftField &field)
 
const bool isOfType (AftNodeToken nodeToken, std::string nodeType)
 
AftNodeToken defaultToken (std::string nodeType)
 
bool send (const AftInsertPtr &insert)
 
bool send (const AftInsertPtr &insert, AftRemovePtr &remove)
 
bool send (const AftRemovePtr &remove)
 
void setMaxInputPort (AftIndex maxIndex)
 
AftIndex inputPortCount ()
 
bool outputPortByIndex (AftIndex portIndex, AftNodeToken &portToken)
 
bool outputPortByName (const std::string &portName, AftNodeToken &portToken)
 
void setMaxOutputPort (AftIndex maxIndex)
 
AftIndex outputPortCount ()
 
void setInputPortByIndex (AftIndex portIndex, AftNodeToken nextToken)
 
void setInputPortByName (const std::string &portName, AftNodeToken nextToken)
 
AftNodeToken allocate ()
 
const std::string name () const
 
void setName (const std::string &newName)
 Set name of sandbox. More...
 
const AftPortTablePtrinputPortTable () const
 
const AftPortTablePtroutputPortTable () const
 
const AftTypeTablePtrtypeTable () const
 
const AftFieldTablePtrfieldTable () const
 
void setTransport (const AftTransportPtr &newTransport)
 Sets the underlying transport to be used by the sandbox. More...
 
AftTransportPtr transport ()
 
bool hasTransport ()
 
bool receive (const AftNodePtr &node)
 Main receiver handler for incoming AftNode objects. More...
 
bool receive (const AftEntryPtr &entry)
 Main receiver handler for incoming AftEntry objects. More...
 
bool validate (const AftNodePtr &node)
 
bool validate (const AftEntryPtr &node)
 
bool validate (AftNodeToken nodeToken, std::ostream &os)
 
bool validate (const AftTokenVector &nodeTokens, std::ostream &os)
 
bool validate (const AftField &field, std::ostream &os)
 
bool validate (const AftFieldVector &fields, std::ostream &os)
 
bool validate (const AftKey &key, std::ostream &os)
 
bool validate (const AftKeyVector &keys, std::ostream &os)
 
std::ostream & description (std::ostream &os) const
 

Static Public Member Functions

static AftSandboxPtr create (const std::string &newName)
 
static AftSandboxPtr create (const AftSandboxPtr &sandbox)
 

Protected Member Functions

void _insert (const AftNodePtr &node)
 
void _remove (AftNodeToken nodeToken)
 
void release (AftNodeToken releasedToken)
 

Protected Attributes

AftSandboxWeakPtr _selfPtr
 Weak pointer to itself.
 
std::string _name
 Name of the sandbox.
 
AftTransportPtr _transport
 Transport responsible for the server connection.
 
AftNameTable _nameTable
 Name lookup table for the sandbox.
 
AftTypeTablePtr _typeTable
 Type lookup table for the sandbox.
 
AftTokenTablePtr _tokenTable
 Token allocation table for the sandbox.
 
AftFieldTablePtr _fieldTable
 Field name table for the sandbox.
 
AftPortTablePtr _inputPorts
 Input port table for the sandbox.
 
AftPortTablePtr _outputPorts
 Output port table for the sandbox.
 
AftEncapTablePtr _encaps
 Table of available encapsulations.
 
AftDecapTablePtr _decaps
 Table of available de-encapsulations.
 

Friends

std::ostream & operator<< (std::ostream &os, const AftSandboxPtr &sandbox)
 Define << class operator to append description to an output stream. More...
 

Detailed Description

Primary class for managing Aft nodes and entries.

Constructor & Destructor Documentation

AftSandbox::AftSandbox ( const std::string &  newName)

Default constructor for sandboxes.

Parameters
[in]newNameUnique name of new sandbox
AftSandbox::AftSandbox ( const AftSandbox sandbox)

Default copy constructor for sandboxes.

Parameters
[in]sandboxSandbox to use as template for new sandbox

Member Function Documentation

const AftFieldTablePtr& AftSandbox::fieldTable ( ) const
inline
Returns
Reference to field table
bool AftSandbox::hasTransport ( )
inlinevirtual
Returns
True if the transport has been set

Implements AftReceiver.

const AftPortTablePtr& AftSandbox::inputPortTable ( ) const
inline
Returns
Reference to input port table
const std::string AftSandbox::name ( ) const
inline
Returns
Name of sandbox
const AftPortTablePtr& AftSandbox::outputPortTable ( ) const
inline
Returns
Reference to output port table
bool AftSandbox::receive ( const AftNodePtr node)
virtual

Main receiver handler for incoming AftNode objects.

Parameters
[in]nodeReference to node object to receive

Implements AftReceiver.

bool AftSandbox::receive ( const AftEntryPtr entry)
virtual

Main receiver handler for incoming AftEntry objects.

Parameters
[in]entryReference to entry object to receive

Implements AftReceiver.

void AftSandbox::setName ( const std::string &  newName)
inline

Set name of sandbox.

Parameters
[in]nameString to set sandbox name to
void AftSandbox::setTransport ( const AftTransportPtr newTransport)
inlinevirtual

Sets the underlying transport to be used by the sandbox.

Parameters
[in]transportReference to transport pointer

Implements AftReceiver.

AftTransportPtr AftSandbox::transport ( )
inlinevirtual
Returns
Transport currently in use by the receiver

Implements AftReceiver.

const AftTypeTablePtr& AftSandbox::typeTable ( ) const
inline
Returns
Reference to type table

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const AftSandboxPtr sandbox 
)
friend

Define << class operator to append description to an output stream.

Parameters
[in]osReference to output stream to append description to
[in]sandboxReference to sandbox to generate description for
Returns
Reference to output stream with text description of sandbox appended

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