xorp

AcceptSession Class Reference

List of all members.

Public Member Functions

 AcceptSession (BGPPeer &peer, XorpFd sock)
void start ()
 Start the FSM.
void no_open_received ()
 Timeout routine that is called if no messages are seen from the peer.
void remove ()
 This FSM has done its job signal to the peer to remove this class.
void send_notification_accept (const NotificationPacket &np)
 Send a notification.
void send_notification_cb (SocketClient::Event ev, const uint8_t *buf)
 Notification callback.
void cease ()
 Send a cease.
void collision ()
 The main FSM is in state OPENCONFIRM so both IDs are available to resolve the collision.
void event_openmess_accept (const OpenPacket &p)
 An open message has just been received on the accept socket decide and keep the winner.
void swap_sockets ()
 Swap the socket in this class with the one in the main FSM.
void swap_sockets (const OpenPacket &p)
 Replace this socket with the one in the main FSM and feed in an open packet.
void notify_peer_of_error_accept (const int error, const int subcode=UNSPECIFIED, const uint8_t *data=0, const size_t len=0)
void event_tranfatal_accept ()
void event_closed_accept ()
 Called if the TCP connection is closed.
void event_keepmess_accept ()
 Called if a keepalive message is seen.
void event_recvupdate_accept (const UpdatePacket &p)
 Called if a update message is seen.
void event_recvnotify_accept (const NotificationPacket &p)
 Called if a notify message is seen.
bool get_message_accept (BGPPacket::Status status, const uint8_t *buf, size_t len, SocketClient *socket_client)
 Handle incoming messages.
bool is_connected ()
bool still_reading ()
void ignore_message ()
bool accept_message () const
string str ()

Private Member Functions

BGPMainmain ()
FSMState state ()
const BGPPeerDatapeerdata () const
bool running_idle_hold_timer () const

Private Attributes

BGPPeer_peer
XorpFd _sock
SocketClient_socket_client
bool _accept_messages
XorpTimer _open_wait

Member Function Documentation

void AcceptSession::no_open_received ( )

Timeout routine that is called if no messages are seen from the peer.

Ideally an open message should be seen from the peer.

void AcceptSession::remove ( )

This FSM has done its job signal to the peer to remove this class.

This should be the last method to be called in any methods.


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations