OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bgp_xmpp_peer_close.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef SRC_BGP_BGP_XMPP_PEER_CLOSE_H_
6 #define SRC_BGP_BGP_XMPP_PEER_CLOSE_H_
7 
8 #include <set>
9 #include <string>
10 
11 #include "bgp/ipeer.h"
12 
13 class BgpPath;
14 class BgpXmppChannel;
15 class PeerCloseManager;
16 
17 class BgpXmppPeerClose : public IPeerClose {
18 public:
19  typedef std::set<Address::Family> Families;
20 
21  explicit BgpXmppPeerClose(BgpXmppChannel *channel);
22  virtual ~BgpXmppPeerClose();
23  virtual bool IsReady() const;
24  virtual IPeer *peer() const;
25  virtual int GetGracefulRestartTime() const;
26  virtual int GetLongLivedGracefulRestartTime() const;
27  virtual void GracefulRestartStale();
28  virtual void LongLivedGracefulRestartStale();
29  virtual void GracefulRestartSweep();
30  virtual bool IsCloseGraceful() const;
31  virtual bool IsCloseLongLivedGraceful() const;
32  virtual void GetGracefulRestartFamilies(Families *families) const;
33  virtual void ReceiveEndOfRIB(Address::Family family);
34  virtual void GetLongLivedGracefulRestartFamilies(Families *families) const;
35  virtual void MembershipRequestCallbackComplete();
36  virtual const char *GetTaskName() const;
37  virtual int GetTaskInstance() const;
38  virtual void CustomClose();
39  virtual void CloseComplete();
40  virtual void Delete();
41  virtual void Close(bool graceful);
42  virtual PeerCloseManager *GetManager() const;
43  virtual void UpdateRouteStats(Address::Family family,
44  const BgpPath *old_path, uint32_t path_flags) const;
45 
46 private:
48 
50 };
51 
52 #endif // SRC_BGP_BGP_XMPP_PEER_CLOSE_H_
virtual void CloseComplete()
virtual const char * GetTaskName() const
Family
Definition: address.h:24
virtual bool IsReady() const
virtual int GetTaskInstance() const
virtual void GracefulRestartSweep()
Definition: ipeer.h:186
virtual bool IsCloseGraceful() const
virtual void CustomClose()
DISALLOW_COPY_AND_ASSIGN(BgpXmppPeerClose)
BgpXmppPeerClose(BgpXmppChannel *channel)
virtual void GetGracefulRestartFamilies(Families *families) const
virtual bool IsCloseLongLivedGraceful() const
BgpXmppChannel * channel_
virtual PeerCloseManager * GetManager() const
virtual void UpdateRouteStats(Address::Family family, const BgpPath *old_path, uint32_t path_flags) const
std::set< Address::Family > Families
virtual void LongLivedGracefulRestartStale()
virtual void Close(bool graceful)
virtual void GracefulRestartStale()
virtual IPeer * peer() const
virtual int GetGracefulRestartTime() const
virtual void MembershipRequestCallbackComplete()
virtual void ReceiveEndOfRIB(Address::Family family)
virtual int GetLongLivedGracefulRestartTime() const
virtual void GetLongLivedGracefulRestartFamilies(Families *families) const