import io.netty.util.concurrent.Future;
import java.net.InetAddress;
-import org.opendaylight.protocol.framework.ProtocolSession;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.stats.rev141006.PcepSessionState;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Message;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.open.Tlvs;
+import javax.annotation.Nonnull;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.Message;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.open.object.open.Tlvs;
/**
* PCEP Session represents the finite state machine in PCEP, including timers and its purpose is to create a PCEP
* manually. If the session is up, it has to redirect messages to/from user. Handles also malformed messages and unknown
* requests.
*/
-public interface PCEPSession extends ProtocolSession<Message>, PcepSessionState {
+public interface PCEPSession extends PCEPSessionState, AutoCloseable {
/**
* Sends message from user to PCE/PCC. If the user sends an Open Message, the session returns an error (open message
void close(TerminationReason reason);
+ /**
+ * Returns session characteristics of the remote PCEP Speaker.
+ *
+ * @return Open message TLVs
+ */
Tlvs getRemoteTlvs();
+ /**
+ * Returns remote address.
+ *
+ * @return inet address
+ */
+ @Nonnull
InetAddress getRemoteAddress();
- void resetStats();
+ /**
+ * Returns session characteristics of the local PCEP Speaker.
+ *
+ * @return Open message TLVs
+ */
+ Tlvs getLocalTlvs();
+
+ /**
+ * Returns session characteristics of the local PCEP Speaker.
+ *
+ * @return Open message TLVs
+ */
+ @Deprecated
+ default Tlvs localSessionCharacteristics() {
+ return getLocalTlvs();
+ }
}