ANNA Suite  2020b
Multipurpose development suite for Telco applications
Public Member Functions | Static Public Attributes | Protected Attributes | Friends | List of all members
anna::diameter::comm::ServerSession Class Reference

#include <ServerSession.hpp>

Inheritance diagram for anna::diameter::comm::ServerSession:
Inheritance graph
[legend]
Collaboration diagram for anna::diameter::comm::ServerSession:
Collaboration graph
[legend]

Public Member Functions

 ServerSession ()
 
void initialize ()
 
void setAllowedInactivityTime (const anna::Millisecond &allowedInactivityTime)
 
const std::string & getAddress () const
 
int getPort () const
 
int getKey () const
 
LocalServergetParent ()
 
void setClientSocket (anna::comm::ClientSocket *clientSocket)
 
anna::comm::ClientSocketgetClientSocket ()
 
const Responsesend (const Message *message) noexcept(false)
 
bool unbind (bool forceDisconnect=false) noexcept(false)
 
std::string asString () const
 
anna::xml::NodeasXML (anna::xml::Node *parent) const
 
- Public Member Functions inherited from anna::diameter::comm::Session
 Session (const char *className, const char *timerName)
 
State::_v getState () const
 
void setOnDisconnect (const OnDisconnect::_v onDisconnect)
 
OnDisconnect::_v getOnDisconnect () const
 
int getSocketId () const
 
const HopByHopgetNextHopByHop () const
 
const EndToEndgetNextEndToEnd () const
 
void setClassCodeTimeout (const ClassCode::_v v, const anna::Millisecond &millisecond)
 
anna::Millisecond getClassCodeTimeout (const ClassCode::_v v) const
 
bool isBound () const
 
const Responsesend (const Message &message) noexcept(false)
 
const anna::MillisecondgetLastIncomingActivityTime () const
 
const anna::MillisecondgetLastOutgoingActivityTime () const
 
int getOTARequests () const
 
bool idle () const
 
void notifyOrphansOnExpiration (bool defer=true)
 
- Public Member Functions inherited from anna::timex::Timer
 Timer (const char *name, const Millisecond &timeout)
 
std::string asString () const
 
- Public Member Functions inherited from anna::timex::TimeEvent
virtual ~TimeEvent ()
 
Id getId () const
 
const MillisecondgetTimeout () const
 
const TimeEventObservergetObserver () const
 
void setId (const Id id)
 
void setTimeout (const Millisecond &timeout)
 
void setObserver (TimeEventObserver *observer)
 
bool isActive () const
 

Static Public Attributes

static const anna::Millisecond DefaultAllowedInactivityTime
 
- Static Public Attributes inherited from anna::diameter::comm::Session
static const anna::Millisecond DefaultTimeout
 
static const int DefaultPort
 

Protected Attributes

bool a_deprecated
 
- Protected Attributes inherited from anna::diameter::comm::Session
const char * a_className
 
int a_socketId
 
State::_v a_state
 
OnDisconnect::_v a_onDisconnect
 
anna::diameter::comm::Timera_actionTimer
 
HopByHop a_nextHopByHop
 
EndToEnd a_nextEndToEnd
 
response_container a_responses
 
bool a_notifyOrphansOnExpiration
 
anna::timex::Enginea_timeController
 
anna::Millisecond a_lastIncomingActivityTime
 
anna::Millisecond a_lastOutgoingActivityTime
 
anna::Millisecond a_timeouts [ClassCode::Max]
 

Friends

class anna::diameter::comm::Timer
 
class LocalServer
 
class Engine
 
class ServerSessionReceiver
 

Additional Inherited Members

- Public Types inherited from anna::timex::TimeEvent
typedef anna::ptrnumber Id
 
- Protected Types inherited from anna::diameter::comm::Session
typedef anna::SortedVector< Response, SortById, HopByHopresponse_container
 
typedef response_container::iterator response_iterator
 
typedef response_container::const_iterator const_response_iterator
 
- Protected Member Functions inherited from anna::diameter::comm::Session
void initializeSequences ()
 
void generateNextSequences ()
 
void response_add (Response *response)
 
void response_erase (Response *response)
 
Responseresponse_find (const HopByHop hopByHop) noexcept(false)
 
response_iterator response_begin ()
 
response_iterator response_end ()
 
const_response_iterator response_begin () const
 
const_response_iterator response_end () const
 
void sendDPA (const Engine *commEngine, const anna::DataBlock &dprDataBlock) noexcept(false)
 
void activateActionTimer (const anna::diameter::comm::Timer::Type::_v type)
 
void cancelActionTimer ()
 
void activateTimer ()
 
void cancelTimer ()
 
virtual void timerStopped ()
 
virtual void timerStarted ()
 
virtual void setState (State::_v state)
 
- Protected Member Functions inherited from anna::timex::TimeEvent
 TimeEvent ()
 
 TimeEvent (const Id id, const Millisecond &timeout)
 
virtual void stop () noexcept(false)
 
- Static Protected Member Functions inherited from anna::diameter::comm::Session
static Responseresponse (response_iterator ii)
 
static const Responseresponse (const_response_iterator ii)
 
static const char * asText (const State::_v)
 
static const char * asText (const OnDisconnect::_v)
 

Detailed Description

Modela la conexion realizada contra un servidor diameter local.

Constructor & Destructor Documentation

◆ ServerSession()

anna::diameter::comm::ServerSession::ServerSession ( )

Member Function Documentation

◆ asString()

std::string anna::diameter::comm::ServerSession::asString ( ) const
virtual

Class string representation

Returns
String with relevant information for this instance.

Reimplemented from anna::diameter::comm::Session.

◆ asXML()

anna::xml::Node* anna::diameter::comm::ServerSession::asXML ( anna::xml::Node parent) const
virtual

Class xml representation

Parameters
parentParent XML node on which hold this instance information.
Returns
XML document with relevant information for this instance.

Reimplemented from anna::diameter::comm::Session.

◆ getAddress()

const std::string& anna::diameter::comm::ServerSession::getAddress ( ) const
virtual

Diameter listening address (ip or hostname).

Returns
Diameter listening address.

Implements anna::diameter::comm::Session.

◆ getClientSocket()

anna::comm::ClientSocket* anna::diameter::comm::ServerSession::getClientSocket ( )
inline

Diameter client socket

Returns
Diameter client socket
107 { return a_clientSocket; }

◆ getKey()

int anna::diameter::comm::ServerSession::getKey ( ) const
inline

Server session key. Same as socket id

88 { return getSocketId(); }
int getSocketId() const
Definition: Session.hpp:150

◆ getParent()

LocalServer* anna::diameter::comm::ServerSession::getParent ( )
inline

Local server parent

Returns
Local server parent
94 { return a_parent; }

◆ getPort()

int anna::diameter::comm::ServerSession::getPort ( ) const
virtual

Diameter listen port.

Returns
Diameter listen port.

Implements anna::diameter::comm::Session.

◆ initialize()

void anna::diameter::comm::ServerSession::initialize ( )
virtual

Reimplemented from anna::diameter::comm::Session.

◆ send()

const Response* anna::diameter::comm::ServerSession::send ( const Message message)
virtualnoexcept

◆ setAllowedInactivityTime()

void anna::diameter::comm::ServerSession::setAllowedInactivityTime ( const anna::Millisecond allowedInactivityTime)

Sets the maximum allowed inactivity time on server session

Parameters
allowedInactivityTimeInactivity time allowed

◆ setClientSocket()

void anna::diameter::comm::ServerSession::setClientSocket ( anna::comm::ClientSocket clientSocket)

Sets the diameter client socket and assign the receiver factory to it

Parameters
clientSocketDiameter client socket

◆ unbind()

bool anna::diameter::comm::ServerSession::unbind ( bool  forceDisconnect = false)
virtualnoexcept

Friends And Related Function Documentation

◆ anna::diameter::comm::Timer

friend class anna::diameter::comm::Timer
friend

◆ Engine

friend class Engine
friend

◆ LocalServer

friend class LocalServer
friend

◆ ServerSessionReceiver

friend class ServerSessionReceiver
friend

Member Data Documentation

◆ a_deprecated

bool anna::diameter::comm::ServerSession::a_deprecated
protected

◆ DefaultAllowedInactivityTime

const anna::Millisecond anna::diameter::comm::ServerSession::DefaultAllowedInactivityTime
static

Default max inactivity period for the diameter server-session health.


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