import io.netty.channel.ChannelInboundHandler;
import java.util.List;
import java.util.Set;
+import javax.annotation.Nonnull;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev171207.BgpTableType;
/**
* BGP Session represents the finite state machine in BGP, including timers and its purpose is to create a BGP
- * connection between BGP speakers. Session is automatically started, when TCP connection is created, but can be stopped
- * manually via close method of the {@link java.io.Closeable} interface.
- *
+ * connection between BGP speakers. Session is automatically started, when TCP connection is created,
+ * but can be stopped manually via close method of the {@link java.io.Closeable} interface.
* If the session is up, it has to redirect messages to/from user. Handles also malformed messages and unknown requests.
*/
public interface BGPSession extends AutoCloseable, ChannelInboundHandler {
*
* @return Set of tables which it supports.
*/
+ @Nonnull
Set<BgpTableType> getAdvertisedTableTypes();
/**
*
* @return Peer's BGP Router ID.
*/
+ @Nonnull
Ipv4Address getBgpId();
/**
*
* @return Peer's AS Number
*/
+ @Nonnull
AsNumber getAsNumber();
+
/**
* Return a list with Add Path tables supported advertised and corresponding SendReceive mode.
*
* @return AddPathTables supported
*/
+ @Nonnull
List<AddressFamilies> getAdvertisedAddPathTableTypes();
/**
*
* @return Set of tables which it supports.
*/
+ @Nonnull
List<BgpTableType> getAdvertisedGracefulRestartTableTypes();
}