EpcTools
An event based multi-threaded C++ development framework.
Public Member Functions | Protected Member Functions | List of all members
EPCDNS::NodeSelector Class Reference

contains the information to select a node. More...

#include <epcdns.h>

Inheritance diagram for EPCDNS::NodeSelector:
EPCDNS::ENodeBUPFNodeSelector EPCDNS::EpcNodeSelector EPCDNS::MMENodeSelector EPCDNS::PGWNodeSelector EPCDNS::PGWUPFNodeSelector EPCDNS::SGWNodeSelector EPCDNS::SGWUPFNodeSelector

Public Member Functions

DNS::namedserverid_t getNamedServerID ()
 Retrieves the named server ID. More...
 
DNS::namedserverid_t setNamedServerID (DNS::namedserverid_t nsid)
 Assigns the named server ID. More...
 
AppServiceEnum getDesiredService ()
 Retrieves the desired application service type. More...
 
AppProtocolListgetDesiredProtocols ()
 Retrieves the list of application protocols. More...
 
const EStringgetDomainName ()
 Retrieves the domain name. More...
 
NodeSelectorResultListgetResults ()
 Retrieves the node selector results list. More...
 
UsageType addDesiredUsageType (UsageType ut)
 Adds a desired usage type to the list of desired usage types. More...
 
NetworkCapability & addDesiredNetworkCapability (const char *nc)
 Adds a desired network capability to the list of desired network capabilities. More...
 
NetworkCapability & addDesiredNetworkCapability (NetworkCapability &nc)
 Adds a desired network capability to the list of desired network capabilities. More...
 
NodeSelectorResultListprocess ()
 Performs synchronous selection process. More...
 
Void process (cpVoid data, AsyncNodeSelectorCallback cb)
 Performs asynchronous node selection process. More...
 
Void dump ()
 Prints the contents of this object. More...
 

Protected Member Functions

 NodeSelector ()
 Default constructor. More...
 
 ~NodeSelector ()
 Class destructor. More...
 
AppServiceEnum setAppService (AppServiceEnum s)
 Assigns the application service type. More...
 
const EStringsetDomainName (const std::string &d)
 Assigns the domain name. More...
 
Void addDesiredProtocol (AppProtocol *ap)
 Adds a desired application protcol to the desired protocol list. More...
 

Detailed Description

contains the information to select a node.

Constructor & Destructor Documentation

◆ NodeSelector()

NodeSelector::NodeSelector ( )
protected

Default constructor.

◆ ~NodeSelector()

NodeSelector::~NodeSelector ( )
protected

Class destructor.

Member Function Documentation

◆ addDesiredNetworkCapability() [1/2]

NetworkCapability& EPCDNS::NodeSelector::addDesiredNetworkCapability ( const char *  nc)
inline

Adds a desired network capability to the list of desired network capabilities.

Parameters
ncthe desired network capability to add.
Returns
the desired network capability to added.

◆ addDesiredNetworkCapability() [2/2]

NetworkCapability& EPCDNS::NodeSelector::addDesiredNetworkCapability ( NetworkCapability &  nc)
inline

Adds a desired network capability to the list of desired network capabilities.

Parameters
ncthe desired network capability to add.
Returns
the desired network capability to added.

◆ addDesiredProtocol()

Void EPCDNS::NodeSelector::addDesiredProtocol ( AppProtocol ap)
inlineprotected

Adds a desired application protcol to the desired protocol list.

Parameters
apthe desired application protocol.

◆ addDesiredUsageType()

UsageType EPCDNS::NodeSelector::addDesiredUsageType ( UsageType  ut)
inline

Adds a desired usage type to the list of desired usage types.

Parameters
utthe usage type to add.
Returns
the usage type added.

◆ dump()

Void EPCDNS::NodeSelector::dump ( )
inline

Prints the contents of this object.

◆ getDesiredProtocols()

AppProtocolList& EPCDNS::NodeSelector::getDesiredProtocols ( )
inline

Retrieves the list of application protocols.

Returns
the list of application protocols.

◆ getDesiredService()

AppServiceEnum EPCDNS::NodeSelector::getDesiredService ( )
inline

Retrieves the desired application service type.

Returns
the desired application service type.

◆ getDomainName()

const EString& EPCDNS::NodeSelector::getDomainName ( )
inline

Retrieves the domain name.

Returns
the domain name.

◆ getNamedServerID()

DNS::namedserverid_t EPCDNS::NodeSelector::getNamedServerID ( )
inline

Retrieves the named server ID.

Returns
the named server ID.

◆ getResults()

NodeSelectorResultList& EPCDNS::NodeSelector::getResults ( )
inline

Retrieves the node selector results list.

Returns
the node selector results list.

◆ process() [1/2]

NodeSelectorResultList & NodeSelector::process ( )

Performs synchronous selection process.

Returns
the node selector results.

◆ process() [2/2]

Void NodeSelector::process ( cpVoid  data,
AsyncNodeSelectorCallback  cb 
)

Performs asynchronous node selection process.

Parameters
dataa void pointer that will be passed to the callback when complete.
cba pointer to the callback function that will be called when the node selection is complete.

◆ setAppService()

AppServiceEnum EPCDNS::NodeSelector::setAppService ( AppServiceEnum  s)
inlineprotected

Assigns the application service type.

Parameters
sthe application service type.
Returns
the application service type.

◆ setDomainName()

const EString& EPCDNS::NodeSelector::setDomainName ( const std::string &  d)
inlineprotected

Assigns the domain name.

Parameters
dthe domain name.
Returns
the domain name.

◆ setNamedServerID()

DNS::namedserverid_t EPCDNS::NodeSelector::setNamedServerID ( DNS::namedserverid_t  nsid)
inline

Assigns the named server ID.

Parameters
nsidthe named server ID.
Returns
the named server ID.

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