Base class LSPeerSession implements the peer-to-peer connection between two LSs and drive the FSM for that connection
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, u_int16_t pItad, const TRIPId& tripId, const TRIPId& pTripId, const Connection& conn)
virtual string className()
virtual ~LSPeerSession()
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)
bool peerExists(const string& destIp)
virtual void sendUpdate(const TRIPUpdateMsg& uMsg) throw(VNetworkException&)
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()
void connect()
static void* run(void* args)
void processMsg()
Sptr
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
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de