[RICPLT-1739] Add Unit Tests for Load Information 25/725/1
authoris005q <idan.shalom@intl.att.com>
Thu, 15 Aug 2019 13:07:00 +0000 (16:07 +0300)
committeris005q <idan.shalom@intl.att.com>
Thu, 15 Aug 2019 13:07:14 +0000 (16:07 +0300)
Change-Id: I698c945ed869cb9f6dc5168295117783bfe4b4bd
Signed-off-by: is005q <idan.shalom@intl.att.com>
29 files changed:
.gitignore
E2Manager/asn1codec/Makefile
E2Manager/asn1codec/src/tests/load_information_xer_files/xer_base.xml [new file with mode: 0644]
E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc001.xml [new file with mode: 0644]
E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc002.xml [new file with mode: 0644]
E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc003.xml [new file with mode: 0644]
E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc004.xml [new file with mode: 0644]
E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc005.xml [new file with mode: 0644]
E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc006.xml [new file with mode: 0644]
E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc007.xml [new file with mode: 0644]
E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc008.xml [new file with mode: 0644]
E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc009.xml [new file with mode: 0644]
E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc010.xml [new file with mode: 0644]
E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc011.xml [new file with mode: 0644]
E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc012.xml [new file with mode: 0644]
E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc013.xml [new file with mode: 0644]
E2Manager/asn1codec/src/tests/unpack_xer.c [new file with mode: 0644]
E2Manager/cp.out
E2Manager/handlers/enb_load_information_notification_handler.go [new file with mode: 0644]
E2Manager/handlers/enb_load_information_notification_handler_test.go [new file with mode: 0644]
E2Manager/handlers/enb_load_information_to_protobuf.go
E2Manager/handlers/enb_load_information_to_protobuf_test.go [new file with mode: 0644]
E2Manager/handlers/ric_enb_load_information_notification_handler.go [deleted file]
E2Manager/handlers/x2apPdu_asn1_unpacker.go
E2Manager/managers/notification_manager.go
E2Manager/mocks/rnibReaderMock.go
E2Manager/models/notification_request.go
E2Manager/providers/notification_handler_provider.go
E2Manager/providers/notification_handler_provider_test.go

index 65ab8c6..6b78c35 100644 (file)
@@ -10,4 +10,4 @@
 *.a
 E2Manager/asn1codec/e2ap_engine/converter-example
 E2Manager/asn1codec/tests/
-
+E2Manager/cp.out
index 59c304b..97596ce 100644 (file)
@@ -24,12 +24,11 @@ LIBOBJ=$(addprefix $(OBJDIR)/,$(LIBSRC:.c=.o))
 TESTX2SETUPREQUEST=tests/x2setup_request_wrapper_test
 TESTCONFUPDATE=tests/configuration_update_wrapper_test
 TESTX2RESETREQUEST=tests/x2reset_request_wrapper_test
-
+TESTUNPACKXER=tests/unpack_xer
 
 .PHONY: all clean e2ap_engine
 
-all: $(LIB) $(TESTX2SETUPREQUEST) $(TESTCONFUPDATE)  $(TESTX2RESETREQUEST)
-
+all: $(LIB) $(TESTX2SETUPREQUEST) $(TESTCONFUPDATE)  $(TESTX2RESETREQUEST) $(TESTUNPACKXER)
 
 e2ap_engine/libasncodec.a:
        cd e2ap_engine/ && make -f converter-example.mk
@@ -49,11 +48,13 @@ $(TESTCONFUPDATE): % : $(LIB) src/%.c
        mkdir -p $(dir $@)
        $(CC) $(CFLAGS) src/$@.c -o $@ $(LIB)  e2ap_engine/libasncodec.a
 
-$(TESTX2RESETREQUEST): % : $(LIB) src/%.c 
+$(TESTX2RESETREQUEST): % : $(LIB) src/%.c
        mkdir -p $(dir $@)
        $(CC) $(CFLAGS) src/$@.c -o $@ $(LIB)  e2ap_engine/libasncodec.a
 
-
+$(TESTUNPACKXER): % : $(LIB) src/%.c
+       mkdir -p $(dir $@)
+       $(CC) $(CFLAGS) src/$@.c -o $@ $(LIB)  e2ap_engine/libasncodec.a
 
 clean:
        rm -rf $(OBJDIR) tests 
diff --git a/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_base.xml b/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_base.xml
new file mode 100644 (file)
index 0000000..0445498
--- /dev/null
@@ -0,0 +1,34 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>2</procedureCode>
+        <criticality><ignore/></criticality>
+        <value>
+            <LoadInformation>
+                <protocolIEs>
+                    <LoadInformation-IEs>
+                        <id>6</id>
+                        <criticality><ignore/></criticality>
+                        <value>
+                            <CellInformation-List>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                            </CellInformation-List>
+                        </value>
+                    </LoadInformation-IEs>
+                </protocolIEs>
+            </LoadInformation>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc001.xml b/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc001.xml
new file mode 100644 (file)
index 0000000..8bff01e
--- /dev/null
@@ -0,0 +1,37 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>2</procedureCode>
+        <criticality><ignore/></criticality>
+        <value>
+            <LoadInformation>
+                <protocolIEs>
+                    <LoadInformation-IEs>
+                        <id>6</id>
+                        <criticality><ignore/></criticality>
+                        <value>
+                            <CellInformation-List>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                       <ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/>
+                                       </ul-InterferenceOverloadIndication>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                            </CellInformation-List>
+                        </value>
+                    </LoadInformation-IEs>
+                </protocolIEs>
+            </LoadInformation>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc002.xml b/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc002.xml
new file mode 100644 (file)
index 0000000..6d9672b
--- /dev/null
@@ -0,0 +1,50 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>2</procedureCode>
+        <criticality><ignore/></criticality>
+        <value>
+            <LoadInformation>
+                <protocolIEs>
+                    <LoadInformation-IEs>
+                        <id>6</id>
+                        <criticality><ignore/></criticality>
+                        <value>
+                            <CellInformation-List>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                       <ul-InterferenceOverloadIndication>
+                                               <high-interference/>
+                                       </ul-InterferenceOverloadIndication>
+                                       <ul-HighInterferenceIndicationInfo>
+                                               <UL-HighInterferenceIndicationInfo-Item>
+                                       <target-Cell-ID>
+                                                <pLMN-Identity>02 F8 30</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                       </target-Cell-ID>
+                                       <ul-interferenceindication>
+                                               1010101010101010
+                                       </ul-interferenceindication>
+                               </UL-HighInterferenceIndicationInfo-Item>
+                                       </ul-HighInterferenceIndicationInfo>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                            </CellInformation-List>
+                        </value>
+                    </LoadInformation-IEs>
+                </protocolIEs>
+            </LoadInformation>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc003.xml b/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc003.xml
new file mode 100644 (file)
index 0000000..5b8aacc
--- /dev/null
@@ -0,0 +1,50 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>2</procedureCode>
+        <criticality><ignore/></criticality>
+        <value>
+            <LoadInformation>
+                <protocolIEs>
+                    <LoadInformation-IEs>
+                        <id>6</id>
+                        <criticality><ignore/></criticality>
+                        <value>
+                            <CellInformation-List>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                       <ul-InterferenceOverloadIndication>
+                                                <low-interference/>
+                                       </ul-InterferenceOverloadIndication>
+                                       <relativeNarrowbandTxPower>
+                                               <rNTP-PerPRB>
+                                                       11001100
+                                               </rNTP-PerPRB>
+                                               <rNTP-Threshold>
+                                                       <minusSix/>
+                                               </rNTP-Threshold>
+                                               <numberOfCellSpecificAntennaPorts>
+                                                       <two/>
+                                               </numberOfCellSpecificAntennaPorts>
+                                               <p-B>2 </p-B>
+                                               <pDCCH-InterferenceImpact>1</pDCCH-InterferenceImpact>
+                                       </relativeNarrowbandTxPower>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                            </CellInformation-List>
+                        </value>
+                    </LoadInformation-IEs>
+                </protocolIEs>
+            </LoadInformation>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc004.xml b/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc004.xml
new file mode 100644 (file)
index 0000000..abb66c0
--- /dev/null
@@ -0,0 +1,85 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>2</procedureCode>
+        <criticality><ignore/></criticality>
+        <value>
+            <LoadInformation>
+                <protocolIEs>
+                    <LoadInformation-IEs>
+                        <id>6</id>
+                        <criticality><ignore/></criticality>
+                        <value>
+                            <CellInformation-List>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                       <ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                       </ul-InterferenceOverloadIndication>
+                                               <ul-HighInterferenceIndicationInfo>
+                                                <UL-HighInterferenceIndicationInfo-Item>
+                                        <target-Cell-ID>
+                                                <pLMN-Identity>02 F8 30</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                        </target-Cell-ID>
+                                        <ul-interferenceindication>
+                                                1010101010101010
+                                        </ul-interferenceindication>
+                                </UL-HighInterferenceIndicationInfo-Item>
+
+                                               </ul-HighInterferenceIndicationInfo>
+                                       <relativeNarrowbandTxPower>
+                                               <rNTP-PerPRB>
+                                                       11001100
+                                               </rNTP-PerPRB>
+                                               <rNTP-Threshold>
+                                                       <minusSix/>
+                                               </rNTP-Threshold>
+                                               <numberOfCellSpecificAntennaPorts>
+                                                       <two/>
+                                               </numberOfCellSpecificAntennaPorts>
+                                               <p-B>2 </p-B>
+                                               <pDCCH-InterferenceImpact>1</pDCCH-InterferenceImpact>
+                                       </relativeNarrowbandTxPower>
+                                       <iE-Extensions>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>61</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ABSInformation>
+                                                               <fdd>
+                                                               <abs-pattern-info>
+                                                                       0000011111000001111100000111110000011111
+                                                               </abs-pattern-info>
+                                                               <numberOfCellSpecificAntennaPorts>
+                                                                       <one/>
+                                                               </numberOfCellSpecificAntennaPorts>
+                                                               <measurement-subset>
+                                                                       1000001111100000111110000011110000001111
+                                                               </measurement-subset>
+                                                       </fdd>
+                                                       </ABSInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                       </iE-Extensions>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                            </CellInformation-List>
+                        </value>
+                    </LoadInformation-IEs>
+                </protocolIEs>
+            </LoadInformation>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc005.xml b/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc005.xml
new file mode 100644 (file)
index 0000000..c3bafeb
--- /dev/null
@@ -0,0 +1,94 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>2</procedureCode>
+        <criticality><ignore/></criticality>
+        <value>
+            <LoadInformation>
+                <protocolIEs>
+                    <LoadInformation-IEs>
+                        <id>6</id>
+                        <criticality><ignore/></criticality>
+                        <value>
+                            <CellInformation-List>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                       <ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                       </ul-InterferenceOverloadIndication>
+                                               <ul-HighInterferenceIndicationInfo>
+                                                <UL-HighInterferenceIndicationInfo-Item>
+                                        <target-Cell-ID>
+                                                <pLMN-Identity>02 F8 30</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                        </target-Cell-ID>
+                                        <ul-interferenceindication>
+                                                1010101010101010
+                                        </ul-interferenceindication>
+                                </UL-HighInterferenceIndicationInfo-Item>
+
+                                               </ul-HighInterferenceIndicationInfo>
+                                       <relativeNarrowbandTxPower>
+                                               <rNTP-PerPRB>
+                                                       11001100
+                                               </rNTP-PerPRB>
+                                               <rNTP-Threshold>
+                                                       <minusSix/>
+                                               </rNTP-Threshold>
+                                               <numberOfCellSpecificAntennaPorts>
+                                                       <two/>
+                                               </numberOfCellSpecificAntennaPorts>
+                                               <p-B>2 </p-B>
+                                               <pDCCH-InterferenceImpact>1</pDCCH-InterferenceImpact>
+                                       </relativeNarrowbandTxPower>
+                                       <iE-Extensions>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>61</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ABSInformation>
+                                                               <fdd>
+                                                               <abs-pattern-info>
+                                                                       0000011111000001111100000111110000011111
+                                                               </abs-pattern-info>
+                                                               <numberOfCellSpecificAntennaPorts>
+                                                                       <one/>
+                                                               </numberOfCellSpecificAntennaPorts>
+                                                               <measurement-subset>
+                                                                       1000001111100000111110000011110000001111
+                                                               </measurement-subset>
+                                                       </fdd>
+                                                       </ABSInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>62</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <InvokeIndication>
+                                                               <abs-information/>
+                                                       </InvokeIndication>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                       </iE-Extensions>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                            </CellInformation-List>
+                        </value>
+                    </LoadInformation-IEs>
+                </protocolIEs>
+            </LoadInformation>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc006.xml b/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc006.xml
new file mode 100644 (file)
index 0000000..9bf926a
--- /dev/null
@@ -0,0 +1,103 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>2</procedureCode>
+        <criticality><ignore/></criticality>
+        <value>
+            <LoadInformation>
+                <protocolIEs>
+                    <LoadInformation-IEs>
+                        <id>6</id>
+                        <criticality><ignore/></criticality>
+                        <value>
+                            <CellInformation-List>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                       <ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                       </ul-InterferenceOverloadIndication>
+                                               <ul-HighInterferenceIndicationInfo>
+                                                <UL-HighInterferenceIndicationInfo-Item>
+                                        <target-Cell-ID>
+                                                <pLMN-Identity>02 F8 30</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                        </target-Cell-ID>
+                                        <ul-interferenceindication>
+                                                1010101010101010
+                                        </ul-interferenceindication>
+                                </UL-HighInterferenceIndicationInfo-Item>
+
+                                               </ul-HighInterferenceIndicationInfo>
+                                       <relativeNarrowbandTxPower>
+                                               <rNTP-PerPRB>
+                                                       11001100
+                                               </rNTP-PerPRB>
+                                               <rNTP-Threshold>
+                                                       <minusSix/>
+                                               </rNTP-Threshold>
+                                               <numberOfCellSpecificAntennaPorts>
+                                                       <two/>
+                                               </numberOfCellSpecificAntennaPorts>
+                                               <p-B>2 </p-B>
+                                               <pDCCH-InterferenceImpact>1</pDCCH-InterferenceImpact>
+                                       </relativeNarrowbandTxPower>
+                                       <iE-Extensions>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>61</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ABSInformation>
+                                                               <fdd>
+                                                               <abs-pattern-info>
+                                                                       0000011111000001111100000111110000011111
+                                                               </abs-pattern-info>
+                                                               <numberOfCellSpecificAntennaPorts>
+                                                                       <one/>
+                                                               </numberOfCellSpecificAntennaPorts>
+                                                               <measurement-subset>
+                                                                       1000001111100000111110000011110000001111
+                                                               </measurement-subset>
+                                                       </fdd>
+                                                       </ABSInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>62</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <InvokeIndication>
+                                                               <abs-information/>
+                                                       </InvokeIndication>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>99</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <SubframeAssignment>
+                                                               <sa6/>
+                                                       </SubframeAssignment>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                       </iE-Extensions>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                            </CellInformation-List>
+                        </value>
+                    </LoadInformation-IEs>
+                </protocolIEs>
+            </LoadInformation>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc007.xml b/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc007.xml
new file mode 100644 (file)
index 0000000..331ba0d
--- /dev/null
@@ -0,0 +1,117 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>2</procedureCode>
+        <criticality><ignore/></criticality>
+        <value>
+            <LoadInformation>
+                <protocolIEs>
+                    <LoadInformation-IEs>
+                        <id>6</id>
+                        <criticality><ignore/></criticality>
+                        <value>
+                            <CellInformation-List>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                       <ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                       </ul-InterferenceOverloadIndication>
+                                               <ul-HighInterferenceIndicationInfo>
+                                                <UL-HighInterferenceIndicationInfo-Item>
+                                        <target-Cell-ID>
+                                                <pLMN-Identity>02 F8 30</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                        </target-Cell-ID>
+                                        <ul-interferenceindication>
+                                                1010101010101010
+                                        </ul-interferenceindication>
+                                </UL-HighInterferenceIndicationInfo-Item>
+
+                                               </ul-HighInterferenceIndicationInfo>
+                                       <relativeNarrowbandTxPower>
+                                               <rNTP-PerPRB>
+                                                       11001100
+                                               </rNTP-PerPRB>
+                                               <rNTP-Threshold>
+                                                       <minusSix/>
+                                               </rNTP-Threshold>
+                                               <numberOfCellSpecificAntennaPorts>
+                                                       <two/>
+                                               </numberOfCellSpecificAntennaPorts>
+                                               <p-B>2 </p-B>
+                                               <pDCCH-InterferenceImpact>1</pDCCH-InterferenceImpact>
+                                       </relativeNarrowbandTxPower>
+                                       <iE-Extensions>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>61</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ABSInformation>
+                                                               <fdd>
+                                                               <abs-pattern-info>
+                                                                       0000011111000001111100000111110000011111
+                                                               </abs-pattern-info>
+                                                               <numberOfCellSpecificAntennaPorts>
+                                                                       <one/>
+                                                               </numberOfCellSpecificAntennaPorts>
+                                                               <measurement-subset>
+                                                                       1000001111100000111110000011110000001111
+                                                               </measurement-subset>
+                                                       </fdd>
+                                                       </ABSInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>62</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <InvokeIndication>
+                                                               <abs-information/>
+                                                       </InvokeIndication>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>99</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <SubframeAssignment>
+                                                               <sa6/>
+                                                       </SubframeAssignment>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>100</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ExtendedULInterferenceOverloadInfo>
+                                                               <associatedSubframes>
+                                                                       11001
+                                                               </associatedSubframes>
+                                                               <extended-ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                                               </extended-ul-InterferenceOverloadIndication>
+                                                       </ExtendedULInterferenceOverloadInfo>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                       </iE-Extensions>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                            </CellInformation-List>
+                        </value>
+                    </LoadInformation-IEs>
+                </protocolIEs>
+            </LoadInformation>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc008.xml b/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc008.xml
new file mode 100644 (file)
index 0000000..da099a4
--- /dev/null
@@ -0,0 +1,173 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>2</procedureCode>
+        <criticality><ignore/></criticality>
+        <value>
+            <LoadInformation>
+                <protocolIEs>
+                    <LoadInformation-IEs>
+                        <id>6</id>
+                        <criticality><ignore/></criticality>
+                        <value>
+                            <CellInformation-List>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                       <ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                       </ul-InterferenceOverloadIndication>
+                                               <ul-HighInterferenceIndicationInfo>
+                                                <UL-HighInterferenceIndicationInfo-Item>
+                                        <target-Cell-ID>
+                                                <pLMN-Identity>02 F8 30</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                        </target-Cell-ID>
+                                        <ul-interferenceindication>
+                                                1010101010101010
+                                        </ul-interferenceindication>
+                                </UL-HighInterferenceIndicationInfo-Item>
+
+                                               </ul-HighInterferenceIndicationInfo>
+                                       <relativeNarrowbandTxPower>
+                                               <rNTP-PerPRB>
+                                                       11001100
+                                               </rNTP-PerPRB>
+                                               <rNTP-Threshold>
+                                                       <minusSix/>
+                                               </rNTP-Threshold>
+                                               <numberOfCellSpecificAntennaPorts>
+                                                       <two/>
+                                               </numberOfCellSpecificAntennaPorts>
+                                               <p-B>2 </p-B>
+                                               <pDCCH-InterferenceImpact>1</pDCCH-InterferenceImpact>
+                                       </relativeNarrowbandTxPower>
+                                       <iE-Extensions>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>61</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ABSInformation>
+                                                               <fdd>
+                                                               <abs-pattern-info>
+                                                                       0000011111000001111100000111110000011111
+                                                               </abs-pattern-info>
+                                                               <numberOfCellSpecificAntennaPorts>
+                                                                       <one/>
+                                                               </numberOfCellSpecificAntennaPorts>
+                                                               <measurement-subset>
+                                                                       1000001111100000111110000011110000001111
+                                                               </measurement-subset>
+                                                       </fdd>
+                                                       </ABSInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>62</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <InvokeIndication>
+                                                               <abs-information/>
+                                                       </InvokeIndication>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>99</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <SubframeAssignment>
+                                                               <sa6/>
+                                                       </SubframeAssignment>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>100</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ExtendedULInterferenceOverloadInfo>
+                                                               <associatedSubframes>
+                                                                       11001
+                                                               </associatedSubframes>
+                                                               <extended-ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                                               </extended-ul-InterferenceOverloadIndication>
+                                                       </ExtendedULInterferenceOverloadInfo>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>108</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <CoMPInformation>
+                                                               <coMPInformationItem>
+                                                                       <SEQUENCE>
+                                                                       <coMPHypothesisSet>
+                                                                               <CoMPHypothesisSetItem>
+                                                                                       <coMPCellID>
+                                                                                               <pLMN-Identity>02 F8 31</pLMN-Identity>
+                                                                                               <eUTRANcellIdentifier>
+                                                                                                       0000000000000111101010110101
+                                                                                               </eUTRANcellIdentifier>
+                                                                                       </coMPCellID>
+                                                                                       <coMPHypothesis>
+                                                                                               1110000000000111101010110101
+                                                                                       </coMPHypothesis>
+                                                                               </CoMPHypothesisSetItem>        
+                                                                       </coMPHypothesisSet>
+                                                                       <benefitMetric>
+                                                                               -99
+                                                                       </benefitMetric>
+                                                               </SEQUENCE>
+                                                                       <SEQUENCE>
+                                                                       <coMPHypothesisSet>
+                                                                               <CoMPHypothesisSetItem>
+                                                                                       <coMPCellID>
+                                                                                               <pLMN-Identity>02 F8 32</pLMN-Identity>
+                                                                                               <eUTRANcellIdentifier>
+                                                                                                       0000000001100111101010110101
+                                                                                               </eUTRANcellIdentifier>
+                                                                                       </coMPCellID>
+                                                                                       <coMPHypothesis>
+                                                                                               1110001100000111101010110101
+                                                                                       </coMPHypothesis>
+                                                                               </CoMPHypothesisSetItem>        
+                                                                       </coMPHypothesisSet>
+                                                                       <benefitMetric>
+                                                                               30
+                                                                       </benefitMetric>
+                                                               </SEQUENCE>
+                                                               </coMPInformationItem>
+                                                               <coMPInformationStartTime>
+                                                                       <SEQUENCE>
+                                                                       <startSFN>
+                                                                               50
+                                                                       </startSFN>
+                                                                       <startSubframeNumber>
+                                                                               3
+                                                                       </startSubframeNumber>
+                                                               </SEQUENCE>
+                                                               </coMPInformationStartTime>
+                                                       </CoMPInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                       </iE-Extensions>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                            </CellInformation-List>
+                        </value>
+                    </LoadInformation-IEs>
+                </protocolIEs>
+            </LoadInformation>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc009.xml b/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc009.xml
new file mode 100644 (file)
index 0000000..72ce0d0
--- /dev/null
@@ -0,0 +1,136 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>2</procedureCode>
+        <criticality><ignore/></criticality>
+        <value>
+            <LoadInformation>
+                <protocolIEs>
+                    <LoadInformation-IEs>
+                        <id>6</id>
+                        <criticality><ignore/></criticality>
+                        <value>
+                            <CellInformation-List>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                       <ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                       </ul-InterferenceOverloadIndication>
+                                               <ul-HighInterferenceIndicationInfo>
+                                                <UL-HighInterferenceIndicationInfo-Item>
+                                        <target-Cell-ID>
+                                                <pLMN-Identity>02 F8 30</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                        </target-Cell-ID>
+                                        <ul-interferenceindication>
+                                                1010101010101010
+                                        </ul-interferenceindication>
+                                </UL-HighInterferenceIndicationInfo-Item>
+
+                                               </ul-HighInterferenceIndicationInfo>
+                                       <relativeNarrowbandTxPower>
+                                               <rNTP-PerPRB>
+                                                       11001100
+                                               </rNTP-PerPRB>
+                                               <rNTP-Threshold>
+                                                       <minusSix/>
+                                               </rNTP-Threshold>
+                                               <numberOfCellSpecificAntennaPorts>
+                                                       <two/>
+                                               </numberOfCellSpecificAntennaPorts>
+                                               <p-B>2 </p-B>
+                                               <pDCCH-InterferenceImpact>1</pDCCH-InterferenceImpact>
+                                       </relativeNarrowbandTxPower>
+                                       <iE-Extensions>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>61</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ABSInformation>
+                                                               <fdd>
+                                                               <abs-pattern-info>
+                                                                       0000011111000001111100000111110000011111
+                                                               </abs-pattern-info>
+                                                               <numberOfCellSpecificAntennaPorts>
+                                                                       <one/>
+                                                               </numberOfCellSpecificAntennaPorts>
+                                                               <measurement-subset>
+                                                                       1000001111100000111110000011110000001111
+                                                               </measurement-subset>
+                                                       </fdd>
+                                                       </ABSInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>62</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <InvokeIndication>
+                                                               <abs-information/>
+                                                       </InvokeIndication>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>99</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <SubframeAssignment>
+                                                               <sa6/>
+                                                       </SubframeAssignment>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>100</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ExtendedULInterferenceOverloadInfo>
+                                                               <associatedSubframes>
+                                                                       11001
+                                                               </associatedSubframes>
+                                                               <extended-ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                                               </extended-ul-InterferenceOverloadIndication>
+                                                       </ExtendedULInterferenceOverloadInfo>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>106</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <DynamicDLTransmissionInformation>
+                                                               <naics-active>
+                                                               <transmissionModes>
+                                                                       11001101
+                                                               </transmissionModes>
+                                                               <pB-information>
+                                                                       0
+                                                               </pB-information>
+                                                               <pA-list>
+                                                                       <dB-1dot77/><dB-3/>
+                                                               </pA-list>
+                                                       </naics-active>
+                                                       </DynamicDLTransmissionInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                       </iE-Extensions>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                            </CellInformation-List>
+                        </value>
+                    </LoadInformation-IEs>
+                </protocolIEs>
+            </LoadInformation>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc010.xml b/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc010.xml
new file mode 100644 (file)
index 0000000..38135e3
--- /dev/null
@@ -0,0 +1,192 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>2</procedureCode>
+        <criticality><ignore/></criticality>
+        <value>
+            <LoadInformation>
+                <protocolIEs>
+                    <LoadInformation-IEs>
+                        <id>6</id>
+                        <criticality><ignore/></criticality>
+                        <value>
+                            <CellInformation-List>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                       <ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                       </ul-InterferenceOverloadIndication>
+                                               <ul-HighInterferenceIndicationInfo>
+                                                <UL-HighInterferenceIndicationInfo-Item>
+                                        <target-Cell-ID>
+                                                <pLMN-Identity>02 F8 30</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                        </target-Cell-ID>
+                                        <ul-interferenceindication>
+                                                1010101010101010
+                                        </ul-interferenceindication>
+                                </UL-HighInterferenceIndicationInfo-Item>
+
+                                               </ul-HighInterferenceIndicationInfo>
+                                       <relativeNarrowbandTxPower>
+                                               <rNTP-PerPRB>
+                                                       11001100
+                                               </rNTP-PerPRB>
+                                               <rNTP-Threshold>
+                                                       <minusSix/>
+                                               </rNTP-Threshold>
+                                               <numberOfCellSpecificAntennaPorts>
+                                                       <two/>
+                                               </numberOfCellSpecificAntennaPorts>
+                                               <p-B>2 </p-B>
+                                               <pDCCH-InterferenceImpact>1</pDCCH-InterferenceImpact>
+                                       </relativeNarrowbandTxPower>
+                                       <iE-Extensions>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>61</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ABSInformation>
+                                                               <fdd>
+                                                               <abs-pattern-info>
+                                                                       0000011111000001111100000111110000011111
+                                                               </abs-pattern-info>
+                                                               <numberOfCellSpecificAntennaPorts>
+                                                                       <one/>
+                                                               </numberOfCellSpecificAntennaPorts>
+                                                               <measurement-subset>
+                                                                       1000001111100000111110000011110000001111
+                                                               </measurement-subset>
+                                                       </fdd>
+                                                       </ABSInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>62</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <InvokeIndication>
+                                                               <abs-information/>
+                                                       </InvokeIndication>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>99</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <SubframeAssignment>
+                                                               <sa6/>
+                                                       </SubframeAssignment>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>100</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ExtendedULInterferenceOverloadInfo>
+                                                               <associatedSubframes>
+                                                                       11001
+                                                               </associatedSubframes>
+                                                               <extended-ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                                               </extended-ul-InterferenceOverloadIndication>
+                                                       </ExtendedULInterferenceOverloadInfo>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>106</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <DynamicDLTransmissionInformation>
+                                                               <naics-active>
+                                                               <transmissionModes>
+                                                                       11001101
+                                                               </transmissionModes>
+                                                               <pB-information>
+                                                                       0
+                                                               </pB-information>
+                                                               <pA-list>
+                                                                       <dB-1dot77/><dB-3/>
+                                                               </pA-list>
+                                                       </naics-active>
+                                                       </DynamicDLTransmissionInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>108</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <CoMPInformation>
+                                                               <coMPInformationItem>
+                                                                       <SEQUENCE>
+                                                                       <coMPHypothesisSet>
+                                                                               <CoMPHypothesisSetItem>
+                                                                                       <coMPCellID>
+                                                                                               <pLMN-Identity>02 F8 31</pLMN-Identity>
+                                                                                               <eUTRANcellIdentifier>
+                                                                                                       0000000000000111101010110101
+                                                                                               </eUTRANcellIdentifier>
+                                                                                       </coMPCellID>
+                                                                                       <coMPHypothesis>
+                                                                                               1110000000000111101010110101
+                                                                                       </coMPHypothesis>
+                                                                               </CoMPHypothesisSetItem>        
+                                                                       </coMPHypothesisSet>
+                                                                       <benefitMetric>
+                                                                               -99
+                                                                       </benefitMetric>
+                                                               </SEQUENCE>
+                                                                       <SEQUENCE>
+                                                                       <coMPHypothesisSet>
+                                                                               <CoMPHypothesisSetItem>
+                                                                                       <coMPCellID>
+                                                                                               <pLMN-Identity>02 F8 32</pLMN-Identity>
+                                                                                               <eUTRANcellIdentifier>
+                                                                                                       0000000001100111101010110101
+                                                                                               </eUTRANcellIdentifier>
+                                                                                       </coMPCellID>
+                                                                                       <coMPHypothesis>
+                                                                                               1110001100000111101010110101
+                                                                                       </coMPHypothesis>
+                                                                               </CoMPHypothesisSetItem>        
+                                                                       </coMPHypothesisSet>
+                                                                       <benefitMetric>
+                                                                               30
+                                                                       </benefitMetric>
+                                                               </SEQUENCE>
+                                                               </coMPInformationItem>
+                                                               <coMPInformationStartTime>
+                                                                       <SEQUENCE>
+                                                                       <startSFN>
+                                                                               50
+                                                                       </startSFN>
+                                                                       <startSubframeNumber>
+                                                                               3
+                                                                       </startSubframeNumber>
+                                                               </SEQUENCE>
+                                                               </coMPInformationStartTime>
+                                                       </CoMPInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                       </iE-Extensions>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                            </CellInformation-List>
+                        </value>
+                    </LoadInformation-IEs>
+                </protocolIEs>
+            </LoadInformation>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc011.xml b/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc011.xml
new file mode 100644 (file)
index 0000000..4c3f98a
--- /dev/null
@@ -0,0 +1,364 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>2</procedureCode>
+        <criticality><ignore/></criticality>
+        <value>
+            <LoadInformation>
+                <protocolIEs>
+                    <LoadInformation-IEs>
+                        <id>6</id>
+                        <criticality><ignore/></criticality>
+                        <value>
+                            <CellInformation-List>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                       <ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                       </ul-InterferenceOverloadIndication>
+                                               <ul-HighInterferenceIndicationInfo>
+                                                <UL-HighInterferenceIndicationInfo-Item>
+                                        <target-Cell-ID>
+                                                <pLMN-Identity>02 F8 30</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                        </target-Cell-ID>
+                                        <ul-interferenceindication>
+                                                1010101010101010
+                                        </ul-interferenceindication>
+                                </UL-HighInterferenceIndicationInfo-Item>
+
+                                               </ul-HighInterferenceIndicationInfo>
+                                       <relativeNarrowbandTxPower>
+                                               <rNTP-PerPRB>
+                                                       11001100
+                                               </rNTP-PerPRB>
+                                               <rNTP-Threshold>
+                                                       <minusSix/>
+                                               </rNTP-Threshold>
+                                               <numberOfCellSpecificAntennaPorts>
+                                                       <two/>
+                                               </numberOfCellSpecificAntennaPorts>
+                                               <p-B>2 </p-B>
+                                               <pDCCH-InterferenceImpact>1</pDCCH-InterferenceImpact>
+                                       </relativeNarrowbandTxPower>
+                                       <iE-Extensions>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>61</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ABSInformation>
+                                                               <fdd>
+                                                               <abs-pattern-info>
+                                                                       0000011111000001111100000111110000011111
+                                                               </abs-pattern-info>
+                                                               <numberOfCellSpecificAntennaPorts>
+                                                                       <one/>
+                                                               </numberOfCellSpecificAntennaPorts>
+                                                               <measurement-subset>
+                                                                       1000001111100000111110000011110000001111
+                                                               </measurement-subset>
+                                                       </fdd>
+                                                       </ABSInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>62</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <InvokeIndication>
+                                                               <abs-information/>
+                                                       </InvokeIndication>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>99</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <SubframeAssignment>
+                                                               <sa6/>
+                                                       </SubframeAssignment>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>100</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ExtendedULInterferenceOverloadInfo>
+                                                               <associatedSubframes>
+                                                                       11001
+                                                               </associatedSubframes>
+                                                               <extended-ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                                               </extended-ul-InterferenceOverloadIndication>
+                                                       </ExtendedULInterferenceOverloadInfo>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>106</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <DynamicDLTransmissionInformation>
+                                                               <naics-active>
+                                                               <transmissionModes>
+                                                                       11001101
+                                                               </transmissionModes>
+                                                               <pB-information>
+                                                                       0
+                                                               </pB-information>
+                                                               <pA-list>
+                                                                       <dB-1dot77/><dB-3/>
+                                                               </pA-list>
+                                                       </naics-active>
+                                                       </DynamicDLTransmissionInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>108</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <CoMPInformation>
+                                                               <coMPInformationItem>
+                                                                       <SEQUENCE>
+                                                                       <coMPHypothesisSet>
+                                                                               <CoMPHypothesisSetItem>
+                                                                                       <coMPCellID>
+                                                                                               <pLMN-Identity>02 F8 31</pLMN-Identity>
+                                                                                               <eUTRANcellIdentifier>
+                                                                                                       0000000000000111101010110101
+                                                                                               </eUTRANcellIdentifier>
+                                                                                       </coMPCellID>
+                                                                                       <coMPHypothesis>
+                                                                                               1110000000000111101010110101
+                                                                                       </coMPHypothesis>
+                                                                               </CoMPHypothesisSetItem>        
+                                                                       </coMPHypothesisSet>
+                                                                       <benefitMetric>
+                                                                               -99
+                                                                       </benefitMetric>
+                                                               </SEQUENCE>
+                                                                       <SEQUENCE>
+                                                                       <coMPHypothesisSet>
+                                                                               <CoMPHypothesisSetItem>
+                                                                                       <coMPCellID>
+                                                                                               <pLMN-Identity>02 F8 32</pLMN-Identity>
+                                                                                               <eUTRANcellIdentifier>
+                                                                                                       0000000001100111101010110101
+                                                                                               </eUTRANcellIdentifier>
+                                                                                       </coMPCellID>
+                                                                                       <coMPHypothesis>
+                                                                                               1110001100000111101010110101
+                                                                                       </coMPHypothesis>
+                                                                               </CoMPHypothesisSetItem>        
+                                                                       </coMPHypothesisSet>
+                                                                       <benefitMetric>
+                                                                               30
+                                                                       </benefitMetric>
+                                                               </SEQUENCE>
+                                                               </coMPInformationItem>
+                                                               <coMPInformationStartTime>
+                                                                       <SEQUENCE>
+                                                                       <startSFN>
+                                                                               50
+                                                                       </startSFN>
+                                                                       <startSubframeNumber>
+                                                                               3
+                                                                       </startSubframeNumber>
+                                                               </SEQUENCE>
+                                                               </coMPInformationStartTime>
+                                                       </CoMPInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                       </iE-Extensions>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F9 10</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                       <ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                       </ul-InterferenceOverloadIndication>
+                                               <ul-HighInterferenceIndicationInfo>
+                                                <UL-HighInterferenceIndicationInfo-Item>
+                                        <target-Cell-ID>
+                                                <pLMN-Identity>02 F8 10</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                        </target-Cell-ID>
+                                        <ul-interferenceindication>
+                                                1010101010101010
+                                        </ul-interferenceindication>
+                                </UL-HighInterferenceIndicationInfo-Item>
+
+                                               </ul-HighInterferenceIndicationInfo>
+                                       <relativeNarrowbandTxPower>
+                                               <rNTP-PerPRB>
+                                                       11001100
+                                               </rNTP-PerPRB>
+                                               <rNTP-Threshold>
+                                                       <minusSix/>
+                                               </rNTP-Threshold>
+                                               <numberOfCellSpecificAntennaPorts>
+                                                       <two/>
+                                               </numberOfCellSpecificAntennaPorts>
+                                               <p-B>2 </p-B>
+                                               <pDCCH-InterferenceImpact>1</pDCCH-InterferenceImpact>
+                                       </relativeNarrowbandTxPower>
+                                       <iE-Extensions>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>61</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ABSInformation>
+                                                               <fdd>
+                                                               <abs-pattern-info>
+                                                                       0000011111000001111100000111110000011111
+                                                               </abs-pattern-info>
+                                                               <numberOfCellSpecificAntennaPorts>
+                                                                       <one/>
+                                                               </numberOfCellSpecificAntennaPorts>
+                                                               <measurement-subset>
+                                                                       1000001111100000111110000011110000001111
+                                                               </measurement-subset>
+                                                       </fdd>
+                                                       </ABSInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>62</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <InvokeIndication>
+                                                               <abs-information/>
+                                                       </InvokeIndication>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>99</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <SubframeAssignment>
+                                                               <sa6/>
+                                                       </SubframeAssignment>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>100</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ExtendedULInterferenceOverloadInfo>
+                                                               <associatedSubframes>
+                                                                       11001
+                                                               </associatedSubframes>
+                                                               <extended-ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                                               </extended-ul-InterferenceOverloadIndication>
+                                                       </ExtendedULInterferenceOverloadInfo>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>106</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <DynamicDLTransmissionInformation>
+                                                               <naics-active>
+                                                               <transmissionModes>
+                                                                       11001101
+                                                               </transmissionModes>
+                                                               <pB-information>
+                                                                       0
+                                                               </pB-information>
+                                                               <pA-list>
+                                                                       <dB-1dot77/><dB-3/>
+                                                               </pA-list>
+                                                       </naics-active>
+                                                       </DynamicDLTransmissionInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>108</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <CoMPInformation>
+                                                               <coMPInformationItem>
+                                                                       <SEQUENCE>
+                                                                       <coMPHypothesisSet>
+                                                                               <CoMPHypothesisSetItem>
+                                                                                       <coMPCellID>
+                                                                                               <pLMN-Identity>02 F8 11</pLMN-Identity>
+                                                                                               <eUTRANcellIdentifier>
+                                                                                                       0000000000000111101010110101
+                                                                                               </eUTRANcellIdentifier>
+                                                                                       </coMPCellID>
+                                                                                       <coMPHypothesis>
+                                                                                               1110000000000111101010110101
+                                                                                       </coMPHypothesis>
+                                                                               </CoMPHypothesisSetItem>        
+                                                                       </coMPHypothesisSet>
+                                                                       <benefitMetric>
+                                                                               -99
+                                                                       </benefitMetric>
+                                                               </SEQUENCE>
+                                                                       <SEQUENCE>
+                                                                       <coMPHypothesisSet>
+                                                                               <CoMPHypothesisSetItem>
+                                                                                       <coMPCellID>
+                                                                                               <pLMN-Identity>02 F8 12</pLMN-Identity>
+                                                                                               <eUTRANcellIdentifier>
+                                                                                                       0000000001100111101010110101
+                                                                                               </eUTRANcellIdentifier>
+                                                                                       </coMPCellID>
+                                                                                       <coMPHypothesis>
+                                                                                               1110001100000111101010110101
+                                                                                       </coMPHypothesis>
+                                                                               </CoMPHypothesisSetItem>        
+                                                                       </coMPHypothesisSet>
+                                                                       <benefitMetric>
+                                                                               30
+                                                                       </benefitMetric>
+                                                               </SEQUENCE>
+                                                               </coMPInformationItem>
+                                                               <coMPInformationStartTime>
+                                                                       <SEQUENCE>
+                                                                       <startSFN>
+                                                                               50
+                                                                       </startSFN>
+                                                                       <startSubframeNumber>
+                                                                               3
+                                                                       </startSubframeNumber>
+                                                               </SEQUENCE>
+                                                               </coMPInformationStartTime>
+                                                       </CoMPInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                       </iE-Extensions>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                            </CellInformation-List>
+                        </value>
+                    </LoadInformation-IEs>
+                </protocolIEs>
+            </LoadInformation>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc012.xml b/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc012.xml
new file mode 100644 (file)
index 0000000..e6f5524
--- /dev/null
@@ -0,0 +1,217 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>2</procedureCode>
+        <criticality><ignore/></criticality>
+        <value>
+            <LoadInformation>
+                <protocolIEs>
+                    <LoadInformation-IEs>
+                        <id>6</id>
+                        <criticality><ignore/></criticality>
+                        <value>
+                            <CellInformation-List>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                       <ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                       </ul-InterferenceOverloadIndication>
+                                               <ul-HighInterferenceIndicationInfo>
+                                                <UL-HighInterferenceIndicationInfo-Item>
+                                        <target-Cell-ID>
+                                                <pLMN-Identity>02 F8 30</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                        </target-Cell-ID>
+                                        <ul-interferenceindication>
+                                                1010101010101010
+                                        </ul-interferenceindication>
+                                </UL-HighInterferenceIndicationInfo-Item>
+
+                                               </ul-HighInterferenceIndicationInfo>
+                                       <relativeNarrowbandTxPower>
+                                               <rNTP-PerPRB>
+                                                       11001100
+                                               </rNTP-PerPRB>
+                                               <rNTP-Threshold>
+                                                       <minusSix/>
+                                               </rNTP-Threshold>
+                                               <numberOfCellSpecificAntennaPorts>
+                                                       <two/>
+                                               </numberOfCellSpecificAntennaPorts>
+                                               <p-B>2 </p-B>
+                                               <pDCCH-InterferenceImpact>1</pDCCH-InterferenceImpact>
+                                               <iE-Extensions>
+                                                       <RelativeNarrowbandTxPower-ExtIEs>
+                                               <id>148</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <EnhancedRNTP>
+                                                               <enhancedRNTPBitmap>
+                                                                       1010101000111
+                                                               </enhancedRNTPBitmap>
+                                                               <rNTP-High-Power-Threshold>
+                                                                       <minusFour/>
+                                                               </rNTP-High-Power-Threshold>
+                                                               <enhancedRNTPStartTime>
+                                                                       <startSFN>
+                                                                               51
+                                                                       </startSFN>
+                                                                       <startSubframeNumber>
+                                                                               9
+                                                                       </startSubframeNumber>
+                                                               </enhancedRNTPStartTime>
+                                                       </EnhancedRNTP>
+                                               </extensionValue>
+                                                       </RelativeNarrowbandTxPower-ExtIEs>
+                                       </iE-Extensions>
+
+                                       </relativeNarrowbandTxPower>
+                                       <iE-Extensions>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>61</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ABSInformation>
+                                                               <fdd>
+                                                               <abs-pattern-info>
+                                                                       0000011111000001111100000111110000011111
+                                                               </abs-pattern-info>
+                                                               <numberOfCellSpecificAntennaPorts>
+                                                                       <one/>
+                                                               </numberOfCellSpecificAntennaPorts>
+                                                               <measurement-subset>
+                                                                       1000001111100000111110000011110000001111
+                                                               </measurement-subset>
+                                                       </fdd>
+                                                       </ABSInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>62</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <InvokeIndication>
+                                                               <abs-information/>
+                                                       </InvokeIndication>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>99</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <SubframeAssignment>
+                                                               <sa6/>
+                                                       </SubframeAssignment>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>100</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ExtendedULInterferenceOverloadInfo>
+                                                               <associatedSubframes>
+                                                                       11001
+                                                               </associatedSubframes>
+                                                               <extended-ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                                               </extended-ul-InterferenceOverloadIndication>
+                                                       </ExtendedULInterferenceOverloadInfo>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>106</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <DynamicDLTransmissionInformation>
+                                                               <naics-active>
+                                                               <transmissionModes>
+                                                                       11001101
+                                                               </transmissionModes>
+                                                               <pB-information>
+                                                                       0
+                                                               </pB-information>
+                                                               <pA-list>
+                                                                       <dB-1dot77/><dB-3/>
+                                                               </pA-list>
+                                                       </naics-active>
+                                                       </DynamicDLTransmissionInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>108</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <CoMPInformation>
+                                                               <coMPInformationItem>
+                                                                       <SEQUENCE>
+                                                                       <coMPHypothesisSet>
+                                                                               <CoMPHypothesisSetItem>
+                                                                                       <coMPCellID>
+                                                                                               <pLMN-Identity>02 F8 31</pLMN-Identity>
+                                                                                               <eUTRANcellIdentifier>
+                                                                                                       0000000000000111101010110101
+                                                                                               </eUTRANcellIdentifier>
+                                                                                       </coMPCellID>
+                                                                                       <coMPHypothesis>
+                                                                                               1110000000000111101010110101
+                                                                                       </coMPHypothesis>
+                                                                               </CoMPHypothesisSetItem>        
+                                                                       </coMPHypothesisSet>
+                                                                       <benefitMetric>
+                                                                               -99
+                                                                       </benefitMetric>
+                                                               </SEQUENCE>
+                                                                       <SEQUENCE>
+                                                                       <coMPHypothesisSet>
+                                                                               <CoMPHypothesisSetItem>
+                                                                                       <coMPCellID>
+                                                                                               <pLMN-Identity>02 F8 32</pLMN-Identity>
+                                                                                               <eUTRANcellIdentifier>
+                                                                                                       0000000001100111101010110101
+                                                                                               </eUTRANcellIdentifier>
+                                                                                       </coMPCellID>
+                                                                                       <coMPHypothesis>
+                                                                                               1110001100000111101010110101
+                                                                                       </coMPHypothesis>
+                                                                               </CoMPHypothesisSetItem>        
+                                                                       </coMPHypothesisSet>
+                                                                       <benefitMetric>
+                                                                               30
+                                                                       </benefitMetric>
+                                                               </SEQUENCE>
+                                                               </coMPInformationItem>
+                                                               <coMPInformationStartTime>
+                                                                       <SEQUENCE>
+                                                                       <startSFN>
+                                                                               50
+                                                                       </startSFN>
+                                                                       <startSubframeNumber>
+                                                                               3
+                                                                       </startSubframeNumber>
+                                                               </SEQUENCE>
+                                                               </coMPInformationStartTime>
+                                                       </CoMPInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                       </iE-Extensions>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                            </CellInformation-List>
+                        </value>
+                    </LoadInformation-IEs>
+                </protocolIEs>
+            </LoadInformation>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc013.xml b/E2Manager/asn1codec/src/tests/load_information_xer_files/xer_tc013.xml
new file mode 100644 (file)
index 0000000..70ddaaf
--- /dev/null
@@ -0,0 +1,388 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>2</procedureCode>
+        <criticality><ignore/></criticality>
+        <value>
+            <LoadInformation>
+                <protocolIEs>
+                    <LoadInformation-IEs>
+                        <id>6</id>
+                        <criticality><ignore/></criticality>
+                        <value>
+                            <CellInformation-List>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F8 29</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                       <ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                       </ul-InterferenceOverloadIndication>
+                                               <ul-HighInterferenceIndicationInfo>
+                                                <UL-HighInterferenceIndicationInfo-Item>
+                                        <target-Cell-ID>
+                                                <pLMN-Identity>02 F8 30</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                        </target-Cell-ID>
+                                        <ul-interferenceindication>
+                                                1010101010101010
+                                        </ul-interferenceindication>
+                                </UL-HighInterferenceIndicationInfo-Item>
+
+                                               </ul-HighInterferenceIndicationInfo>
+                                       <relativeNarrowbandTxPower>
+                                               <rNTP-PerPRB>
+                                                       11001100
+                                               </rNTP-PerPRB>
+                                               <rNTP-Threshold>
+                                                       <minusSix/>
+                                               </rNTP-Threshold>
+                                               <numberOfCellSpecificAntennaPorts>
+                                                       <two/>
+                                               </numberOfCellSpecificAntennaPorts>
+                                               <p-B>2 </p-B>
+                                               <pDCCH-InterferenceImpact>1</pDCCH-InterferenceImpact>
+                                               <iE-Extensions>
+                                                       <RelativeNarrowbandTxPower-ExtIEs>
+                                               <id>148</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <EnhancedRNTP>
+                                                               <enhancedRNTPBitmap>
+                                                                       1010101000111
+                                                               </enhancedRNTPBitmap>
+                                                               <rNTP-High-Power-Threshold>
+                                                                       <minusFour/>
+                                                               </rNTP-High-Power-Threshold>
+                                                               <enhancedRNTPStartTime>
+                                                                       <startSFN>
+                                                                               51
+                                                                       </startSFN>
+                                                                       <startSubframeNumber>
+                                                                               9
+                                                                       </startSubframeNumber>
+                                                               </enhancedRNTPStartTime>
+                                                       </EnhancedRNTP>
+                                               </extensionValue>
+                                                       </RelativeNarrowbandTxPower-ExtIEs>
+                                       </iE-Extensions>
+                                       </relativeNarrowbandTxPower>
+                                       <iE-Extensions>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>61</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ABSInformation>
+                                                               <fdd>
+                                                               <abs-pattern-info>
+                                                                       0000011111000001111100000111110000011111
+                                                               </abs-pattern-info>
+                                                               <numberOfCellSpecificAntennaPorts>
+                                                                       <one/>
+                                                               </numberOfCellSpecificAntennaPorts>
+                                                               <measurement-subset>
+                                                                       1000001111100000111110000011110000001111
+                                                               </measurement-subset>
+                                                       </fdd>
+                                                       </ABSInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>62</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <InvokeIndication>
+                                                               <abs-information/>
+                                                       </InvokeIndication>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>99</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <SubframeAssignment>
+                                                               <sa6/>
+                                                       </SubframeAssignment>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>100</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ExtendedULInterferenceOverloadInfo>
+                                                               <associatedSubframes>
+                                                                       11001
+                                                               </associatedSubframes>
+                                                               <extended-ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                                               </extended-ul-InterferenceOverloadIndication>
+                                                       </ExtendedULInterferenceOverloadInfo>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>106</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <DynamicDLTransmissionInformation>
+                                                               <naics-active>
+                                                               <transmissionModes>
+                                                                       11001101
+                                                               </transmissionModes>
+                                                               <pB-information>
+                                                                       0
+                                                               </pB-information>
+                                                               <pA-list>
+                                                                       <dB-1dot77/><dB-3/>
+                                                               </pA-list>
+                                                       </naics-active>
+                                                       </DynamicDLTransmissionInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>108</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <CoMPInformation>
+                                                               <coMPInformationItem>
+                                                                       <SEQUENCE>
+                                                                       <coMPHypothesisSet>
+                                                                               <CoMPHypothesisSetItem>
+                                                                                       <coMPCellID>
+                                                                                               <pLMN-Identity>02 F8 31</pLMN-Identity>
+                                                                                               <eUTRANcellIdentifier>
+                                                                                                       0000000000000111101010110101
+                                                                                               </eUTRANcellIdentifier>
+                                                                                       </coMPCellID>
+                                                                                       <coMPHypothesis>
+                                                                                               1110000000000111101010110101
+                                                                                       </coMPHypothesis>
+                                                                               </CoMPHypothesisSetItem>        
+                                                                       </coMPHypothesisSet>
+                                                                       <benefitMetric>
+                                                                               -99
+                                                                       </benefitMetric>
+                                                               </SEQUENCE>
+                                                                       <SEQUENCE>
+                                                                       <coMPHypothesisSet>
+                                                                               <CoMPHypothesisSetItem>
+                                                                                       <coMPCellID>
+                                                                                               <pLMN-Identity>02 F8 32</pLMN-Identity>
+                                                                                               <eUTRANcellIdentifier>
+                                                                                                       0000000001100111101010110101
+                                                                                               </eUTRANcellIdentifier>
+                                                                                       </coMPCellID>
+                                                                                       <coMPHypothesis>
+                                                                                               1110001100000111101010110101
+                                                                                       </coMPHypothesis>
+                                                                               </CoMPHypothesisSetItem>        
+                                                                       </coMPHypothesisSet>
+                                                                       <benefitMetric>
+                                                                               30
+                                                                       </benefitMetric>
+                                                               </SEQUENCE>
+                                                               </coMPInformationItem>
+                                                               <coMPInformationStartTime>
+                                                                       <SEQUENCE>
+                                                                       <startSFN>
+                                                                               50
+                                                                       </startSFN>
+                                                                       <startSubframeNumber>
+                                                                               3
+                                                                       </startSubframeNumber>
+                                                               </SEQUENCE>
+                                                               </coMPInformationStartTime>
+                                                       </CoMPInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                       </iE-Extensions>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                                <ProtocolIE-Single-Container>
+                                    <id>7</id>
+                                    <criticality><ignore/></criticality>
+                                    <value>
+                                        <CellInformation-Item>
+                                            <cell-ID>
+                                                <pLMN-Identity>02 F9 10</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                            </cell-ID>
+                                       <ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                       </ul-InterferenceOverloadIndication>
+                                               <ul-HighInterferenceIndicationInfo>
+                                                <UL-HighInterferenceIndicationInfo-Item>
+                                        <target-Cell-ID>
+                                                <pLMN-Identity>02 F8 10</pLMN-Identity>
+                                                <eUTRANcellIdentifier>
+                                                    0000000000000111101010110101
+                                                </eUTRANcellIdentifier>
+                                        </target-Cell-ID>
+                                        <ul-interferenceindication>
+                                                1010101010101010
+                                        </ul-interferenceindication>
+                                </UL-HighInterferenceIndicationInfo-Item>
+
+                                               </ul-HighInterferenceIndicationInfo>
+                                       <relativeNarrowbandTxPower>
+                                               <rNTP-PerPRB>
+                                                       11001100
+                                               </rNTP-PerPRB>
+                                               <rNTP-Threshold>
+                                                       <minusSix/>
+                                               </rNTP-Threshold>
+                                               <numberOfCellSpecificAntennaPorts>
+                                                       <two/>
+                                               </numberOfCellSpecificAntennaPorts>
+                                               <p-B>2 </p-B>
+                                               <pDCCH-InterferenceImpact>1</pDCCH-InterferenceImpact>
+                                       </relativeNarrowbandTxPower>
+                                       <iE-Extensions>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>61</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ABSInformation>
+                                                               <fdd>
+                                                               <abs-pattern-info>
+                                                                       0000011111000001111100000111110000011111
+                                                               </abs-pattern-info>
+                                                               <numberOfCellSpecificAntennaPorts>
+                                                                       <one/>
+                                                               </numberOfCellSpecificAntennaPorts>
+                                                               <measurement-subset>
+                                                                       1000001111100000111110000011110000001111
+                                                               </measurement-subset>
+                                                       </fdd>
+                                                       </ABSInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>62</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <InvokeIndication>
+                                                               <abs-information/>
+                                                       </InvokeIndication>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>99</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <SubframeAssignment>
+                                                               <sa6/>
+                                                       </SubframeAssignment>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>100</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <ExtendedULInterferenceOverloadInfo>
+                                                               <associatedSubframes>
+                                                                       11001
+                                                               </associatedSubframes>
+                                                               <extended-ul-InterferenceOverloadIndication>
+                                               <high-interference/><medium-interference/><low-interference/>
+                                                               </extended-ul-InterferenceOverloadIndication>
+                                                       </ExtendedULInterferenceOverloadInfo>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>106</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <DynamicDLTransmissionInformation>
+                                                               <naics-active>
+                                                               <transmissionModes>
+                                                                       11001101
+                                                               </transmissionModes>
+                                                               <pB-information>
+                                                                       0
+                                                               </pB-information>
+                                                               <pA-list>
+                                                                       <dB-1dot77/><dB-3/>
+                                                               </pA-list>
+                                                       </naics-active>
+                                                       </DynamicDLTransmissionInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                               <CellInformation-Item-ExtIEs>
+                                               <id>108</id>
+                                               <criticality><ignore/></criticality>
+                                               <extensionValue>
+                                                       <CoMPInformation>
+                                                               <coMPInformationItem>
+                                                                       <SEQUENCE>
+                                                                       <coMPHypothesisSet>
+                                                                               <CoMPHypothesisSetItem>
+                                                                                       <coMPCellID>
+                                                                                               <pLMN-Identity>02 F8 11</pLMN-Identity>
+                                                                                               <eUTRANcellIdentifier>
+                                                                                                       0000000000000111101010110101
+                                                                                               </eUTRANcellIdentifier>
+                                                                                       </coMPCellID>
+                                                                                       <coMPHypothesis>
+                                                                                               1110000000000111101010110101
+                                                                                       </coMPHypothesis>
+                                                                               </CoMPHypothesisSetItem>        
+                                                                       </coMPHypothesisSet>
+                                                                       <benefitMetric>
+                                                                               -99
+                                                                       </benefitMetric>
+                                                               </SEQUENCE>
+                                                                       <SEQUENCE>
+                                                                       <coMPHypothesisSet>
+                                                                               <CoMPHypothesisSetItem>
+                                                                                       <coMPCellID>
+                                                                                               <pLMN-Identity>02 F8 12</pLMN-Identity>
+                                                                                               <eUTRANcellIdentifier>
+                                                                                                       0000000001100111101010110101
+                                                                                               </eUTRANcellIdentifier>
+                                                                                       </coMPCellID>
+                                                                                       <coMPHypothesis>
+                                                                                               1110001100000111101010110101
+                                                                                       </coMPHypothesis>
+                                                                               </CoMPHypothesisSetItem>        
+                                                                       </coMPHypothesisSet>
+                                                                       <benefitMetric>
+                                                                               30
+                                                                       </benefitMetric>
+                                                               </SEQUENCE>
+                                                               </coMPInformationItem>
+                                                               <coMPInformationStartTime>
+                                                                       <SEQUENCE>
+                                                                       <startSFN>
+                                                                               50
+                                                                       </startSFN>
+                                                                       <startSubframeNumber>
+                                                                               3
+                                                                       </startSubframeNumber>
+                                                               </SEQUENCE>
+                                                               </coMPInformationStartTime>
+                                                       </CoMPInformation>
+                                               </extensionValue>
+                                               </CellInformation-Item-ExtIEs>
+                                       </iE-Extensions>
+                                        </CellInformation-Item>
+                                    </value>
+                                </ProtocolIE-Single-Container>
+                            </CellInformation-List>
+                        </value>
+                    </LoadInformation-IEs>
+                </protocolIEs>
+            </LoadInformation>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
diff --git a/E2Manager/asn1codec/src/tests/unpack_xer.c b/E2Manager/asn1codec/src/tests/unpack_xer.c
new file mode 100644 (file)
index 0000000..18d46dd
--- /dev/null
@@ -0,0 +1,80 @@
+/*
+ *
+ * Copyright 2019 AT&T Intellectual Property
+ * Copyright 2019 Nokia
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#include <errno.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <asn1codec_utils.h>
+
+int
+main(int argc, char* argv[])
+{
+       char responseErrorBuf[1<< 16];
+       uint8_t buf[1 << 16];
+       size_t count = fread(buf, 1, sizeof(buf), stdin);
+       if (count == sizeof(buf)) {
+               printf("#%s failed. Input is too big\n", __func__);
+               exit(-1);
+       }
+       if (!feof(stdin)){
+               printf("#%s failed. Error while reading input: %s\n", __func__, strerror(errno));
+               exit(-1);
+       }
+
+       E2AP_PDU_t *pdu = calloc(1, sizeof(E2AP_PDU_t));
+       if (!unpack_pdu_aux(pdu, count, buf ,sizeof(responseErrorBuf), responseErrorBuf,ATS_BASIC_XER)){
+               printf("#%s failed. Unpacking error %s\n", __func__, responseErrorBuf);
+               exit(-1);
+       }
+
+       responseErrorBuf[0] = 0;
+       asn1_pdu_printer(pdu, sizeof(responseErrorBuf), responseErrorBuf);
+       printf("#%s: %s\n", __func__, responseErrorBuf);
+
+       {
+       size_t per_packed_buf_size;
+       uint8_t per_packed_buf[1 << 16];
+
+       responseErrorBuf[0] = 0;
+       per_packed_buf_size = sizeof(per_packed_buf);
+
+       if (!pack_pdu_aux(pdu,&per_packed_buf_size, per_packed_buf,sizeof(responseErrorBuf), responseErrorBuf, ATS_ALIGNED_BASIC_PER)){
+               printf("#%s failed. Packing error %s\n", __func__, responseErrorBuf);
+               exit(-1);
+       }
+       ASN_STRUCT_FREE(asn_DEF_E2AP_PDU, pdu);
+       printf("#%s packed size:%zu\nPayload:\n", __func__, per_packed_buf_size);
+       for (size_t i= 0; i < per_packed_buf_size; i++)
+               printf("%02x",per_packed_buf[i]);
+       printf("\n");
+
+       pdu =calloc(1, sizeof(E2AP_PDU_t));
+       if (!unpack_pdu_aux(pdu, per_packed_buf_size, per_packed_buf ,sizeof(responseErrorBuf), responseErrorBuf,ATS_ALIGNED_BASIC_PER)){
+               printf("#%s failed. Packing error %s\n", __func__, responseErrorBuf);
+       }
+
+       responseErrorBuf[0] = 0;
+       asn1_pdu_printer(pdu, sizeof(responseErrorBuf), responseErrorBuf);
+       ASN_STRUCT_FREE(asn_DEF_E2AP_PDU, pdu);
+       printf("#%s: %s\n", __func__, responseErrorBuf);
+       }
+    exit(0);
+}
+
+
index aa52f57..5194ca7 100644 (file)
@@ -1,25 +1,4 @@
 mode: set
-e2mgr/controllers/controller.go:23.107,31.2 2 1
-e2mgr/controllers/controller.go:33.107,36.2 1 1
-e2mgr/controllers/controller.go:40.72,44.20 2 1
-e2mgr/controllers/controller.go:53.2,54.16 2 1
-e2mgr/controllers/controller.go:59.2,61.16 2 1
-e2mgr/controllers/controller.go:66.2,67.110 2 1
-e2mgr/controllers/controller.go:44.20,47.17 2 1
-e2mgr/controllers/controller.go:47.17,50.4 2 1
-e2mgr/controllers/controller.go:54.16,57.3 2 0
-e2mgr/controllers/controller.go:61.16,64.3 2 1
-e2mgr/controllers/controller.go:70.72,72.53 1 1
-e2mgr/controllers/controller.go:77.2,77.12 1 1
-e2mgr/controllers/controller.go:72.53,76.3 2 1
-e2mgr/controllers/controller.go:80.80,85.16 3 1
-e2mgr/controllers/controller.go:105.2,113.16 6 1
-e2mgr/controllers/controller.go:85.16,86.21 1 1
-e2mgr/controllers/controller.go:87.37,90.46 3 1
-e2mgr/controllers/controller.go:91.55,94.43 3 1
-e2mgr/controllers/controller.go:95.47,98.47 3 1
-e2mgr/controllers/controller.go:99.11,102.46 3 1
-e2mgr/controllers/controller.go:113.16,115.3 1 0
 e2mgr/controllers/nodeb_controller.go:69.68,78.2 3 1
 e2mgr/controllers/nodeb_controller.go:81.52,85.2 3 1
 e2mgr/controllers/nodeb_controller.go:87.118,95.16 6 1
@@ -60,6 +39,27 @@ e2mgr/controllers/nodeb_controller.go:247.33,248.70 1 1
 e2mgr/controllers/nodeb_controller.go:249.29,250.81 1 1
 e2mgr/controllers/nodeb_controller.go:251.31,252.77 1 0
 e2mgr/controllers/nodeb_controller.go:253.10,254.81 1 0
+e2mgr/controllers/controller.go:40.107,48.2 2 1
+e2mgr/controllers/controller.go:50.107,53.2 1 1
+e2mgr/controllers/controller.go:57.72,61.20 2 1
+e2mgr/controllers/controller.go:70.2,71.16 2 1
+e2mgr/controllers/controller.go:76.2,78.16 2 1
+e2mgr/controllers/controller.go:83.2,84.110 2 1
+e2mgr/controllers/controller.go:61.20,64.17 2 1
+e2mgr/controllers/controller.go:64.17,67.4 2 1
+e2mgr/controllers/controller.go:71.16,74.3 2 0
+e2mgr/controllers/controller.go:78.16,81.3 2 1
+e2mgr/controllers/controller.go:87.72,89.53 1 1
+e2mgr/controllers/controller.go:94.2,94.12 1 1
+e2mgr/controllers/controller.go:89.53,93.3 2 1
+e2mgr/controllers/controller.go:97.80,102.16 3 1
+e2mgr/controllers/controller.go:122.2,130.16 6 1
+e2mgr/controllers/controller.go:102.16,103.21 1 1
+e2mgr/controllers/controller.go:104.37,107.46 3 1
+e2mgr/controllers/controller.go:108.55,111.43 3 1
+e2mgr/controllers/controller.go:112.47,115.47 3 1
+e2mgr/controllers/controller.go:116.11,119.46 3 1
+e2mgr/controllers/controller.go:130.16,132.3 1 0
 e2mgr/logger/logger.go:71.58,72.85 1 1
 e2mgr/logger/logger.go:75.2,75.27 1 1
 e2mgr/logger/logger.go:72.85,74.3 1 1
@@ -89,83 +89,147 @@ e2mgr/logger/logger.go:148.62,151.2 2 1
 e2mgr/logger/logger.go:153.62,173.2 2 1
 e2mgr/logger/logger.go:175.92,177.2 1 1
 e2mgr/logger/logger.go:179.84,183.2 3 1
-e2mgr/main/http_server.go:40.13,44.16 4 0
-e2mgr/main/http_server.go:48.2,61.59 13 0
-e2mgr/main/http_server.go:44.16,47.3 2 0
-e2mgr/main/http_server.go:65.133,72.2 4 0
-e2mgr/main/http_server.go:74.163,87.58 10 0
-e2mgr/main/http_server.go:87.58,89.3 1 0
-e2mgr/models/notification_response.go:14.86,16.2 1 0
+e2mgr/main/http_server.go:39.13,43.16 4 0
+e2mgr/main/http_server.go:47.2,60.59 13 0
+e2mgr/main/http_server.go:43.16,46.3 2 0
+e2mgr/main/http_server.go:63.163,76.58 10 0
+e2mgr/main/http_server.go:76.58,78.3 1 0
 e2mgr/models/e2_request_message.go:33.59,35.2 1 1
 e2mgr/models/e2_request_message.go:37.65,39.2 1 1
 e2mgr/models/e2_request_message.go:41.128,43.2 1 1
 e2mgr/models/e2_request_message.go:45.90,52.2 4 1
-e2mgr/handlers/endc_setup_response_notification_handler.go:34.91,40.16 3 0
-e2mgr/handlers/endc_setup_response_notification_handler.go:44.2,45.8 2 0
-e2mgr/handlers/endc_setup_response_notification_handler.go:40.16,42.3 1 0
-e2mgr/handlers/endc_setup_response_notification_handler.go:45.8,47.17 1 0
-e2mgr/handlers/endc_setup_response_notification_handler.go:72.3,73.44 2 0
-e2mgr/handlers/endc_setup_response_notification_handler.go:47.17,62.87 12 0
-e2mgr/handlers/endc_setup_response_notification_handler.go:62.87,64.5 1 0
-e2mgr/handlers/endc_setup_response_notification_handler.go:64.10,66.30 2 0
-e2mgr/handlers/endc_setup_response_notification_handler.go:66.30,68.6 1 0
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:32.94,35.54 2 1
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:68.2,68.27 1 1
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:35.54,38.124 2 1
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:38.124,40.82 2 1
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:40.82,43.72 3 1
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:43.72,44.38 1 1
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:44.38,45.50 1 1
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:46.53,49.22 3 1
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:52.58,53.135 1 1
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:54.70,56.66 2 1
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:49.22,51.9 1 0
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:56.66,58.9 1 1
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:58.14,60.9 1 0
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:71.196,73.16 2 1
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:77.2,79.50 2 1
-e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:73.16,75.3 1 0
-e2mgr/handlers/x2apSetup_response_notification_handler.go:33.91,38.16 3 0
-e2mgr/handlers/x2apSetup_response_notification_handler.go:42.2,44.8 2 0
-e2mgr/handlers/x2apSetup_response_notification_handler.go:38.16,40.3 1 0
-e2mgr/handlers/x2apSetup_response_notification_handler.go:44.8,45.17 1 0
-e2mgr/handlers/x2apSetup_response_notification_handler.go:69.3,70.44 2 0
-e2mgr/handlers/x2apSetup_response_notification_handler.go:45.17,60.87 12 0
-e2mgr/handlers/x2apSetup_response_notification_handler.go:60.87,62.5 1 0
-e2mgr/handlers/x2apSetup_response_notification_handler.go:62.10,64.30 2 0
-e2mgr/handlers/x2apSetup_response_notification_handler.go:64.30,66.6 1 0
-e2mgr/handlers/delete_all_request_handler.go:41.68,47.2 1 1
-e2mgr/handlers/delete_all_request_handler.go:49.158,52.16 2 1
-e2mgr/handlers/delete_all_request_handler.go:56.2,56.26 1 1
-e2mgr/handlers/delete_all_request_handler.go:61.2,68.16 6 1
-e2mgr/handlers/delete_all_request_handler.go:72.2,72.12 1 1
-e2mgr/handlers/delete_all_request_handler.go:52.16,54.3 1 1
-e2mgr/handlers/delete_all_request_handler.go:56.26,58.3 1 1
-e2mgr/handlers/delete_all_request_handler.go:68.16,70.3 1 0
-e2mgr/handlers/delete_all_request_handler.go:75.116,78.16 2 1
-e2mgr/handlers/delete_all_request_handler.go:83.2,83.30 1 1
-e2mgr/handlers/delete_all_request_handler.go:87.2,87.42 1 1
-e2mgr/handlers/delete_all_request_handler.go:105.2,106.18 2 1
-e2mgr/handlers/delete_all_request_handler.go:78.16,81.3 2 1
-e2mgr/handlers/delete_all_request_handler.go:83.30,85.3 1 1
-e2mgr/handlers/delete_all_request_handler.go:87.42,91.17 2 1
-e2mgr/handlers/delete_all_request_handler.go:97.3,97.20 1 1
-e2mgr/handlers/delete_all_request_handler.go:102.3,102.55 1 1
-e2mgr/handlers/delete_all_request_handler.go:91.17,94.12 2 1
-e2mgr/handlers/delete_all_request_handler.go:97.20,100.12 2 1
-e2mgr/handlers/delete_all_request_handler.go:109.142,112.18 2 1
-e2mgr/handlers/delete_all_request_handler.go:116.2,120.16 3 1
-e2mgr/handlers/delete_all_request_handler.go:126.2,126.27 1 1
-e2mgr/handlers/delete_all_request_handler.go:112.18,114.3 1 1
-e2mgr/handlers/delete_all_request_handler.go:120.16,124.3 2 1
-e2mgr/handlers/delete_all_request_handler.go:126.27,129.3 1 0
-e2mgr/handlers/delete_all_request_handler.go:132.146,134.65 1 1
-e2mgr/handlers/delete_all_request_handler.go:138.2,138.70 1 1
-e2mgr/handlers/delete_all_request_handler.go:143.2,147.16 3 1
-e2mgr/handlers/delete_all_request_handler.go:153.2,153.137 1 1
-e2mgr/handlers/delete_all_request_handler.go:134.65,136.3 1 1
-e2mgr/handlers/delete_all_request_handler.go:138.70,141.3 2 0
-e2mgr/handlers/delete_all_request_handler.go:147.16,151.3 2 1
+e2mgr/models/notification_request.go:30.125,38.2 1 0
+e2mgr/models/notification_response.go:31.86,33.2 1 0
+e2mgr/providers/incoming_request_handler_provider.go:41.79,47.2 1 0
+e2mgr/providers/incoming_request_handler_provider.go:50.91,55.2 1 0
+e2mgr/providers/incoming_request_handler_provider.go:57.121,60.9 2 0
+e2mgr/providers/incoming_request_handler_provider.go:65.2,65.21 1 0
+e2mgr/providers/incoming_request_handler_provider.go:60.9,63.3 2 0
+e2mgr/providers/notification_handler_provider.go:34.160,40.2 1 1
+e2mgr/providers/notification_handler_provider.go:42.164,54.2 1 1
+e2mgr/providers/notification_handler_provider.go:56.123,59.9 2 1
+e2mgr/providers/notification_handler_provider.go:63.2,63.21 1 1
+e2mgr/providers/notification_handler_provider.go:59.9,61.3 1 1
+e2mgr/providers/request_handler_provider.go:32.105,35.2 2 1
+e2mgr/providers/request_handler_provider.go:37.98,42.2 1 1
+e2mgr/providers/request_handler_provider.go:44.120,47.9 2 1
+e2mgr/providers/request_handler_provider.go:53.2,53.21 1 1
+e2mgr/providers/request_handler_provider.go:47.9,51.3 3 1
+e2mgr/rNibWriter/rNibWriter.go:47.43,49.22 1 1
+e2mgr/rNibWriter/rNibWriter.go:49.22,52.4 2 0
+e2mgr/rNibWriter/rNibWriter.go:53.25,55.4 1 0
+e2mgr/rNibWriter/rNibWriter.go:60.86,62.2 1 1
+e2mgr/rNibWriter/rNibWriter.go:66.33,68.2 1 1
+e2mgr/rNibWriter/rNibWriter.go:72.119,76.72 2 1
+e2mgr/rNibWriter/rNibWriter.go:79.2,81.16 3 1
+e2mgr/rNibWriter/rNibWriter.go:84.2,86.19 3 1
+e2mgr/rNibWriter/rNibWriter.go:89.2,91.24 2 1
+e2mgr/rNibWriter/rNibWriter.go:99.2,99.28 1 1
+e2mgr/rNibWriter/rNibWriter.go:105.2,105.28 1 1
+e2mgr/rNibWriter/rNibWriter.go:111.2,112.16 2 1
+e2mgr/rNibWriter/rNibWriter.go:115.2,115.24 1 1
+e2mgr/rNibWriter/rNibWriter.go:125.2,125.12 1 1
+e2mgr/rNibWriter/rNibWriter.go:76.72,78.3 1 1
+e2mgr/rNibWriter/rNibWriter.go:81.16,83.3 1 1
+e2mgr/rNibWriter/rNibWriter.go:86.19,88.3 1 1
+e2mgr/rNibWriter/rNibWriter.go:91.24,93.20 2 1
+e2mgr/rNibWriter/rNibWriter.go:96.3,96.35 1 1
+e2mgr/rNibWriter/rNibWriter.go:93.20,95.4 1 0
+e2mgr/rNibWriter/rNibWriter.go:99.28,101.20 2 1
+e2mgr/rNibWriter/rNibWriter.go:101.20,103.4 1 1
+e2mgr/rNibWriter/rNibWriter.go:105.28,107.20 2 1
+e2mgr/rNibWriter/rNibWriter.go:107.20,109.4 1 1
+e2mgr/rNibWriter/rNibWriter.go:112.16,114.3 1 1
+e2mgr/rNibWriter/rNibWriter.go:115.24,117.17 2 1
+e2mgr/rNibWriter/rNibWriter.go:120.3,121.17 2 1
+e2mgr/rNibWriter/rNibWriter.go:117.17,119.4 1 0
+e2mgr/rNibWriter/rNibWriter.go:121.17,123.4 1 0
+e2mgr/rNibWriter/rNibWriter.go:131.142,137.20 3 1
+e2mgr/rNibWriter/rNibWriter.go:141.2,143.16 2 1
+e2mgr/rNibWriter/rNibWriter.go:147.2,152.16 4 1
+e2mgr/rNibWriter/rNibWriter.go:156.2,156.12 1 1
+e2mgr/rNibWriter/rNibWriter.go:137.20,139.3 1 1
+e2mgr/rNibWriter/rNibWriter.go:143.16,145.3 1 1
+e2mgr/rNibWriter/rNibWriter.go:152.16,154.3 1 1
+e2mgr/rNibWriter/rNibWriter.go:162.13,164.2 1 1
+e2mgr/rNibWriter/rNibWriter.go:166.144,167.29 1 1
+e2mgr/rNibWriter/rNibWriter.go:184.2,184.19 1 1
+e2mgr/rNibWriter/rNibWriter.go:167.29,170.17 3 1
+e2mgr/rNibWriter/rNibWriter.go:173.3,174.20 2 1
+e2mgr/rNibWriter/rNibWriter.go:177.3,179.20 3 1
+e2mgr/rNibWriter/rNibWriter.go:182.3,182.39 1 1
+e2mgr/rNibWriter/rNibWriter.go:170.17,172.4 1 0
+e2mgr/rNibWriter/rNibWriter.go:174.20,176.4 1 1
+e2mgr/rNibWriter/rNibWriter.go:179.20,181.4 1 0
+e2mgr/rNibWriter/rNibWriter.go:187.143,188.29 1 1
+e2mgr/rNibWriter/rNibWriter.go:205.2,205.19 1 1
+e2mgr/rNibWriter/rNibWriter.go:188.29,191.17 3 1
+e2mgr/rNibWriter/rNibWriter.go:194.3,195.20 2 1
+e2mgr/rNibWriter/rNibWriter.go:198.3,200.20 3 1
+e2mgr/rNibWriter/rNibWriter.go:203.3,203.39 1 1
+e2mgr/rNibWriter/rNibWriter.go:191.17,193.4 1 0
+e2mgr/rNibWriter/rNibWriter.go:195.20,197.4 1 1
+e2mgr/rNibWriter/rNibWriter.go:200.20,202.4 1 0
+e2mgr/rNibWriter/rNibWriter.go:208.55,210.2 1 1
+e2mgr/rmrCgo/rmrCgoTypes.go:31.87,39.2 1 1
+e2mgr/rmrCgo/rmrCgoTypes.go:41.96,48.2 1 1
+e2mgr/rmrCgo/rmrCgoTypes.go:119.32,121.2 1 0
+e2mgr/rmrCgo/rmrCgoUtils.go:32.66,48.93 7 0
+e2mgr/rmrCgo/rmrCgoUtils.go:52.2,52.13 1 0
+e2mgr/rmrCgo/rmrCgoUtils.go:48.93,50.3 1 0
+e2mgr/rmrCgo/rmrCgoUtils.go:55.115,68.50 9 0
+e2mgr/rmrCgo/rmrCgoUtils.go:73.2,74.51 2 0
+e2mgr/rmrCgo/rmrCgoUtils.go:78.2,82.16 4 0
+e2mgr/rmrCgo/rmrCgoUtils.go:86.2,87.16 2 0
+e2mgr/rmrCgo/rmrCgoUtils.go:91.2,92.34 2 0
+e2mgr/rmrCgo/rmrCgoUtils.go:96.2,96.14 1 0
+e2mgr/rmrCgo/rmrCgoUtils.go:68.50,70.3 1 0
+e2mgr/rmrCgo/rmrCgoUtils.go:74.51,76.3 1 0
+e2mgr/rmrCgo/rmrCgoUtils.go:82.16,85.3 1 0
+e2mgr/rmrCgo/rmrCgoUtils.go:87.16,90.3 1 0
+e2mgr/rmrCgo/rmrCgoUtils.go:92.34,95.3 1 0
+e2mgr/rmrCgo/rmrCgoUtils.go:100.47,101.23 1 0
+e2mgr/rmrCgo/rmrCgoUtils.go:101.23,102.24 1 0
+e2mgr/rmrCgo/rmrCgoUtils.go:105.3,105.138 1 0
+e2mgr/rmrCgo/rmrCgoUtils.go:102.24,104.4 1 0
+e2mgr/rmrCgo/rmrCgoApi.go:34.99,41.21 6 1
+e2mgr/rmrCgo/rmrCgoApi.go:48.2,50.11 3 1
+e2mgr/rmrCgo/rmrCgoApi.go:41.21,43.39 2 1
+e2mgr/rmrCgo/rmrCgoApi.go:43.39,46.4 2 0
+e2mgr/rmrCgo/rmrCgoApi.go:53.71,59.21 6 0
+e2mgr/rmrCgo/rmrCgoApi.go:66.2,74.21 7 0
+e2mgr/rmrCgo/rmrCgoApi.go:80.2,81.50 2 0
+e2mgr/rmrCgo/rmrCgoApi.go:59.21,63.3 3 0
+e2mgr/rmrCgo/rmrCgoApi.go:74.21,78.3 3 0
+e2mgr/rmrCgo/rmrCgoApi.go:84.46,93.21 7 0
+e2mgr/rmrCgo/rmrCgoApi.go:99.2,103.18 5 0
+e2mgr/rmrCgo/rmrCgoApi.go:93.21,97.3 3 0
+e2mgr/rmrCgo/rmrCgoApi.go:106.39,112.2 5 0
+e2mgr/rmrCgo/rmrCgoApi.go:114.36,117.2 2 1
+e2mgr/rmrCgo/rmrCgoApi.go:119.29,123.2 3 0
+e2mgr/rnibBuilders/node_info_builder.go:25.111,35.2 8 1
+e2mgr/services/rmr_service.go:38.90,40.2 1 1
+e2mgr/services/rmr_service.go:53.61,62.2 1 1
+e2mgr/services/rmr_service.go:65.21,80.2 9 1
+e2mgr/services/rmr_service.go:82.76,93.16 6 0
+e2mgr/services/rmr_service.go:93.16,96.3 2 0
+e2mgr/services/rmr_service.go:100.40,102.6 1 1
+e2mgr/services/rmr_service.go:102.6,107.17 3 1
+e2mgr/services/rmr_service.go:111.3,111.79 1 0
+e2mgr/services/rmr_service.go:107.17,108.12 1 1
+e2mgr/services/rmr_service.go:115.36,116.5 1 0
+e2mgr/services/rmr_service.go:116.5,119.10 2 0
+e2mgr/services/rmr_service.go:125.3,126.29 2 0
+e2mgr/services/rmr_service.go:119.10,122.9 2 0
+e2mgr/services/rmr_service.go:130.37,131.35 1 1
+e2mgr/services/rmr_service.go:131.35,135.3 3 1
+e2mgr/services/rnib_reader_service.go:30.83,32.2 1 0
+e2mgr/services/rnib_reader_service.go:36.94,38.2 1 0
+e2mgr/services/rnib_reader_service.go:40.90,43.18 2 0
+e2mgr/services/rnib_reader_service.go:47.2,49.18 2 0
+e2mgr/services/rnib_reader_service.go:53.2,55.26 2 0
+e2mgr/services/rnib_reader_service.go:43.18,45.3 1 0
+e2mgr/services/rnib_reader_service.go:49.18,51.3 1 0
 e2mgr/handlers/endc_setup_request_handler.go:36.107,40.2 1 1
 e2mgr/handlers/endc_setup_request_handler.go:42.111,46.20 3 0
 e2mgr/handlers/endc_setup_request_handler.go:52.2,52.16 1 0
@@ -176,60 +240,6 @@ e2mgr/handlers/endc_setup_request_handler.go:71.2,71.11 1 1
 e2mgr/handlers/endc_setup_request_handler.go:60.16,62.3 1 0
 e2mgr/handlers/endc_setup_request_handler.go:62.8,69.3 5 1
 e2mgr/handlers/endc_setup_request_handler.go:74.53,76.2 1 0
-e2mgr/handlers/setup_response_notification_handler.go:33.91,36.16 2 1
-e2mgr/handlers/setup_response_notification_handler.go:40.2,42.8 3 1
-e2mgr/handlers/setup_response_notification_handler.go:46.2,46.136 1 1
-e2mgr/handlers/setup_response_notification_handler.go:36.16,38.3 1 1
-e2mgr/handlers/setup_response_notification_handler.go:42.8,45.3 2 0
-e2mgr/handlers/setup_response_notification_handler.go:49.104,51.2 1 1
-e2mgr/handlers/x2Setup_failure_response_notification_handler.go:32.91,37.16 3 0
-e2mgr/handlers/x2Setup_failure_response_notification_handler.go:41.2,42.8 2 0
-e2mgr/handlers/x2Setup_failure_response_notification_handler.go:37.16,39.3 1 0
-e2mgr/handlers/x2Setup_failure_response_notification_handler.go:42.8,43.29 1 0
-e2mgr/handlers/x2Setup_failure_response_notification_handler.go:64.3,65.44 2 0
-e2mgr/handlers/x2Setup_failure_response_notification_handler.go:43.29,55.87 9 0
-e2mgr/handlers/x2Setup_failure_response_notification_handler.go:55.87,57.5 1 0
-e2mgr/handlers/x2Setup_failure_response_notification_handler.go:57.10,59.30 2 0
-e2mgr/handlers/x2Setup_failure_response_notification_handler.go:59.30,61.6 1 0
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:36.78,37.25 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:51.2,51.12 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:38.31,40.130 2 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:41.28,43.131 2 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:44.27,46.113 2 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:47.23,49.128 2 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:54.114,57.37 2 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:63.2,63.41 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:71.2,71.44 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:79.2,79.171 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:98.2,98.22 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:57.37,61.3 2 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:63.41,64.22 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:67.3,67.93 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:64.22,66.4 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:71.44,72.22 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:75.3,75.93 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:72.22,74.4 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:79.171,80.22 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:83.3,87.91 5 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:95.3,95.67 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:80.22,82.4 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:87.91,94.4 4 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:102.90,105.54 2 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:138.2,138.27 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:105.54,108.120 2 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:108.120,110.74 2 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:110.74,113.64 3 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:113.64,114.34 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:114.34,115.46 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:116.49,119.22 3 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:122.54,123.131 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:124.66,126.66 2 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:119.22,121.9 1 0
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:126.66,128.9 1 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:128.14,130.9 1 0
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:141.192,143.16 2 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:147.2,149.46 2 1
-e2mgr/handlers/x2setupFailureResponseToProtobuf.go:143.16,145.3 1 0
 e2mgr/handlers/endc_x2Setup_failure_response_notification_handler.go:33.91,38.16 3 0
 e2mgr/handlers/endc_x2Setup_failure_response_notification_handler.go:42.2,43.8 2 0
 e2mgr/handlers/endc_x2Setup_failure_response_notification_handler.go:38.16,40.3 1 0
@@ -239,21 +249,12 @@ e2mgr/handlers/endc_x2Setup_failure_response_notification_handler.go:44.29,56.87
 e2mgr/handlers/endc_x2Setup_failure_response_notification_handler.go:56.87,58.5 1 0
 e2mgr/handlers/endc_x2Setup_failure_response_notification_handler.go:58.10,60.30 2 0
 e2mgr/handlers/endc_x2Setup_failure_response_notification_handler.go:60.30,62.6 1 0
-e2mgr/handlers/ric_enb_load_information_notification_handler.go:13.91,17.16 2 0
-e2mgr/handlers/ric_enb_load_information_notification_handler.go:21.2,22.151 2 0
-e2mgr/handlers/ric_enb_load_information_notification_handler.go:17.16,19.3 1 0
-e2mgr/handlers/ranLostConnectionHandler.go:36.153,41.2 1 1
-e2mgr/handlers/ranLostConnectionHandler.go:43.91,49.86 4 1
-e2mgr/handlers/ranLostConnectionHandler.go:63.2,65.8 3 1
-e2mgr/handlers/ranLostConnectionHandler.go:49.86,51.3 1 1
-e2mgr/handlers/ranLostConnectionHandler.go:51.8,55.83 4 1
-e2mgr/handlers/ranLostConnectionHandler.go:55.83,57.4 1 1
-e2mgr/handlers/ranLostConnectionHandler.go:57.9,61.4 2 1
-e2mgr/handlers/ranLostConnectionHandler.go:65.8,68.3 2 1
-e2mgr/handlers/ranLostConnectionHandler.go:72.70,73.28 1 1
-e2mgr/handlers/ranLostConnectionHandler.go:74.131,75.63 1 1
-e2mgr/handlers/ranLostConnectionHandler.go:76.46,77.153 1 1
-e2mgr/handlers/ranLostConnectionHandler.go:78.10,79.60 1 1
+e2mgr/handlers/endc_x2apSetupRequest_asn1_packer.go:32.221,39.96 4 1
+e2mgr/handlers/endc_x2apSetupRequest_asn1_packer.go:43.2,43.27 1 1
+e2mgr/handlers/endc_x2apSetupRequest_asn1_packer.go:52.2,52.39 1 1
+e2mgr/handlers/endc_x2apSetupRequest_asn1_packer.go:39.96,41.3 1 1
+e2mgr/handlers/endc_x2apSetupRequest_asn1_packer.go:43.27,46.119 3 0
+e2mgr/handlers/endc_x2apSetupRequest_asn1_packer.go:46.119,49.4 2 0
 e2mgr/handlers/setup_request_handler.go:58.99,62.2 1 1
 e2mgr/handlers/setup_request_handler.go:64.107,68.20 3 0
 e2mgr/handlers/setup_request_handler.go:74.2,74.16 1 0
@@ -280,6 +281,232 @@ e2mgr/handlers/setup_request_handler.go:131.134,133.3 1 1
 e2mgr/handlers/setup_request_handler.go:139.49,141.2 1 0
 e2mgr/handlers/setup_request_handler.go:143.13,147.42 2 1
 e2mgr/handlers/setup_request_handler.go:147.42,148.13 1 0
+e2mgr/handlers/x2Setup_failure_response_notification_handler.go:32.91,37.16 3 0
+e2mgr/handlers/x2Setup_failure_response_notification_handler.go:41.2,42.8 2 0
+e2mgr/handlers/x2Setup_failure_response_notification_handler.go:37.16,39.3 1 0
+e2mgr/handlers/x2Setup_failure_response_notification_handler.go:42.8,43.29 1 0
+e2mgr/handlers/x2Setup_failure_response_notification_handler.go:64.3,65.44 2 0
+e2mgr/handlers/x2Setup_failure_response_notification_handler.go:43.29,55.87 9 0
+e2mgr/handlers/x2Setup_failure_response_notification_handler.go:55.87,57.5 1 0
+e2mgr/handlers/x2Setup_failure_response_notification_handler.go:57.10,59.30 2 0
+e2mgr/handlers/x2Setup_failure_response_notification_handler.go:59.30,61.6 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:31.98,33.52 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:37.2,39.116 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:43.2,45.35 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:49.2,51.31 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:55.2,59.93 3 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:63.2,67.87 3 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:71.2,71.176 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:33.52,35.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:39.116,41.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:45.35,47.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:51.31,53.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:59.93,61.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:67.87,69.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:74.144,78.16 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:82.2,85.16 3 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:89.2,91.12 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:78.16,80.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:85.16,87.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:94.106,96.84 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:100.2,100.80 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:96.84,98.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:103.135,110.16 4 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:114.2,114.55 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:118.2,120.16 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:124.2,124.53 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:128.2,130.41 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:140.2,142.49 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:146.2,148.16 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:152.2,152.12 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:110.16,112.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:114.55,116.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:120.16,122.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:124.53,126.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:130.41,133.17 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:137.3,137.128 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:133.17,135.4 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:142.49,144.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:148.16,150.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:156.42,160.2 3 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:162.180,164.62 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:168.2,168.20 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:164.62,166.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:171.171,173.66 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:177.2,179.103 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:183.2,185.54 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:173.66,175.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:179.103,181.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:188.84,193.2 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:195.82,204.37 3 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:208.2,208.22 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:204.37,206.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:211.66,213.2 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:215.54,217.2 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:219.169,229.28 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:233.2,233.35 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:229.28,231.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:236.120,238.58 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:242.2,242.104 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:238.58,240.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:245.174,248.57 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:256.2,256.14 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:248.57,254.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:259.171,262.50 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:266.2,268.119 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:272.2,274.54 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:262.50,264.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:268.119,270.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:277.130,280.19 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:284.2,286.22 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:290.2,290.114 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:280.19,282.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:286.22,288.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:293.132,297.19 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:301.2,303.22 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:307.2,311.116 3 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:315.2,315.94 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:297.19,299.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:303.22,305.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:311.116,313.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:318.117,321.33 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:325.2,332.29 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:321.33,323.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:335.117,338.33 2 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:342.2,349.29 2 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:338.33,340.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:352.144,355.35 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:364.2,364.133 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:356.31,357.59 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:358.31,359.59 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:360.40,361.87 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:367.180,371.56 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:375.2,377.59 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:381.2,381.53 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:371.56,373.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:377.59,379.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:384.170,392.2 3 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:394.135,398.22 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:402.2,402.29 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:406.2,408.59 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:412.2,412.58 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:398.22,400.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:402.29,404.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:408.59,410.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:415.50,417.28 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:421.2,421.12 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:417.28,419.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:424.202,427.36 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:431.2,433.54 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:438.2,438.51 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:442.2,444.16 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:448.2,448.21 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:452.2,452.47 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:427.36,429.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:433.54,436.3 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:438.51,440.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:444.16,446.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:448.21,450.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:455.161,458.105 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:462.2,462.103 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:466.2,466.107 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:458.105,460.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:462.103,464.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:469.136,472.44 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:476.2,478.44 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:482.2,482.45 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:472.44,474.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:478.44,480.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:485.110,490.2 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:492.145,498.102 3 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:502.2,504.69 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:509.2,509.32 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:498.102,500.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:504.69,507.3 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:512.146,516.16 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:520.2,525.30 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:516.16,518.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:528.127,535.16 4 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:539.2,539.40 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:543.2,545.106 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:549.2,551.65 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:561.2,561.30 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:535.16,537.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:539.40,541.3 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:545.106,547.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:551.65,554.17 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:558.3,558.107 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:554.17,556.4 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:564.141,567.16 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:571.2,572.12 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:567.16,569.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:575.143,579.2 3 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:581.152,585.2 3 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:587.161,591.2 3 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:593.142,596.16 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:600.2,601.12 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:596.16,598.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:604.159,607.16 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:611.2,612.12 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:607.16,609.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:615.161,616.31 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:632.2,632.12 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:616.31,620.12 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:624.3,626.17 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:620.12,621.12 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:626.17,628.4 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:635.114,641.16 3 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:645.2,645.69 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:653.2,653.12 1 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:641.16,643.3 1 0
+e2mgr/handlers/enb_load_information_to_protobuf.go:645.69,648.17 2 1
+e2mgr/handlers/enb_load_information_to_protobuf.go:648.17,650.4 1 0
+e2mgr/handlers/endc_configuration_update_handler.go:36.54,43.16 6 1
+e2mgr/handlers/endc_configuration_update_handler.go:67.2,67.230 1 1
+e2mgr/handlers/endc_configuration_update_handler.go:43.16,45.13 2 1
+e2mgr/handlers/endc_configuration_update_handler.go:53.3,53.93 1 1
+e2mgr/handlers/endc_configuration_update_handler.go:45.13,50.4 4 1
+e2mgr/handlers/endc_configuration_update_handler.go:50.9,52.4 1 0
+e2mgr/handlers/endc_configuration_update_handler.go:54.8,58.13 4 0
+e2mgr/handlers/endc_configuration_update_handler.go:58.13,63.4 4 0
+e2mgr/handlers/endc_configuration_update_handler.go:63.9,65.4 1 0
+e2mgr/handlers/endc_setup_response_notification_handler.go:34.91,40.16 3 0
+e2mgr/handlers/endc_setup_response_notification_handler.go:44.2,45.8 2 0
+e2mgr/handlers/endc_setup_response_notification_handler.go:40.16,42.3 1 0
+e2mgr/handlers/endc_setup_response_notification_handler.go:45.8,47.17 1 0
+e2mgr/handlers/endc_setup_response_notification_handler.go:72.3,73.44 2 0
+e2mgr/handlers/endc_setup_response_notification_handler.go:47.17,62.87 12 0
+e2mgr/handlers/endc_setup_response_notification_handler.go:62.87,64.5 1 0
+e2mgr/handlers/endc_setup_response_notification_handler.go:64.10,66.30 2 0
+e2mgr/handlers/endc_setup_response_notification_handler.go:66.30,68.6 1 0
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:32.94,35.54 2 1
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:68.2,68.27 1 1
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:35.54,38.124 2 1
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:38.124,40.82 2 1
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:40.82,43.72 3 1
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:43.72,44.38 1 1
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:44.38,45.50 1 1
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:46.53,49.22 3 1
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:52.58,53.135 1 1
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:54.70,56.66 2 1
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:49.22,51.9 1 0
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:56.66,58.9 1 1
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:58.14,60.9 1 0
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:71.196,73.16 2 1
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:77.2,79.50 2 1
+e2mgr/handlers/endc_x2setupFailureResponseToProtobuf.go:73.16,75.3 1 0
+e2mgr/handlers/setup_response_notification_handler.go:33.91,36.16 2 1
+e2mgr/handlers/setup_response_notification_handler.go:40.2,42.8 3 1
+e2mgr/handlers/setup_response_notification_handler.go:46.2,46.136 1 1
+e2mgr/handlers/setup_response_notification_handler.go:36.16,38.3 1 1
+e2mgr/handlers/setup_response_notification_handler.go:42.8,45.3 2 0
+e2mgr/handlers/setup_response_notification_handler.go:49.104,51.2 1 1
+e2mgr/handlers/x2apSetupRequest_asn1_packer.go:32.217,39.96 4 1
+e2mgr/handlers/x2apSetupRequest_asn1_packer.go:43.2,43.27 1 1
+e2mgr/handlers/x2apSetupRequest_asn1_packer.go:51.2,51.39 1 1
+e2mgr/handlers/x2apSetupRequest_asn1_packer.go:39.96,41.3 1 1
+e2mgr/handlers/x2apSetupRequest_asn1_packer.go:43.27,46.119 3 0
+e2mgr/handlers/x2apSetupRequest_asn1_packer.go:46.119,49.4 2 0
 e2mgr/handlers/x2enb_configuration_update_handler.go:36.54,43.16 6 1
 e2mgr/handlers/x2enb_configuration_update_handler.go:68.2,68.230 1 1
 e2mgr/handlers/x2enb_configuration_update_handler.go:43.16,45.12 2 1
@@ -397,39 +624,15 @@ e2mgr/handlers/x2setupResponseToProtobuf.go:410.21,412.8 1 0
 e2mgr/handlers/x2setupResponseToProtobuf.go:430.198,432.16 2 1
 e2mgr/handlers/x2setupResponseToProtobuf.go:436.2,437.39 2 1
 e2mgr/handlers/x2setupResponseToProtobuf.go:432.16,434.3 1 0
-e2mgr/handlers/endc_configuration_update_handler.go:36.54,43.16 6 1
-e2mgr/handlers/endc_configuration_update_handler.go:67.2,67.230 1 1
-e2mgr/handlers/endc_configuration_update_handler.go:43.16,45.13 2 1
-e2mgr/handlers/endc_configuration_update_handler.go:53.3,53.93 1 1
-e2mgr/handlers/endc_configuration_update_handler.go:45.13,50.4 4 1
-e2mgr/handlers/endc_configuration_update_handler.go:50.9,52.4 1 0
-e2mgr/handlers/endc_configuration_update_handler.go:54.8,58.13 4 0
-e2mgr/handlers/endc_configuration_update_handler.go:58.13,63.4 4 0
-e2mgr/handlers/endc_configuration_update_handler.go:63.9,65.4 1 0
-e2mgr/handlers/endc_x2apSetupRequest_asn1_packer.go:32.221,39.96 4 1
-e2mgr/handlers/endc_x2apSetupRequest_asn1_packer.go:43.2,43.27 1 1
-e2mgr/handlers/endc_x2apSetupRequest_asn1_packer.go:52.2,52.39 1 1
-e2mgr/handlers/endc_x2apSetupRequest_asn1_packer.go:39.96,41.3 1 1
-e2mgr/handlers/endc_x2apSetupRequest_asn1_packer.go:43.27,46.119 3 0
-e2mgr/handlers/endc_x2apSetupRequest_asn1_packer.go:46.119,49.4 2 0
-e2mgr/handlers/x2apPdu_asn1_unpacker.go:36.158,39.16 2 1
-e2mgr/handlers/x2apPdu_asn1_unpacker.go:43.2,46.132 3 1
-e2mgr/handlers/x2apPdu_asn1_unpacker.go:50.2,50.27 1 1
-e2mgr/handlers/x2apPdu_asn1_unpacker.go:55.2,55.17 1 1
-e2mgr/handlers/x2apPdu_asn1_unpacker.go:39.16,41.3 1 0
-e2mgr/handlers/x2apPdu_asn1_unpacker.go:46.132,48.3 1 1
-e2mgr/handlers/x2apPdu_asn1_unpacker.go:50.27,53.3 2 1
-e2mgr/handlers/x2apPdu_asn1_unpacker.go:58.175,60.16 2 1
-e2mgr/handlers/x2apPdu_asn1_unpacker.go:64.2,67.27 3 1
-e2mgr/handlers/x2apPdu_asn1_unpacker.go:73.2,73.62 1 1
-e2mgr/handlers/x2apPdu_asn1_unpacker.go:60.16,62.3 1 1
-e2mgr/handlers/x2apPdu_asn1_unpacker.go:67.27,71.3 3 1
-e2mgr/handlers/x2apSetupRequest_asn1_packer.go:32.217,39.96 4 1
-e2mgr/handlers/x2apSetupRequest_asn1_packer.go:43.2,43.27 1 1
-e2mgr/handlers/x2apSetupRequest_asn1_packer.go:51.2,51.39 1 1
-e2mgr/handlers/x2apSetupRequest_asn1_packer.go:39.96,41.3 1 1
-e2mgr/handlers/x2apSetupRequest_asn1_packer.go:43.27,46.119 3 0
-e2mgr/handlers/x2apSetupRequest_asn1_packer.go:46.119,49.4 2 0
+e2mgr/handlers/enb_load_information_notification_handler.go:17.134,21.2 1 1
+e2mgr/handlers/enb_load_information_notification_handler.go:23.43,25.2 1 1
+e2mgr/handlers/enb_load_information_notification_handler.go:27.201,42.16 2 1
+e2mgr/handlers/enb_load_information_notification_handler.go:47.2,53.18 4 1
+e2mgr/handlers/enb_load_information_notification_handler.go:58.2,62.20 3 1
+e2mgr/handlers/enb_load_information_notification_handler.go:67.2,67.190 1 1
+e2mgr/handlers/enb_load_information_notification_handler.go:42.16,45.3 2 1
+e2mgr/handlers/enb_load_information_notification_handler.go:53.18,56.3 2 0
+e2mgr/handlers/enb_load_information_notification_handler.go:62.20,65.3 2 0
 e2mgr/handlers/endc_x2setupResponseToProtobuf.go:39.80,43.36 3 1
 e2mgr/handlers/endc_x2setupResponseToProtobuf.go:53.2,53.104 1 1
 e2mgr/handlers/endc_x2setupResponseToProtobuf.go:71.2,71.18 1 1
@@ -525,77 +728,114 @@ e2mgr/handlers/endc_x2setupResponseToProtobuf.go:298.25,300.12 1 0
 e2mgr/handlers/endc_x2setupResponseToProtobuf.go:318.202,320.16 2 1
 e2mgr/handlers/endc_x2setupResponseToProtobuf.go:324.2,325.43 2 1
 e2mgr/handlers/endc_x2setupResponseToProtobuf.go:320.16,322.3 1 0
-e2mgr/providers/incoming_request_handler_provider.go:24.79,30.2 1 0
-e2mgr/providers/incoming_request_handler_provider.go:33.91,38.2 1 0
-e2mgr/providers/incoming_request_handler_provider.go:40.121,43.9 2 0
-e2mgr/providers/incoming_request_handler_provider.go:48.2,48.21 1 0
-e2mgr/providers/incoming_request_handler_provider.go:43.9,46.3 2 0
-e2mgr/providers/notification_handler_provider.go:34.160,40.2 1 1
-e2mgr/providers/notification_handler_provider.go:42.164,54.2 1 1
-e2mgr/providers/notification_handler_provider.go:56.123,59.9 2 1
-e2mgr/providers/notification_handler_provider.go:63.2,63.21 1 1
-e2mgr/providers/notification_handler_provider.go:59.9,61.3 1 1
-e2mgr/providers/request_handler_provider.go:32.105,35.2 2 1
-e2mgr/providers/request_handler_provider.go:37.98,42.2 1 1
-e2mgr/providers/request_handler_provider.go:44.120,47.9 2 1
-e2mgr/providers/request_handler_provider.go:53.2,53.21 1 1
-e2mgr/providers/request_handler_provider.go:47.9,51.3 3 1
-e2mgr/rnibBuilders/node_info_builder.go:25.111,34.2 7 1
-e2mgr/services/rnib_reader_service.go:30.83,32.2 1 0
-e2mgr/services/rnib_reader_service.go:36.94,38.2 1 0
-e2mgr/services/rnib_reader_service.go:40.90,43.18 2 0
-e2mgr/services/rnib_reader_service.go:47.2,49.18 2 0
-e2mgr/services/rnib_reader_service.go:53.2,55.26 2 0
-e2mgr/services/rnib_reader_service.go:43.18,45.3 1 0
-e2mgr/services/rnib_reader_service.go:49.18,51.3 1 0
-e2mgr/services/rmr_service.go:38.90,40.2 1 1
-e2mgr/services/rmr_service.go:53.61,62.2 1 1
-e2mgr/services/rmr_service.go:65.21,80.2 9 1
-e2mgr/services/rmr_service.go:82.76,93.16 6 0
-e2mgr/services/rmr_service.go:93.16,96.3 2 0
-e2mgr/services/rmr_service.go:100.40,102.6 1 1
-e2mgr/services/rmr_service.go:102.6,107.17 3 1
-e2mgr/services/rmr_service.go:111.3,111.79 1 0
-e2mgr/services/rmr_service.go:107.17,108.12 1 1
-e2mgr/services/rmr_service.go:115.36,116.5 1 0
-e2mgr/services/rmr_service.go:116.5,119.10 2 0
-e2mgr/services/rmr_service.go:125.3,126.29 2 0
-e2mgr/services/rmr_service.go:119.10,122.9 2 0
-e2mgr/services/rmr_service.go:130.37,131.35 1 1
-e2mgr/services/rmr_service.go:131.35,135.3 3 1
-e2mgr/rmrCgo/rmrCgoApi.go:34.99,41.21 6 1
-e2mgr/rmrCgo/rmrCgoApi.go:48.2,50.11 3 1
-e2mgr/rmrCgo/rmrCgoApi.go:41.21,43.39 2 1
-e2mgr/rmrCgo/rmrCgoApi.go:43.39,46.4 2 0
-e2mgr/rmrCgo/rmrCgoApi.go:53.71,59.21 6 0
-e2mgr/rmrCgo/rmrCgoApi.go:66.2,74.21 7 0
-e2mgr/rmrCgo/rmrCgoApi.go:80.2,81.50 2 0
-e2mgr/rmrCgo/rmrCgoApi.go:59.21,63.3 3 0
-e2mgr/rmrCgo/rmrCgoApi.go:74.21,78.3 3 0
-e2mgr/rmrCgo/rmrCgoApi.go:84.46,93.21 7 0
-e2mgr/rmrCgo/rmrCgoApi.go:99.2,103.18 5 0
-e2mgr/rmrCgo/rmrCgoApi.go:93.21,97.3 3 0
-e2mgr/rmrCgo/rmrCgoApi.go:106.39,112.2 5 0
-e2mgr/rmrCgo/rmrCgoApi.go:114.36,117.2 2 1
-e2mgr/rmrCgo/rmrCgoApi.go:119.29,123.2 3 0
-e2mgr/rmrCgo/rmrCgoTypes.go:31.87,39.2 1 1
-e2mgr/rmrCgo/rmrCgoTypes.go:41.96,48.2 1 1
-e2mgr/rmrCgo/rmrCgoTypes.go:119.32,121.2 1 0
-e2mgr/rmrCgo/rmrCgoUtils.go:32.66,48.93 7 0
-e2mgr/rmrCgo/rmrCgoUtils.go:52.2,52.13 1 0
-e2mgr/rmrCgo/rmrCgoUtils.go:48.93,50.3 1 0
-e2mgr/rmrCgo/rmrCgoUtils.go:55.115,68.50 9 0
-e2mgr/rmrCgo/rmrCgoUtils.go:73.2,74.51 2 0
-e2mgr/rmrCgo/rmrCgoUtils.go:78.2,82.16 4 0
-e2mgr/rmrCgo/rmrCgoUtils.go:86.2,87.16 2 0
-e2mgr/rmrCgo/rmrCgoUtils.go:91.2,92.34 2 0
-e2mgr/rmrCgo/rmrCgoUtils.go:96.2,96.14 1 0
-e2mgr/rmrCgo/rmrCgoUtils.go:68.50,70.3 1 0
-e2mgr/rmrCgo/rmrCgoUtils.go:74.51,76.3 1 0
-e2mgr/rmrCgo/rmrCgoUtils.go:82.16,85.3 1 0
-e2mgr/rmrCgo/rmrCgoUtils.go:87.16,90.3 1 0
-e2mgr/rmrCgo/rmrCgoUtils.go:92.34,95.3 1 0
-e2mgr/rmrCgo/rmrCgoUtils.go:100.47,101.23 1 0
-e2mgr/rmrCgo/rmrCgoUtils.go:101.23,102.24 1 0
-e2mgr/rmrCgo/rmrCgoUtils.go:105.3,105.138 1 0
-e2mgr/rmrCgo/rmrCgoUtils.go:102.24,104.4 1 0
+e2mgr/handlers/ranLostConnectionHandler.go:36.153,41.2 1 1
+e2mgr/handlers/ranLostConnectionHandler.go:43.91,49.86 4 1
+e2mgr/handlers/ranLostConnectionHandler.go:63.2,65.8 3 1
+e2mgr/handlers/ranLostConnectionHandler.go:49.86,51.3 1 1
+e2mgr/handlers/ranLostConnectionHandler.go:51.8,55.83 4 1
+e2mgr/handlers/ranLostConnectionHandler.go:55.83,57.4 1 1
+e2mgr/handlers/ranLostConnectionHandler.go:57.9,61.4 2 1
+e2mgr/handlers/ranLostConnectionHandler.go:65.8,68.3 2 1
+e2mgr/handlers/ranLostConnectionHandler.go:72.70,73.28 1 1
+e2mgr/handlers/ranLostConnectionHandler.go:74.131,75.63 1 1
+e2mgr/handlers/ranLostConnectionHandler.go:76.46,77.153 1 1
+e2mgr/handlers/ranLostConnectionHandler.go:78.10,79.60 1 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:31.162,34.16 2 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:38.2,41.159 3 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:45.2,45.27 1 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:50.2,50.17 1 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:34.16,36.3 1 0
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:41.159,43.3 1 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:45.27,48.3 2 0
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:78.158,81.16 2 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:85.2,88.132 3 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:92.2,92.27 1 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:97.2,97.17 1 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:81.16,83.3 1 0
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:88.132,90.3 1 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:92.27,95.3 2 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:100.175,102.16 2 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:106.2,109.27 3 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:115.2,115.62 1 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:102.16,104.3 1 1
+e2mgr/handlers/x2apPdu_asn1_unpacker.go:109.27,113.3 3 1
+e2mgr/handlers/x2apSetup_response_notification_handler.go:33.91,38.16 3 0
+e2mgr/handlers/x2apSetup_response_notification_handler.go:42.2,44.8 2 0
+e2mgr/handlers/x2apSetup_response_notification_handler.go:38.16,40.3 1 0
+e2mgr/handlers/x2apSetup_response_notification_handler.go:44.8,45.17 1 0
+e2mgr/handlers/x2apSetup_response_notification_handler.go:69.3,70.44 2 0
+e2mgr/handlers/x2apSetup_response_notification_handler.go:45.17,60.87 12 0
+e2mgr/handlers/x2apSetup_response_notification_handler.go:60.87,62.5 1 0
+e2mgr/handlers/x2apSetup_response_notification_handler.go:62.10,64.30 2 0
+e2mgr/handlers/x2apSetup_response_notification_handler.go:64.30,66.6 1 0
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:36.78,37.25 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:51.2,51.12 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:38.31,40.130 2 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:41.28,43.131 2 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:44.27,46.113 2 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:47.23,49.128 2 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:54.114,57.37 2 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:63.2,63.41 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:71.2,71.44 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:79.2,79.171 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:98.2,98.22 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:57.37,61.3 2 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:63.41,64.22 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:67.3,67.93 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:64.22,66.4 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:71.44,72.22 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:75.3,75.93 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:72.22,74.4 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:79.171,80.22 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:83.3,87.91 5 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:95.3,95.67 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:80.22,82.4 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:87.91,94.4 4 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:102.90,105.54 2 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:138.2,138.27 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:105.54,108.120 2 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:108.120,110.74 2 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:110.74,113.64 3 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:113.64,114.34 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:114.34,115.46 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:116.49,119.22 3 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:122.54,123.131 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:124.66,126.66 2 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:119.22,121.9 1 0
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:126.66,128.9 1 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:128.14,130.9 1 0
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:141.192,143.16 2 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:147.2,149.46 2 1
+e2mgr/handlers/x2setupFailureResponseToProtobuf.go:143.16,145.3 1 0
+e2mgr/handlers/delete_all_request_handler.go:41.68,47.2 1 1
+e2mgr/handlers/delete_all_request_handler.go:49.158,52.16 2 1
+e2mgr/handlers/delete_all_request_handler.go:56.2,56.26 1 1
+e2mgr/handlers/delete_all_request_handler.go:61.2,68.16 6 1
+e2mgr/handlers/delete_all_request_handler.go:72.2,72.12 1 1
+e2mgr/handlers/delete_all_request_handler.go:52.16,54.3 1 1
+e2mgr/handlers/delete_all_request_handler.go:56.26,58.3 1 1
+e2mgr/handlers/delete_all_request_handler.go:68.16,70.3 1 0
+e2mgr/handlers/delete_all_request_handler.go:75.116,78.16 2 1
+e2mgr/handlers/delete_all_request_handler.go:83.2,83.30 1 1
+e2mgr/handlers/delete_all_request_handler.go:87.2,87.42 1 1
+e2mgr/handlers/delete_all_request_handler.go:105.2,106.18 2 1
+e2mgr/handlers/delete_all_request_handler.go:78.16,81.3 2 1
+e2mgr/handlers/delete_all_request_handler.go:83.30,85.3 1 1
+e2mgr/handlers/delete_all_request_handler.go:87.42,91.17 2 1
+e2mgr/handlers/delete_all_request_handler.go:97.3,97.20 1 1
+e2mgr/handlers/delete_all_request_handler.go:102.3,102.55 1 1
+e2mgr/handlers/delete_all_request_handler.go:91.17,94.12 2 1
+e2mgr/handlers/delete_all_request_handler.go:97.20,100.12 2 1
+e2mgr/handlers/delete_all_request_handler.go:109.142,112.18 2 1
+e2mgr/handlers/delete_all_request_handler.go:116.2,120.16 3 1
+e2mgr/handlers/delete_all_request_handler.go:126.2,126.27 1 1
+e2mgr/handlers/delete_all_request_handler.go:112.18,114.3 1 1
+e2mgr/handlers/delete_all_request_handler.go:120.16,124.3 2 1
+e2mgr/handlers/delete_all_request_handler.go:126.27,129.3 1 0
+e2mgr/handlers/delete_all_request_handler.go:132.146,134.65 1 1
+e2mgr/handlers/delete_all_request_handler.go:138.2,138.70 1 1
+e2mgr/handlers/delete_all_request_handler.go:143.2,147.16 3 1
+e2mgr/handlers/delete_all_request_handler.go:153.2,153.137 1 1
+e2mgr/handlers/delete_all_request_handler.go:134.65,136.3 1 1
+e2mgr/handlers/delete_all_request_handler.go:138.70,141.3 2 0
+e2mgr/handlers/delete_all_request_handler.go:147.16,151.3 2 1
diff --git a/E2Manager/handlers/enb_load_information_notification_handler.go b/E2Manager/handlers/enb_load_information_notification_handler.go
new file mode 100644 (file)
index 0000000..91461f9
--- /dev/null
@@ -0,0 +1,57 @@
+package handlers
+
+import "C"
+import (
+       "e2mgr/logger"
+       "e2mgr/models"
+       "e2mgr/rNibWriter"
+       "e2mgr/sessions"
+       "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
+       "time"
+)
+
+type EnbLoadInformationNotificationHandler struct {
+       rnibWriterProvider func() rNibWriter.RNibWriter
+}
+
+func NewEnbLoadInformationNotificationHandler(rnibWriterProvider func() rNibWriter.RNibWriter) EnbLoadInformationNotificationHandler {
+       return EnbLoadInformationNotificationHandler{
+               rnibWriterProvider: rnibWriterProvider,
+       }
+}
+
+func elapsed(startTime time.Time) float64 {
+       return float64(time.Since(startTime)) / float64(time.Millisecond)
+}
+
+func (src EnbLoadInformationNotificationHandler) Handle(logger *logger.Logger, e2Sessions sessions.E2Sessions, request *models.NotificationRequest, messageChannel chan<- *models.NotificationResponse) {
+
+       pdu, err := unpackX2apPdu(logger, MaxAsn1CodecAllocationBufferSize, request.Len, request.Payload, MaxAsn1CodecMessageBufferSize)
+
+       if err != nil {
+               logger.Errorf("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Unpack failed. Error: %v", request.RanName, err)
+               return
+       }
+
+       logger.Debugf("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Unpacked message successfully", request.RanName)
+
+       ranLoadInformation := &entities.RanLoadInformation{LoadTimestamp: uint64(request.StartTime.UnixNano())}
+
+       err = extractAndBuildRanLoadInformation(pdu, ranLoadInformation)
+
+       if (err != nil) {
+               logger.Errorf("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Failed at extractAndBuildRanLoadInformation. Error: %v", request.RanName, err)
+               return
+       }
+
+       logger.Debugf("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Successfully done with extracting and building RAN load information. elapsed: %f ms", request.RanName, elapsed(request.StartTime))
+
+       rnibErr := src.rnibWriterProvider().SaveRanLoadInformation(request.RanName, ranLoadInformation)
+
+       if rnibErr != nil {
+               logger.Errorf("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Failed saving RAN load information. Error: %v", request.RanName, rnibErr)
+               return
+       }
+
+       logger.Infof("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Successfully saved RAN load information to RNIB. elapsed: %f ms", request.RanName, elapsed(request.StartTime))
+}
diff --git a/E2Manager/handlers/enb_load_information_notification_handler_test.go b/E2Manager/handlers/enb_load_information_notification_handler_test.go
new file mode 100644 (file)
index 0000000..c3e31f0
--- /dev/null
@@ -0,0 +1,143 @@
+//
+// Copyright 2019 AT&T Intellectual Property
+// Copyright 2019 Nokia
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+package handlers
+
+import (
+       "e2mgr/logger"
+       "e2mgr/models"
+       "e2mgr/sessions"
+       "fmt"
+       "time"
+)
+
+const (
+       FullUperPdu  string = "004c07080004001980da0100075bde017c148003d5a8205000017c180003d5a875555403331420000012883a0003547400cd20002801ea16007c1f07c1f107c1f0781e007c80800031a02c000c88199040a00352083669190000d8908020000be0c4001ead4016e007ab50100002f8320067ab5005b8c1ead5070190c00001d637805f220000f56a081400005f020000f56a1d555400ccc508002801ea16007c1f07c1f107c1f0781e007c80800031a02c000c88199040a00352083669190000d8908020000be044001ead4016e007ab50100002f8120067ab5005b8c1ead5070190c00000"
+       FullAperPdu string = "" // TODO: populate and use it
+       BasicUperPdu string = "004898000400190d0000074200017c148003d5a80000"
+       BasicAperPdu string = "" // TODO: populate and use it
+       GarbagePdu   string = "12312312"
+)
+
+func createNotificationRequest(ranName string, transactionId string, packedPdu string) (*models.NotificationRequest, error) {
+       var packedByteSlice []byte
+
+       _, err := fmt.Sscanf(packedPdu, "%x", &packedByteSlice)
+
+       if err != nil {
+               return nil, err
+       }
+
+       return models.NewNotificationRequest(ranName, packedByteSlice, time.Now(), transactionId), nil
+}
+
+func createNotificationRequestAndHandle(log *logger.Logger, ranName string, transactionId string, loadInformationHandler EnbLoadInformationNotificationHandler, pdu string) error {
+       notificationRequest, err := createNotificationRequest(ranName, transactionId, pdu)
+
+       if err != nil {
+               return err
+       }
+
+       loadInformationHandler.Handle(log, sessions.E2Sessions{}, notificationRequest, nil)
+       return nil
+}
+
+//func TestLoadInformationHandlerSuccess(t *testing.T) {
+//     log, err := logger.InitLogger(logger.InfoLevel)
+//     if err != nil {
+//             t.Errorf("#setup_request_handler_test.TestLoadInformationHandlerSuccess - failed to initialize logger, error: %v", err)
+//     }
+//
+//     inventoryName := "testRan"
+//
+//     writerMock := &mocks.RnibWriterMock{}
+//     rnibWriterProvider := func() rNibWriter.RNibWriter {
+//             return writerMock
+//     }
+//
+//     var rnibErr common.IRNibError
+//     writerMock.On("SaveRanLoadInformation",inventoryName, mock.Anything).Return(rnibErr)
+//
+//     loadInformationHandler := NewEnbLoadInformationNotificationHandler(rnibWriterProvider)
+//
+//     var packedExampleByteSlice []byte
+//     _, err = fmt.Sscanf(FullUperPdu, "%x", &packedExampleByteSlice)
+//     notificationRequest := models.NewNotificationRequest(inventoryName, packedExampleByteSlice, time.Now(), " 881828026419")
+//     loadInformationHandler.Handle(log, sessions.E2Sessions{}, notificationRequest, nil)
+//
+//     writerMock.AssertNumberOfCalls(t, "SaveRanLoadInformation", 1)
+//}
+//
+//func TestLoadInformationHandlerPayloadFailure(t *testing.T) {
+//     log, err := logger.InitLogger(logger.InfoLevel)
+//     if err != nil {
+//             t.Errorf("#setup_request_handler_test.TestLoadInformationHandlerPayloadFailure - failed to initialize logger, error: %v", err)
+//     }
+//
+//     inventoryName := "testRan"
+//
+//     writerMock := &mocks.RnibWriterMock{}
+//     rnibWriterProvider := func() rNibWriter.RNibWriter {
+//             return writerMock
+//     }
+//
+//     var rnibErr common.IRNibError
+//     writerMock.On("SaveRanLoadInformation",inventoryName, mock.Anything).Return(rnibErr)
+//
+//     loadInformationHandler := NewEnbLoadInformationNotificationHandler(rnibWriterProvider)
+//
+//     var packedExampleByteSlice []byte
+//     _, err = fmt.Sscanf(GarbagePdu, "%x", &packedExampleByteSlice)
+//     notificationRequest := models.NewNotificationRequest(inventoryName, packedExampleByteSlice, time.Now(), " 881828026419")
+//     loadInformationHandler.Handle(log, sessions.E2Sessions{}, notificationRequest, nil)
+//
+//     writerMock.AssertNumberOfCalls(t, "SaveRanLoadInformation", 0)
+//}
+
+// Integration test
+//func TestLoadInformationHandlerOverrideSuccess(t *testing.T) {
+//     log, err := logger.InitLogger(logger.InfoLevel)
+//     if err != nil {
+//             t.Errorf("#setup_request_handler_test.TestLoadInformationHandlerOverrideSuccess - failed to initialize logger, error: %s", err)
+//     }
+//
+//     rNibWriter.Init("e2Manager", 1)
+//     defer rNibWriter.Close()
+//     reader.Init("e2Manager", 1)
+//     defer reader.Close()
+//     loadInformationHandler := NewEnbLoadInformationNotificationHandler(rNibWriter.GetRNibWriter)
+//
+//     err = createNotificationRequestAndHandle(log, "ranName", " 881828026419", loadInformationHandler, FullUperPdu)
+//
+//     if err != nil {
+//             t.Errorf("#setup_request_handler_test.TestLoadInformationHandlerOverrideSuccess - failed creating NotificationRequest, error: %v", err)
+//     }
+//
+//     err = createNotificationRequestAndHandle(log, "ranName", " 881828026419", loadInformationHandler, BasicUperPdu)
+//
+//     if err != nil {
+//             t.Errorf("#setup_request_handler_test.TestLoadInformationHandlerOverrideSuccess - failed creating NotificationRequest, error: %v", err)
+//     }
+//
+//     ranLoadInformation, rnibErr := reader.GetRNibReader().GetRanLoadInformation("ranName")
+//
+//     if (rnibErr != nil) {
+//             t.Errorf("#setup_request_handler_test.TestLoadInformationHandlerOverrideSuccess - RNIB error: %v", err)
+//     }
+//
+//     assert.Len(t, ranLoadInformation.CellLoadInfos, 1)
+//}
index 67eb4ed..f40fa0e 100644 (file)
@@ -12,7 +12,7 @@ import (
 )
 
 const (
-       MaxCellineNb             = 256
+       MaxCellsInEnb            = 256
        MaxNoOfPrbs              = 110
        NaxNoOfCompHypothesisSet = 256
        NaxNoOfCompCells         = 32
@@ -64,7 +64,7 @@ func extractPduCellInformationItemIEs(pdu *C.E2AP_PDU_t) ([]*C.CellInformation_I
 
        loadInformationCellListCount := loadInformationCellList.list.count
 
-       if loadInformationCellListCount == 0 || loadInformationCellListCount > MaxCellineNb {
+       if loadInformationCellListCount == 0 || loadInformationCellListCount > MaxCellsInEnb {
                return nil, fmt.Errorf("#extractPduCellInformationItemIEs - Invalid CellInformation list count")
        }
 
@@ -265,7 +265,7 @@ func extractPduUlHighInterferenceIndicationInfoItems(cellId string, cellInformat
 
        pduUlHighInterferenceIndicationInfoListCount := pduUlHighInterferenceIndicationInfo.list.count
 
-       if pduUlHighInterferenceIndicationInfoListCount == 0 || pduUlHighInterferenceIndicationInfoListCount > MaxCellineNb {
+       if pduUlHighInterferenceIndicationInfoListCount == 0 || pduUlHighInterferenceIndicationInfoListCount > MaxCellsInEnb {
                return nil, fmt.Errorf("#extractPduUlHighInterferenceIndicationInfoItems - cellId: %s - Invalid UL High Interference Indication info list count", cellId)
        }
 
diff --git a/E2Manager/handlers/enb_load_information_to_protobuf_test.go b/E2Manager/handlers/enb_load_information_to_protobuf_test.go
new file mode 100644 (file)
index 0000000..bf91125
--- /dev/null
@@ -0,0 +1,271 @@
+/*******************************************************************************
+ *
+ *   Copyright (c) 2019 AT&T Intellectual Property.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ *******************************************************************************/
+package handlers
+
+import (
+       "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
+)
+
+/*
+Test permutations of eNB Load Information to protobuf
+*/
+
+type LoadInformationTestCaseName string
+
+const LoadTimestamp = 1257894000000000000
+
+const (
+       SingleCellWithCellIdOnly     LoadInformationTestCaseName = "SINGLE CELL WITH CELL ID ONLY"   //base
+       SingleCellPartiallyPopulated LoadInformationTestCaseName = "SINGLE CELL PARTIALLY POPULATED" //8
+       TwoCellsFullInfo             LoadInformationTestCaseName = "TWO CELLS FULLY POPULATED"       //13
+)
+
+type LoadInformationTestCase struct {
+       loadInformationTestCaseName LoadInformationTestCaseName
+       packedUperPdu               string
+       packedAperPdu               string
+       expectedLoadInformation     *entities.RanLoadInformation
+}
+
+var testCases = []LoadInformationTestCase{
+       {
+               loadInformationTestCaseName: SingleCellWithCellIdOnly,
+               packedAperPdu:               "000240140000010006400d00000740080002f8290007ab50",
+               packedUperPdu:               "004898000400190d0000074200017c148003d5a80000",
+               expectedLoadInformation:     GenerateSingleCellWithCellIdOnlyRanLoadInformation(),
+       },
+       {
+               loadInformationTestCaseName: SingleCellPartiallyPopulated,
+               packedAperPdu:               "", //TODO: populate and USE
+               packedUperPdu:               "004b380004001961000007571e017c148003d5a8205000017c180003d5a875555003331420008007a85801f07c1f07c41f07c1e07801f2020000c680b0003220664102800d8908020000be0c4001ead4016e007ab50100002f8320067ab5005b8c1ead5070190c000000",
+               expectedLoadInformation:     GenerateSingleCellPartiallyPopulatedLoadInformation(),
+       },
+       {
+               loadInformationTestCaseName: TwoCellsFullInfo,
+               packedAperPdu:               "", //TODO: populate and USE
+               packedUperPdu:               "004c07080004001980da0100075bde017c148003d5a8205000017c180003d5a875555403331420000012883a0003547400cd20002801ea16007c1f07c1f107c1f0781e007c80800031a02c000c88199040a00352083669190000d8908020000be0c4001ead4016e007ab50100002f8320067ab5005b8c1ead5070190c00001d637805f220000f56a081400005f020000f56a1d555400ccc508002801ea16007c1f07c1f107c1f0781e007c80800031a02c000c88199040a00352083669190000d8908020000be044001ead4016e007ab50100002f8120067ab5005b8c1ead5070190c00000",
+               expectedLoadInformation:     GenerateTwoCellsFullyPopulatedRanLoadInformation(),
+       },
+}
+
+//func TestExtractAndBuildRanLoadInformation(t *testing.T) {
+//     logger, _ := logger.InitLogger(logger.InfoLevel)
+//
+//     for _, tc := range testCases {
+//             t.Run(string(tc.loadInformationTestCaseName), func(t *testing.T) {
+//
+//                     var payload []byte
+//                     _, err := fmt.Sscanf(tc.packedUperPdu, "%x", &payload)
+//
+//                     if err != nil {
+//                             t.Errorf("convert inputPayloadAsStr to payloadAsByte. Error: %v\n", err)
+//                     }
+//
+//                     pdu, err := unpackX2apPduUPer(logger, MaxAsn1CodecAllocationBufferSize, len(payload), payload, MaxAsn1CodecMessageBufferSize)
+//
+//                     actualRanLoadInformation := &entities.RanLoadInformation{LoadTimestamp: LoadTimestamp}
+//
+//                     err = extractAndBuildRanLoadInformation(pdu, actualRanLoadInformation)
+//
+//                     if err != nil {
+//                             t.Errorf("want: success, got: error: %v\n", err)
+//                     }
+//
+//                     if !assert.Equal(t, tc.expectedLoadInformation, actualRanLoadInformation) {
+//                             t.Errorf("want: %v, got: %v", tc.expectedLoadInformation, actualRanLoadInformation)
+//                     }
+//             })
+//     }
+//}
+
+func GenerateSingleCellWithCellIdOnlyRanLoadInformation() *entities.RanLoadInformation {
+       return &entities.RanLoadInformation{
+               LoadTimestamp: LoadTimestamp,
+               CellLoadInfos: []*entities.CellLoadInformation{
+                       {CellId: "02f829:0007ab50"},
+               },
+       }
+}
+
+func GenerateSingleCellPartiallyPopulatedLoadInformation() *entities.RanLoadInformation {
+
+       ulInterferenceOverloadIndications := []entities.UlInterferenceOverloadIndication{
+               entities.UlInterferenceOverloadIndication_HIGH_INTERFERENCE,
+               entities.UlInterferenceOverloadIndication_MEDIUM_INTERFERENCE,
+               entities.UlInterferenceOverloadIndication_LOW_INTERFERENCE,
+       }
+
+       rntp := entities.RelativeNarrowbandTxPower{
+               RntpPerPrb:                       "cc",
+               RntpThreshold:                    entities.RntpThreshold_NEG_6,
+               NumberOfCellSpecificAntennaPorts: entities.NumberOfCellSpecificAntennaPorts_V2_ANT_PRT,
+               PB:                               2,
+               PdcchInterferenceImpact:          1,
+       }
+
+       absInformation := entities.AbsInformation{
+               Mode:                             entities.AbsInformationMode_ABS_INFO_FDD,
+               AbsPatternInfo:                   "07c1f07c1f",
+               NumberOfCellSpecificAntennaPorts: entities.NumberOfCellSpecificAntennaPorts_V1_ANT_PRT,
+               MeasurementSubset:                "83e0f83c0f",
+       }
+
+       extendedUlInterferenceOverloadInfo := entities.ExtendedUlInterferenceOverloadInfo{
+               AssociatedSubframes:                       "c8",
+               ExtendedUlInterferenceOverloadIndications: ulInterferenceOverloadIndications,
+       }
+
+       compInformationStartTime := entities.StartTime{
+               StartSfn:            50,
+               StartSubframeNumber: 3,
+       }
+
+       return &entities.RanLoadInformation{
+               LoadTimestamp: LoadTimestamp,
+               CellLoadInfos: []*entities.CellLoadInformation{
+                       {
+                               CellId:                             "02f829:0007ab50",
+                               UlInterferenceOverloadIndications:  ulInterferenceOverloadIndications,
+                               UlHighInterferenceInfos:            []*entities.UlHighInterferenceInformation{{TargetCellId: "02f830:0007ab50", UlHighInterferenceIndication: "aaaa"}},
+                               RelativeNarrowbandTxPower:          &rntp,
+                               AbsInformation:                     &absInformation,
+                               InvokeIndication:                   entities.InvokeIndication_ABS_INFORMATION,
+                               IntendedUlDlConfiguration:          entities.SubframeAssignment_SA6,
+                               ExtendedUlInterferenceOverloadInfo: &extendedUlInterferenceOverloadInfo,
+                               CompInformation: &entities.CompInformation{
+                                       CompInformationItems: []*entities.CompInformationItem{
+                                               {
+                                                       CompHypothesisSets: []*entities.CompHypothesisSet{{CellId: "02f831:0007ab50", CompHypothesis: "e007ab50"}},
+                                                       BenefitMetric:      -99,
+                                               },
+                                               {
+                                                       CompHypothesisSets: []*entities.CompHypothesisSet{{CellId: "02f832:0067ab50", CompHypothesis: "e307ab50"}},
+                                                       BenefitMetric:      30,
+                                               },
+                                       },
+                                       CompInformationStartTime: &compInformationStartTime,
+                               },
+                       },
+               },
+       }
+
+}
+
+func GenerateTwoCellsFullyPopulatedRanLoadInformation() *entities.RanLoadInformation {
+
+       ulInterferenceOverloadIndications := []entities.UlInterferenceOverloadIndication{
+               entities.UlInterferenceOverloadIndication_HIGH_INTERFERENCE,
+               entities.UlInterferenceOverloadIndication_MEDIUM_INTERFERENCE,
+               entities.UlInterferenceOverloadIndication_LOW_INTERFERENCE,
+       }
+
+       rntp := entities.RelativeNarrowbandTxPower{
+               RntpPerPrb:                       "cc",
+               RntpThreshold:                    entities.RntpThreshold_NEG_6,
+               NumberOfCellSpecificAntennaPorts: entities.NumberOfCellSpecificAntennaPorts_V2_ANT_PRT,
+               PB:                               2,
+               PdcchInterferenceImpact:          1,
+       }
+
+       enhancedRntp := entities.EnhancedRntp{
+               EnhancedRntpBitmap:     "aa38",
+               RntpHighPowerThreshold: entities.RntpThreshold_NEG_4,
+               EnhancedRntpStartTime:  &entities.StartTime{StartSfn: 51, StartSubframeNumber: 9},
+       }
+
+       rntpWithEnhanced := rntp
+       rntpWithEnhanced.EnhancedRntp = &enhancedRntp
+
+       absInformation := entities.AbsInformation{
+               Mode:                             entities.AbsInformationMode_ABS_INFO_FDD,
+               AbsPatternInfo:                   "07c1f07c1f",
+               NumberOfCellSpecificAntennaPorts: entities.NumberOfCellSpecificAntennaPorts_V1_ANT_PRT,
+               MeasurementSubset:                "83e0f83c0f",
+       }
+
+       extendedUlInterferenceOverloadInfo := entities.ExtendedUlInterferenceOverloadInfo{
+               AssociatedSubframes:                       "c8",
+               ExtendedUlInterferenceOverloadIndications: ulInterferenceOverloadIndications,
+       }
+
+       compInformationStartTime := entities.StartTime{
+               StartSfn:            50,
+               StartSubframeNumber: 3,
+       }
+
+       dynamicDlTransmissionInformation := entities.DynamicDlTransmissionInformation{
+               State:             entities.NaicsState_NAICS_ACTIVE,
+               TransmissionModes: "cd",
+               PB:                0,
+               PAList:            []entities.PA{entities.PA_DB_NEG_1_DOT_77, entities.PA_DB_NEG_3},
+       }
+
+       return &entities.RanLoadInformation{
+               LoadTimestamp: LoadTimestamp,
+               CellLoadInfos: []*entities.CellLoadInformation{
+                       {
+                               CellId:                             "02f829:0007ab50",
+                               UlInterferenceOverloadIndications:  ulInterferenceOverloadIndications,
+                               UlHighInterferenceInfos:            []*entities.UlHighInterferenceInformation{{TargetCellId: "02f830:0007ab50", UlHighInterferenceIndication: "aaaa"}},
+                               RelativeNarrowbandTxPower:          &rntpWithEnhanced,
+                               AbsInformation:                     &absInformation,
+                               InvokeIndication:                   entities.InvokeIndication_ABS_INFORMATION,
+                               IntendedUlDlConfiguration:          entities.SubframeAssignment_SA6,
+                               ExtendedUlInterferenceOverloadInfo: &extendedUlInterferenceOverloadInfo,
+                               CompInformation: &entities.CompInformation{
+                                       CompInformationItems: []*entities.CompInformationItem{
+                                               {
+                                                       CompHypothesisSets: []*entities.CompHypothesisSet{{CellId: "02f831:0007ab50", CompHypothesis: "e007ab50"}},
+                                                       BenefitMetric:      -99,
+                                               },
+                                               {
+                                                       CompHypothesisSets: []*entities.CompHypothesisSet{{CellId: "02f832:0067ab50", CompHypothesis: "e307ab50"}},
+                                                       BenefitMetric:      30,
+                                               },
+                                       },
+                                       CompInformationStartTime: &compInformationStartTime,
+                               },
+                               DynamicDlTransmissionInformation: &dynamicDlTransmissionInformation,
+                       },
+                       {
+                               CellId:                             "02f910:0007ab50",
+                               UlInterferenceOverloadIndications:  ulInterferenceOverloadIndications,
+                               UlHighInterferenceInfos:            []*entities.UlHighInterferenceInformation{{TargetCellId: "02f810:0007ab50", UlHighInterferenceIndication: "aaaa"}},
+                               RelativeNarrowbandTxPower:          &rntp,
+                               AbsInformation:                     &absInformation,
+                               InvokeIndication:                   entities.InvokeIndication_ABS_INFORMATION,
+                               IntendedUlDlConfiguration:          entities.SubframeAssignment_SA6,
+                               ExtendedUlInterferenceOverloadInfo: &extendedUlInterferenceOverloadInfo,
+                               CompInformation: &entities.CompInformation{
+                                       CompInformationItems: []*entities.CompInformationItem{
+                                               {
+                                                       CompHypothesisSets: []*entities.CompHypothesisSet{{CellId: "02f811:0007ab50", CompHypothesis: "e007ab50"}},
+                                                       BenefitMetric:      -99,
+                                               },
+                                               {
+                                                       CompHypothesisSets: []*entities.CompHypothesisSet{{CellId: "02f812:0067ab50", CompHypothesis: "e307ab50"}},
+                                                       BenefitMetric:      30,
+                                               },
+                                       },
+                                       CompInformationStartTime: &compInformationStartTime,
+                               },
+                               DynamicDlTransmissionInformation: &dynamicDlTransmissionInformation,
+                       },
+               },
+       }
+}
diff --git a/E2Manager/handlers/ric_enb_load_information_notification_handler.go b/E2Manager/handlers/ric_enb_load_information_notification_handler.go
deleted file mode 100644 (file)
index ef67231..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-package handlers
-
-import "C"
-import (
-       "e2mgr/logger"
-       "e2mgr/models"
-       "e2mgr/rNibWriter"
-       "e2mgr/sessions"
-       "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
-       "time"
-)
-
-type RicEnbLoadInformationNotificationHandler struct{}
-
-func elapsed(startTime time.Time) float64 {
-       return float64(time.Since(startTime)) / float64(time.Millisecond)
-}
-
-func (src RicEnbLoadInformationNotificationHandler) Handle(logger *logger.Logger, e2Sessions sessions.E2Sessions, request *models.NotificationRequest, messageChannel chan<- *models.NotificationResponse) {
-
-       pdu, err := unpackX2apPdu(logger, MaxAsn1CodecAllocationBufferSize, request.Len, request.Payload, MaxAsn1CodecMessageBufferSize)
-
-       //packedExampleString := "004c07080004001980da0100075bde017c148003d5a8205000017c180003d5a875555403331420000012883a0003547400cd20002801ea16007c1f07c1f107c1f0781e007c80800031a02c000c88199040a00352083669190000d8908020000be0c4001ead4016e007ab50100002f8320067ab5005b8c1ead5070190c00001d637805f220000f56a081400005f020000f56a1d555400ccc508002801ea16007c1f07c1f107c1f0781e007c80800031a02c000c88199040a00352083669190000d8908020000be044001ead4016e007ab50100002f8120067ab5005b8c1ead5070190c00000"
-       //
-       //var packedExampleByteSlice []byte
-       //
-       //_, err := fmt.Sscanf(packedExampleString, "%x", &packedExampleByteSlice)
-       //
-       //pdu, err := unpackX2apPduUPer(logger, MaxAsn1CodecAllocationBufferSize, len(packedExampleByteSlice), packedExampleByteSlice, MaxAsn1CodecMessageBufferSize)
-
-
-       if err != nil {
-               logger.Errorf("#RicEnbLoadInformationNotificationHandler.Handle - RAN name: %s - Unpack failed. Error: %v", request.RanName, err)
-               return
-       }
-
-       logger.Debugf("#RicEnbLoadInformationNotificationHandler.Handle - RAN name: %s - Unpacked message successfully", request.RanName)
-
-       ranLoadInformation := &entities.RanLoadInformation{LoadTimestamp: uint64(request.StartTime.UnixNano())}
-
-       err = extractAndBuildRanLoadInformation(pdu, ranLoadInformation)
-
-       if (err != nil) {
-               logger.Errorf("#RicEnbLoadInformationNotificationHandler.Handle - RAN name: %s - Failed at extractAndBuildRanLoadInformation. Error: %v", request.RanName, err)
-               return
-       }
-
-       logger.Debugf("#RicEnbLoadInformationNotificationHandler.Handle - RAN name: %s - Successfully done with extracting and building RAN load information. elapsed: %f ms", request.RanName, elapsed(request.StartTime))
-
-       rnibErr := rNibWriter.GetRNibWriter().SaveRanLoadInformation(request.RanName, ranLoadInformation) // TODO: Should inject RnibWriter
-
-       if rnibErr != nil {
-               logger.Errorf("#RicEnbLoadInformationNotificationHandler.Handle - RAN name: %s - Failed saving RAN load information. Error: %v", request.RanName, rnibErr)
-               return
-       }
-
-       logger.Debugf("#RicEnbLoadInformationNotificationHandler.Handle - RAN name: %s - Successfully saved RAN load information to RNIB. elapsed: %f ms", request.RanName, elapsed(request.StartTime))
-}
index 592ba77..3a89e5c 100644 (file)
@@ -28,27 +28,7 @@ import (
        "github.com/pkg/errors"
        "unsafe"
 )
-func unpackX2apPduUPer(logger *logger.Logger, allocationBufferSize int, packedBufferSize int, packedBuf []byte, maxMessageBufferSize int) (*C.E2AP_PDU_t, error) {
-       pdu := C.new_pdu(C.ulong(allocationBufferSize))
-
-       if pdu == nil {
-               return nil, errors.New("allocation failure (pdu)")
-       }
-
-       logger.Debugf("#x2apPdu_asn1_unpacker.unpackX2apPduUPer - Packed pdu(%d):%x", packedBufferSize, packedBuf)
-
-       errBuf := make([]C.char, maxMessageBufferSize)
-       if !C.unpack_pdu_aux(pdu, C.ulong(packedBufferSize), (*C.uchar)(unsafe.Pointer(&packedBuf[0])), C.ulong(len(errBuf)), &errBuf[0], C.ATS_UNALIGNED_BASIC_PER) {
-               return nil, errors.New(fmt.Sprintf("unpacking error: %s", C.GoString(&errBuf[0])))
-       }
-
-       if logger.DebugEnabled() {
-               C.asn1_pdu_printer(pdu, C.size_t(len(errBuf)), &errBuf[0])
-               logger.Debugf("#x2apPdu_asn1_unpacker.unpackX2apPduUPer - PDU: %v  packed size:%d", C.GoString(&errBuf[0]), packedBufferSize)
-       }
 
-       return pdu, nil
-}
 type X2PduRefinedResponse struct {
        pduPrint string
 }
index 72b42a9..9e9673d 100644 (file)
@@ -29,7 +29,7 @@ import (
        "time"
 )
 
-type NotificationManager struct{
+type NotificationManager struct {
        rnibReaderProvider func() reader.RNibReader
        rnibWriterProvider func() rNibWriter.RNibWriter
 }
@@ -40,8 +40,9 @@ func NewNotificationManager(rnibReaderProvider func() reader.RNibReader, rnibWri
                rnibWriterProvider: rnibWriterProvider,
        }
 }
+
 //TODO add NEWHandler with log
-func (m NotificationManager) HandleMessage(logger *logger.Logger, e2Sessions sessions.E2Sessions, mbuf *rmrCgo.MBuf, responseChannel chan<- *models.NotificationResponse){
+func (m NotificationManager) HandleMessage(logger *logger.Logger, e2Sessions sessions.E2Sessions, mbuf *rmrCgo.MBuf, responseChannel chan<- *models.NotificationResponse) {
 
        provider := providers.NewNotificationHandlerProvider(m.rnibReaderProvider, m.rnibWriterProvider)
        notificationHandler, err := provider.GetNotificationHandler(mbuf.MType)
@@ -51,8 +52,6 @@ func (m NotificationManager) HandleMessage(logger *logger.Logger, e2Sessions ses
                return
        }
 
-       notificationRequest := models.NotificationRequest{RanName: mbuf.Meid, Len: mbuf.Len, Payload: *mbuf.Payload,
-               StartTime: time.Now(), TransactionId: string(*mbuf.XAction)}
-
-       go notificationHandler.Handle(logger, e2Sessions, &notificationRequest, responseChannel)
-}
\ No newline at end of file
+       notificationRequest := models.NewNotificationRequest(mbuf.Meid, *mbuf.Payload, time.Now(), string(*mbuf.XAction))
+       go notificationHandler.Handle(logger, e2Sessions, notificationRequest, responseChannel)
+}
index 0d8df33..43f9d90 100644 (file)
@@ -17,8 +17,8 @@
 package mocks
 
 import (
-       "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
        "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common"
+       "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
        "github.com/stretchr/testify/mock"
 )
 
@@ -29,7 +29,6 @@ type RnibReaderMock struct {
 func (m *RnibReaderMock) GetNodeb(inventoryName string) (*entities.NodebInfo, common.IRNibError) {
        args := m.Called(inventoryName)
 
-
        errArg := args.Get(1);
 
        if errArg != nil {
@@ -51,7 +50,7 @@ func (m *RnibReaderMock) GetNodebByGlobalNbId(nodeType entities.Node_Type, globa
        return args.Get(0).(*entities.NodebInfo), nil
 }
 
-func (m *RnibReaderMock)  GetCellList(inventoryName string) (*entities.Cells, common.IRNibError) {
+func (m *RnibReaderMock) GetCellList(inventoryName string) (*entities.Cells, common.IRNibError) {
        args := m.Called(inventoryName)
 
        errArg := args.Get(1);
@@ -63,7 +62,7 @@ func (m *RnibReaderMock)  GetCellList(inventoryName string) (*entities.Cells, co
        return args.Get(0).(*entities.Cells), nil
 }
 
-func (m *RnibReaderMock) GetListGnbIds()(*[]*entities.NbIdentity, common.IRNibError) {
+func (m *RnibReaderMock) GetListGnbIds() (*[]*entities.NbIdentity, common.IRNibError) {
        args := m.Called()
 
        errArg := args.Get(1);
@@ -75,7 +74,7 @@ func (m *RnibReaderMock) GetListGnbIds()(*[]*entities.NbIdentity, common.IRNibEr
        return args.Get(0).(*[]*entities.NbIdentity), nil
 }
 
-func (m *RnibReaderMock) GetListEnbIds()(*[]*entities.NbIdentity, common.IRNibError) {
+func (m *RnibReaderMock) GetListEnbIds() (*[]*entities.NbIdentity, common.IRNibError) {
        args := m.Called()
 
        errArg := args.Get(1);
@@ -88,7 +87,7 @@ func (m *RnibReaderMock) GetListEnbIds()(*[]*entities.NbIdentity, common.IRNibEr
 
 }
 
-func (m *RnibReaderMock) GetCountGnbList()(int, common.IRNibError) {
+func (m *RnibReaderMock) GetCountGnbList() (int, common.IRNibError) {
        args := m.Called()
 
        errArg := args.Get(1);
@@ -125,7 +124,7 @@ func (m *RnibReaderMock) GetCellById(cellType entities.Cell_Type, cellId string)
        return args.Get(0).(*entities.Cell), nil
 }
 
-func (m *RnibReaderMock) GetListNodebIds()([]*entities.NbIdentity, common.IRNibError){
+func (m *RnibReaderMock) GetListNodebIds() ([]*entities.NbIdentity, common.IRNibError) {
        args := m.Called()
 
        errArg := args.Get(1)
@@ -137,7 +136,7 @@ func (m *RnibReaderMock) GetListNodebIds()([]*entities.NbIdentity, common.IRNibE
        return args.Get(0).([]*entities.NbIdentity), nil
 }
 
-func (m *RnibReaderMock) GetRanLoadInformation(inventoryName string) (*entities.RanLoadInformation, common.IRNibError){
+func (m *RnibReaderMock) GetRanLoadInformation(inventoryName string) (*entities.RanLoadInformation, common.IRNibError) {
        args := m.Called()
 
        errArg := args.Get(1)
@@ -147,4 +146,4 @@ func (m *RnibReaderMock) GetRanLoadInformation(inventoryName string) (*entities.
        }
 
        return args.Get(0).(*entities.RanLoadInformation), nil
-}
\ No newline at end of file
+}
index 4f3cf96..ebbeeb6 100644 (file)
@@ -21,8 +21,18 @@ import "time"
 
 type NotificationRequest struct {
        RanName       string
-       Len               int
+       Len           int
        Payload       []byte
-       StartTime         time.Time
+       StartTime     time.Time
        TransactionId string
 }
+
+func NewNotificationRequest(ranName string, payload []byte, startTime time.Time, transactionId string) *NotificationRequest {
+       return &NotificationRequest{
+               ranName,
+               len(payload),
+               payload,
+               startTime,
+               transactionId,
+       }
+}
index 534a598..cae4e95 100644 (file)
@@ -47,7 +47,7 @@ func initNotificationHandlersMap(rnibReaderProvider func() reader.RNibReader, rn
                rmrCgo.RIC_ENDC_X2_SETUP_RESP:      handlers.EndcX2SetupResponseNotificationHandler{},
                rmrCgo.RIC_ENDC_X2_SETUP_FAILURE:   handlers.EndcX2SetupFailureResponseNotificationHandler{},
                rmrCgo.RIC_SCTP_CONNECTION_FAILURE: handlers.NewRanLostConnectionHandler(rnibReaderProvider, rnibWriterProvider),
-               rmrCgo.RIC_ENB_LOAD_INFORMATION:    handlers.RicEnbLoadInformationNotificationHandler{},
+               rmrCgo.RIC_ENB_LOAD_INFORMATION:    handlers.NewEnbLoadInformationNotificationHandler(rnibWriterProvider),
                rmrCgo.RIC_ENB_CONF_UPDATE:             handlers.X2EnbConfigurationUpdateHandler{},
                rmrCgo.RIC_ENDC_CONF_UPDATE:            handlers.EndcConfigurationUpdateHandler{},
                rmrCgo.RIC_X2_RESET_RESP:                       handlers.NewX2ResetResponseHandler(rnibReaderProvider),
index ecdd744..974de02 100644 (file)
@@ -34,7 +34,7 @@ import (
  */
 
 func TestGetNotificationHandlerSuccess(t *testing.T) {
-       readerMock :=&mocks.RnibReaderMock{}
+       readerMock := &mocks.RnibReaderMock{}
        rnibReaderProvider := func() reader.RNibReader {
                return readerMock
        }
@@ -48,10 +48,10 @@ func TestGetNotificationHandlerSuccess(t *testing.T) {
        }{
                {rmrCgo.RIC_X2_SETUP_RESP /*successful x2 setup response*/, handlers.X2SetupResponseNotificationHandler{}},
                {rmrCgo.RIC_X2_SETUP_FAILURE /*unsuccessful x2 setup response*/, handlers.X2SetupFailureResponseNotificationHandler{}},
-               {rmrCgo.RIC_ENDC_X2_SETUP_RESP /*successful en-dc x2 setup response*/,handlers.EndcX2SetupResponseNotificationHandler{}},
-               {rmrCgo.RIC_ENDC_X2_SETUP_FAILURE /*unsuccessful en-dc x2 setup response*/,handlers.EndcX2SetupFailureResponseNotificationHandler{}},
+               {rmrCgo.RIC_ENDC_X2_SETUP_RESP /*successful en-dc x2 setup response*/, handlers.EndcX2SetupResponseNotificationHandler{}},
+               {rmrCgo.RIC_ENDC_X2_SETUP_FAILURE /*unsuccessful en-dc x2 setup response*/, handlers.EndcX2SetupFailureResponseNotificationHandler{}},
                {rmrCgo.RIC_SCTP_CONNECTION_FAILURE /*sctp errors*/, handlers.NewRanLostConnectionHandler(rnibReaderProvider, rnibWriterProvider)},
-               {rmrCgo.RIC_ENB_LOAD_INFORMATION, handlers.RicEnbLoadInformationNotificationHandler{}},
+               {rmrCgo.RIC_ENB_LOAD_INFORMATION, handlers.NewEnbLoadInformationNotificationHandler(rnibWriterProvider)},
                {rmrCgo.RIC_ENB_CONF_UPDATE, handlers.X2EnbConfigurationUpdateHandler{}},
                {rmrCgo.RIC_ENDC_CONF_UPDATE, handlers.EndcConfigurationUpdateHandler{}},
        }
@@ -66,7 +66,7 @@ func TestGetNotificationHandlerSuccess(t *testing.T) {
                        //Note struct is empty, so it will match any other empty struct.
                        // https://golang.org/ref/spec#Comparison_operators: Struct values are comparable if all their fields are comparable. Two struct values are equal if their corresponding non-blank fields are equal.
                        if /*handler != tc.handler &&*/ strings.Compare(fmt.Sprintf("%T", handler), fmt.Sprintf("%T", tc.handler)) != 0 {
-                               t.Errorf("want: handler %T for message type %d, got: %T", tc.handler,tc.msgType, handler)
+                               t.Errorf("want: handler %T for message type %d, got: %T", tc.handler, tc.msgType, handler)
                        }
                })
        }
@@ -84,7 +84,7 @@ func TestGetNotificationHandlerFailure(t *testing.T) {
                {9999 /*unknown*/, "notification handler not found"},
        }
        for _, tc := range testCases {
-               readerMock :=&mocks.RnibReaderMock{}
+               readerMock := &mocks.RnibReaderMock{}
                rnibReaderProvider := func() reader.RNibReader {
                        return readerMock
                }