5 #ifndef SRC_BFD_BFD_SESSION_H_
6 #define SRC_BFD_BFD_SESSION_H_
13 #include <boost/scoped_ptr.hpp>
14 #include <boost/asio/ip/address.hpp>
117 boost::scoped_ptr<StateMachine>
sm_;
ResultCode ProcessControlPacket(const ControlPacket *packet)
BFDRemoteSessionState remoteSession_
void CallStateChangeCallbacks(const SessionKey &key, const BFD::BFDState &new_state)
boost::asio::ip::udp::endpoint remote_endpoint_
std::map< ClientId, ChangeCb > Callbacks
void UpdateConfig(const SessionConfig &config)
TimeInterval tx_interval()
void RegisterChangeCallback(ClientId client_id, ChangeCb cb)
boost::scoped_ptr< StateMachine > sm_
BFDState local_state() const
BFDState local_state_non_locking() const
void PreparePacket(const SessionConfig &config, ControlPacket *packet)
boost::asio::ip::udp::endpoint local_endpoint_
std::string toString() const
Connection * communicator_
void SendPacket(const ControlPacket *packet)
SessionConfig config() const
void UnregisterChangeCallback(ClientId client_id)
uint16_t GetRandomLocalPort() const
void ScheduleRecvDeadlineTimer()
Discriminator local_discriminator() const
TimeInterval detection_time()
SessionConfig currentConfig_
const SessionKey & key() const
Discriminator localDiscriminator_
SessionConfig nextConfig_
BFDRemoteSessionState remote_state() const
boost::asio::ip::udp::endpoint GetRandomLocalEndPoint() const
boost::function< void(const SessionKey &key, const BFD::BFDState &state)> ChangeCb
boost::posix_time::time_duration TimeInterval
Discriminator discriminator
TimeInterval minTxInterval
int detectionTimeMultiplier
TimeInterval minRxInterval
uint32_t send_timer_expired_count
uint32_t receive_timer_expired_count