class LSPeerSession

Base class LSPeerSession implements the peer-to-peer connection between two LSs and drive the FSM for that connection

Public Methods

void cancelConnectRetryTimer()
void cancelHoldTimer()
virtual string className()
void closeConnections()
void connectRetryTimerExpired()
virtual void dump(ostream& os)
virtual TRIPTransMode getMode()
void handleIncomingConnection(Connection& conn)
void holdTimerExpired()
void initKeepAlive()
virtual void initTRIPResources()
LSPeerSession(u_int16_t itad, u_int16_t pItad, const TRIPId& tripId, const TRIPId& pTripId, const Connection& conn)
LSPeerSession(u_int16_t itad, const TRIPId& tripId, const NetworkAddress& lsAddress)
void makeConnection()
friend ostream& operator<<(ostream& os, const LSPeerSession& lssession)
bool peerExists(u_int16_t itad, const TRIPId& tripId)
Returns true if it matches the given itad and trip ID
bool peerExists(const string& destIp)
Returns true if it matches the given destIp
virtual void releaseTRIPResources()
void restartTimerExpired()
void sendKeepAlive()
void sendNotification(u_int8_t eCode, u_int8_t eSubCode, const string& msg)
virtual void sendUpdate(const TRIPUpdateMsg& uMsg) throw(VNetworkException&)
Sends a update message to peer
void setConnectRetryTimer()
void setHoldTimer()
void setRestartTimer()
void start()
void stopKeepAlive()
virtual ~LSPeerSession()
Destructor

Protected Fields

Connection _connection
Sptr <ConnectRetryAgent> _connectRetryAgent
string _destIp
Sptr <HoldTimeAgent> _holdTimeAgent
Sptr <KeepAliveAgent> _keepAliveAgent
VMutex _mutex
u_int16_t _parentItad
Sptr _peerAddress
u_int16_t _peerParentItad
TRIPId _peerTripId
Sptr <RestartAgent> _restartAgent
mutable Sptr <TRIPState> _state
TRIPId _tripId
friend class TRIPState

Protected Methods

virtual void advertiseRoutes()
Get the routes to be advertise and asend update message to Peer
void connect()
virtual void handleUpdateMessage(Sptr<TRIPMsg> msg)
void processMsg()
static void* run(void* args)
virtual void sendOpen() throw(VNetworkException&)
void setState(TRIPState* newState)

Documentation

Base class LSPeerSession implements the peer-to-peer connection between two LSs and drive the FSM for that connection.It uses TRIPState object to keep track of the connection states.Based on the capabilities any of the derivatives LSSendOnlySession, LSReceiveOnlySession and LSSendReceiveSession objects are created.
LSPeerSession(u_int16_t itad, const TRIPId& tripId, const NetworkAddress& lsAddress)

LSPeerSession(u_int16_t itad, u_int16_t pItad, const TRIPId& tripId, const TRIPId& pTripId, const Connection& conn)

virtual string className()

virtual ~LSPeerSession()
Destructor

friend ostream& operator<<(ostream& os, const LSPeerSession& lssession)

virtual void dump(ostream& os)

virtual TRIPTransMode getMode()

bool peerExists(u_int16_t itad, const TRIPId& tripId)
Returns true if it matches the given itad and trip ID

bool peerExists(const string& destIp)
Returns true if it matches the given destIp

virtual void sendUpdate(const TRIPUpdateMsg& uMsg) throw(VNetworkException&)
Sends a update message to peer

void handleIncomingConnection(Connection& conn)

void sendNotification(u_int8_t eCode, u_int8_t eSubCode, const string& msg)

void sendKeepAlive()

void holdTimerExpired()

void restartTimerExpired()

void connectRetryTimerExpired()

void setConnectRetryTimer()

void cancelConnectRetryTimer()

void setHoldTimer()

void cancelHoldTimer()

void setRestartTimer()

void initKeepAlive()

void stopKeepAlive()

void makeConnection()

void closeConnections()

virtual void initTRIPResources()

virtual void releaseTRIPResources()

void start()

void setState(TRIPState* newState)

virtual void sendOpen() throw(VNetworkException&)

virtual void handleUpdateMessage(Sptr<TRIPMsg> msg)

virtual void advertiseRoutes()
Get the routes to be advertise and asend update message to Peer

void connect()

static void* run(void* args)

void processMsg()

Sptr _peerAddress

Connection _connection

string _destIp

u_int16_t _parentItad

u_int16_t _peerParentItad

TRIPId _tripId

TRIPId _peerTripId

mutable Sptr <TRIPState> _state

Sptr <KeepAliveAgent> _keepAliveAgent

Sptr <HoldTimeAgent> _holdTimeAgent

Sptr <RestartAgent> _restartAgent

Sptr <ConnectRetryAgent> _connectRetryAgent

VMutex _mutex

friend class TRIPState


This class has no child classes.

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de