Register PCEP session to stats handler only after it is fully initialized
[bgpcep.git] / pcep / spi / src / main / java / org / opendaylight / protocol / pcep / spi / PCEPExtensionProviderContext.java
index 9dfeb1842127f7eb3d7ae39ffe2477151ce6d190..51f5248cbfd4a87c66c7d8978be5cdecc1b04e42 100644 (file)
@@ -8,45 +8,54 @@
 package org.opendaylight.protocol.pcep.spi;
 
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.iana.rev130816.EnterpriseNumber;
-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.Object;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Tlv;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.vendor.information.EnterpriseSpecificInformation;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.basic.explicit.route.subobjects.SubobjectType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.LabelType;
+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.Object;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.Tlv;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.vendor.information.EnterpriseSpecificInformation;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.SubobjectType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.LabelType;
+import org.opendaylight.yangtools.concepts.Registration;
 
 public interface PCEPExtensionProviderContext extends PCEPExtensionConsumerContext {
-    AutoCloseable registerLabelSerializer(Class<? extends LabelType> labelClass, LabelSerializer serializer);
+    Registration registerLabelSerializer(Class<? extends LabelType> labelClass, LabelSerializer serializer);
 
-    AutoCloseable registerLabelParser(int cType, LabelParser parser);
+    Registration registerLabelParser(int ctype, LabelParser parser);
 
-    AutoCloseable registerEROSubobjectParser(int subobjectType, EROSubobjectParser parser);
+    Registration registerEROSubobjectParser(int subobjectType, EROSubobjectParser parser);
 
-    AutoCloseable registerEROSubobjectSerializer(Class<? extends SubobjectType> subobjectClass, EROSubobjectSerializer serializer);
+    Registration registerEROSubobjectSerializer(Class<? extends SubobjectType> subobjectClass,
+            EROSubobjectSerializer serializer);
 
-    AutoCloseable registerMessageParser(int messageType, MessageParser parser);
+    Registration registerMessageParser(int messageType, MessageParser parser);
 
-    AutoCloseable registerMessageSerializer(Class<? extends Message> msgClass, MessageSerializer serializer);
+    Registration registerMessageSerializer(Class<? extends Message> msgClass, MessageSerializer serializer);
 
-    AutoCloseable registerObjectParser(int objectClass, int objectType, ObjectParser parser);
+    Registration registerObjectParser(ObjectParser parser);
 
-    AutoCloseable registerObjectSerializer(Class<? extends Object> objClass, ObjectSerializer serializer);
+    Registration registerObjectSerializer(Class<? extends Object> objClass, ObjectSerializer serializer);
 
-    AutoCloseable registerRROSubobjectParser(int subobjectType, RROSubobjectParser parser);
+    Registration registerRROSubobjectParser(int subobjectType, RROSubobjectParser parser);
 
-    AutoCloseable registerRROSubobjectSerializer(
-            Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.record.route.subobjects.SubobjectType> subobjectClass,
+    Registration registerRROSubobjectSerializer(Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params
+            .xml.ns.yang.rsvp.rev150820.record.route.subobjects.SubobjectType> subobjectClass,
             RROSubobjectSerializer serializer);
 
-    AutoCloseable registerTlvSerializer(Class<? extends Tlv> tlvClass, TlvSerializer serializer);
+    Registration registerTlvSerializer(Class<? extends Tlv> tlvClass, TlvSerializer serializer);
 
-    AutoCloseable registerTlvParser(int tlvType, TlvParser parser);
+    Registration registerTlvParser(int tlvType, TlvParser parser);
 
-    AutoCloseable registerVendorInformationTlvSerializer(Class<? extends EnterpriseSpecificInformation> esInformationClass, TlvSerializer serializer);
+    Registration registerVendorInformationTlvSerializer(
+            Class<? extends EnterpriseSpecificInformation> esInformationClass, TlvSerializer serializer);
 
-    AutoCloseable registerVendorInformationTlvParser(EnterpriseNumber enterpriseNumber, TlvParser parser);
+    Registration registerVendorInformationTlvParser(EnterpriseNumber enterpriseNumber, TlvParser parser);
 
-    AutoCloseable registerXROSubobjectSerializer(Class<? extends SubobjectType> subobjectClass, XROSubobjectSerializer serializer);
+    Registration registerXROSubobjectSerializer(Class<? extends SubobjectType> subobjectClass,
+            XROSubobjectSerializer serializer);
 
-    AutoCloseable registerXROSubobjectParser(int subobjectType, XROSubobjectParser parser);
+    Registration registerXROSubobjectParser(int subobjectType, XROSubobjectParser parser);
+
+    Registration registerVendorInformationObjectSerializer(
+            Class<? extends EnterpriseSpecificInformation> esInformationClass, ObjectSerializer serializer);
+
+    Registration registerVendorInformationObjectParser(EnterpriseNumber enterpriseNumber, ObjectParser parser);
 }