BUG-5032: BGP Operational State
[bgpcep.git] / bgp / rib-impl / src / main / java / org / opendaylight / protocol / bgp / rib / impl / state / BGPSessionStateProvider.java
1 /*
2  * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.protocol.bgp.rib.impl.state;
10
11 import org.opendaylight.protocol.bgp.rib.impl.spi.BGPMessagesListener;
12 import org.opendaylight.protocol.bgp.rib.spi.state.BGPSessionState;
13 import org.opendaylight.protocol.bgp.rib.spi.state.BGPTimersState;
14 import org.opendaylight.protocol.bgp.rib.spi.state.BGPTransportState;
15
16 /**
17  * Serves to expose BGP Session, Timers, Transport, BGPErrorHandlingState Operational State
18  */
19 public interface BGPSessionStateProvider {
20     /**
21      * BGP Operational Session State
22      * @return BGPSessionState
23      */
24     BGPSessionState getBGPSessionState();
25
26     /**
27      * BGP Operational Timers State
28      * @return BGPTimersState
29      */
30     BGPTimersState getBGPTimersState();
31
32     /**
33      * BGP Operational Transport State
34      * @return BGPTransportState
35      */
36     BGPTransportState getBGPTransportState();
37
38     /**
39      * Register BGP Operational Messages State Listener
40      * @param bgpMessagesListener BGPMessagesListener
41      */
42     void registerMessagesCounter(BGPMessagesListener bgpMessagesListener);
43 }