669289566460a86d16fc81e780bbc8eb6c5a599f
[bgpcep.git] / bgp / rib-impl / src / main / java / org / opendaylight / protocol / bgp / rib / impl / spi / BGPSessionStateListener.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.spi;
10
11 import java.net.SocketAddress;
12 import java.util.List;
13 import java.util.Set;
14 import javax.annotation.Nonnull;
15 import org.opendaylight.protocol.bgp.rib.spi.State;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev171207.open.message.BgpParameters;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev171207.BgpTableType;
18
19
20 /**
21  * BGP Operational Session State Listener
22  */
23 public interface BGPSessionStateListener extends BGPMessagesListener{
24     /**
25      * Advertize Session capabilities
26      *
27      * @param holdTimerValue hold Timer
28      * @param remoteAddress remote Address
29      * @param localAddress local Address
30      * @param tableTypes supported families
31      * @param bgpParameters bgp capabilities
32      */
33     void advertizeCapabilities(final int holdTimerValue, @Nonnull final SocketAddress remoteAddress,
34         @Nonnull final SocketAddress localAddress, @Nonnull final Set<BgpTableType> tableTypes,
35         @Nonnull List<BgpParameters> bgpParameters);
36
37     /**
38      * Fired when session state changes
39      *
40      * @param state session state
41      */
42     void setSessionState(@Nonnull State state);
43 }