EpcTools
An event based multi-threaded C++ development framework.
Classes | Public Types | Public Member Functions | List of all members
PFCP::RemoteNode Class Reference

Represents a remote or peer PFCP node or host. More...

#include <epfcp.h>

Inheritance diagram for PFCP::RemoteNode:
PFCP::Node

Classes

class  Stats
 A class to hold message statistics for the remote node. More...
 

Public Types

enum  State {
  State::Initialized, State::Started, State::Stopping, State::Stopped,
  State::Failed, State::Restarted
}
 

Public Member Functions

 RemoteNode ()
 Default constructor. More...
 
 RemoteNode (const RemoteNode &)=delete
 Disabled copy constructor. More...
 
virtual ~RemoteNode ()
 Class destructor. More...
 
Int teidRangeValue () const
 Returns the currently configured TEID range value. More...
 
RemoteNodesetTeidRangeValue (Int trv)
 Sets the TEID range value. More...
 
RemoteNodesetNbrActivityWnds (size_t nbr)
 Sets the number of activity windows. More...
 
RemoteNodedeleteAllSesssions (RemoteNodeSPtr &rn)
 Initiates the process to delete all of the sessions associated with this remote node. More...
 
Statsstats ()
 Returns the stats object for this remote node. More...
 
virtual Void collectStats (EJsonBuilder &builder)
 Appends stats about the current remote node object to the provided json builder. Derived classes can override this function with additional information to append. This function is called during a call to Stats::collectNodeStats(). Derived implementations should call this base method in their implementation (e.g. RemoteNode::collectStats(builder)). Derived implementations should ensure thread-safety for accessed members. This function is thread-safe. More...
 
RemoteNodedisconnect (RemoteNodeSPtr &rn)
 Disconnects the remote peer and deletes all associated sessions. More...
 
State state () const
 Returns the current state of the local node. More...
 
- Public Member Functions inherited from PFCP::Node
 Node ()
 Default constructor. More...
 
virtual ~Node ()
 Class destructor. More...
 
EIpAddressipAddress ()
 Returns the IP address associated with this node. More...
 
NodesetIpAddress (const EIpAddress &ipaddr)
 Assigns the IP address for this node. More...
 
ESocket::Addressaddress ()
 Returns the ESocket::Address object representing the IP address for this node. More...
 
NodesetAddress (const ESocket::Address &addr)
 Assigns the ESocket::Address object representing the IP address for this node. More...
 
const ETimestartTime () const
 Returns the Node start time. More...
 
NodesetStartTime (const ETime &st=ETime::Now())
 Assigns the Node start time. More...
 
SessionBaseSPtr getSession (Seid seid)
 Returns the session object for the specified SEID. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from PFCP::Node
static ULongLong nodesCreated ()
 
static ULongLong nodesDeleted ()
 

Detailed Description

Represents a remote or peer PFCP node or host.

Member Enumeration Documentation

Enumerator
Initialized 
Started 
Stopping 
Stopped 
Failed 
Restarted 

Constructor & Destructor Documentation

PFCP::RemoteNode::RemoteNode ( )

Default constructor.

PFCP::RemoteNode::RemoteNode ( const RemoteNode )
delete

Disabled copy constructor.

PFCP::RemoteNode::~RemoteNode ( )
virtual

Class destructor.

Member Function Documentation

Void PFCP::RemoteNode::collectStats ( EJsonBuilder builder)
virtual

Appends stats about the current remote node object to the provided json builder. Derived classes can override this function with additional information to append. This function is called during a call to Stats::collectNodeStats(). Derived implementations should call this base method in their implementation (e.g. RemoteNode::collectStats(builder)). Derived implementations should ensure thread-safety for accessed members. This function is thread-safe.

Parameters
builderthe json builder to populate
RemoteNode & PFCP::RemoteNode::deleteAllSesssions ( RemoteNodeSPtr &  rn)

Initiates the process to delete all of the sessions associated with this remote node.

Parameters
rna reference to the RemoteNode shared pointer to this object.
Returns
a reference to this object.
RemoteNode & PFCP::RemoteNode::disconnect ( RemoteNodeSPtr &  rn)

Disconnects the remote peer and deletes all associated sessions.

Parameters
rna reference to the RemoteNode shared pointer to this object.
Returns
a reference to this object.
RemoteNode & PFCP::RemoteNode::setNbrActivityWnds ( size_t  nbr)

Sets the number of activity windows.

Parameters
nbrthe number of activity windows.
Returns
a reference to this object.
RemoteNode& PFCP::RemoteNode::setTeidRangeValue ( Int  trv)
inline

Sets the TEID range value.

Parameters
trvthe new TEID range value.
Returns
a reference to this object.
State PFCP::RemoteNode::state ( ) const
inline

Returns the current state of the local node.

Returns
the current state of the local node.
Stats& PFCP::RemoteNode::stats ( )
inline

Returns the stats object for this remote node.

Returns
a reference to the stats object
Int PFCP::RemoteNode::teidRangeValue ( ) const
inline

Returns the currently configured TEID range value.

Returns
the currently configured TEID range value.

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