X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fcontrol%2Fe2ap.go;h=8f9f7c939deb809887dedf46e2de9a356c1551c4;hb=0a9f260b43017c2860137cefcaa2e79ad896ab2d;hp=9ecef4e07b55ead84f2e7eccdb07c68608356748;hpb=93cc3e245f87798c8753209980817727e0648401;p=ric-plt%2Fsubmgr.git diff --git a/pkg/control/e2ap.go b/pkg/control/e2ap.go index 9ecef4e..8f9f7c9 100644 --- a/pkg/control/e2ap.go +++ b/pkg/control/e2ap.go @@ -27,93 +27,144 @@ package control import "C" import ( - "errors" "unsafe" + "fmt" ) type E2ap struct { } -func (c *E2ap) GetSubscriptionRequestSequenceNumber(payload []byte) (sub_id uint16, err error) { +/* RICsubscriptionRequest */ + +// Used by e2t test stub +func (c *E2ap) GetSubscriptionRequestSequenceNumber(payload []byte) (subId uint16, err error) { cptr := unsafe.Pointer(&payload[0]) cret := C.e2ap_get_ric_subscription_request_sequence_number(cptr, C.size_t(len(payload))) if cret < 0 { - return 0, errors.New("e2ap wrapper is unable to get Subscirption Request Sequence Number due to wrong or invalid payload") + return 0, fmt.Errorf("e2ap wrapper is unable to get Subscirption Request Sequence Number due to wrong or invalid payload. ErrorCode: %v",cret) } - sub_id = uint16(cret) + subId = uint16(cret) return } -func (c *E2ap) SetSubscriptionRequestSequenceNumber(payload []byte, newSubscriptionid uint16) (new_payload []byte, err error) { +// Used by submgr, rco test stub +func (c *E2ap) SetSubscriptionRequestSequenceNumber(payload []byte, newSubscriptionid uint16) (err error) { cptr := unsafe.Pointer(&payload[0]) size := C.e2ap_set_ric_subscription_request_sequence_number(cptr, C.size_t(len(payload)), C.long(newSubscriptionid)) if size < 0 { - return make([]byte, 0), errors.New("e2ap wrapper is unable to set Subscirption Request Sequence Number due to wrong or invalid payload") + return fmt.Errorf("e2ap wrapper is unable to set Subscription Request Sequence Number due to wrong or invalid payload. ErrorCode: %v",size) } - new_payload = C.GoBytes(cptr, C.int(size)) return } -func (c *E2ap) GetSubscriptionResponseSequenceNumber(payload []byte) (sub_id uint16, err error) { +// Used by submgr, rco test stub +func (c *E2ap) GetSubscriptionResponseSequenceNumber(payload []byte) (subId uint16, err error) { cptr := unsafe.Pointer(&payload[0]) cret := C.e2ap_get_ric_subscription_response_sequence_number(cptr, C.size_t(len(payload))) if cret < 0 { - return 0, errors.New("e2ap wrapper is unable to get Subscirption Response Sequence Number due to wrong or invalid payload") + return 0, fmt.Errorf("e2ap wrapper is unable to get Subscirption Response Sequence Number due to wrong or invalid payload. ErrorCode: %v",cret) } - sub_id = uint16(cret) + subId = uint16(cret) return } -func (c *E2ap) SetSubscriptionResponseSequenceNumber(payload []byte, newSubscriptionid uint16) (new_payload []byte, err error) { +// Used by e2t test stub +func (c *E2ap) SetSubscriptionResponseSequenceNumber(payload []byte, newSubscriptionid uint16) (err error) { cptr := unsafe.Pointer(&payload[0]) size := C.e2ap_set_ric_subscription_response_sequence_number(cptr, C.size_t(len(payload)), C.long(newSubscriptionid)) if size < 0 { - return make([]byte, 0), errors.New("e2ap wrapper is unable to set Subscirption Reponse Sequence Number due to wrong or invalid payload") + return fmt.Errorf("e2ap wrapper is unable to set Subscription Response Sequence Number due to wrong or invalid payload. ErrorCode: %v",size) } - new_payload = C.GoBytes(cptr, C.int(size)) return } /* RICsubscriptionDeleteRequest */ -func (c *E2ap) GetSubscriptionDeleteRequestSequenceNumber(payload []byte) (sub_id uint16, err error) { +// Used by submgr, e2t test stub +func (c *E2ap) GetSubscriptionDeleteRequestSequenceNumber(payload []byte) (subId uint16, err error) { cptr := unsafe.Pointer(&payload[0]) cret := C.e2ap_get_ric_subscription_delete_request_sequence_number(cptr, C.size_t(len(payload))) if cret < 0 { - return 0, errors.New("e2ap wrapper is unable to get Subscirption Delete Request Sequence Number due to wrong or invalid payload") + return 0, fmt.Errorf("e2ap wrapper is unable to get Subscirption Delete Request Sequence Number due to wrong or invalid payload. ErrorCode: %v",cret) } - sub_id = uint16(cret) + subId = uint16(cret) return } -func (c *E2ap) SetSubscriptionDeleteRequestSequenceNumber(payload []byte, newSubscriptionid uint16) (new_payload []byte, err error) { +// Used by rco test stub +func (c *E2ap) SetSubscriptionDeleteRequestSequenceNumber(payload []byte, newSubscriptionid uint16) (err error) { cptr := unsafe.Pointer(&payload[0]) size := C.e2ap_set_ric_subscription_delete_request_sequence_number(cptr, C.size_t(len(payload)), C.long(newSubscriptionid)) if size < 0 { - return make([]byte, 0), errors.New("e2ap wrapper is unable to set Subscirption Request Sequence Number due to wrong or invalid payload") + return fmt.Errorf("e2ap wrapper is unable to set Subscription Delete Request Sequence Number due to wrong or invalid payload. ErrorCode: %v",size) } - new_payload = C.GoBytes(cptr, C.int(size)) return } /* RICsubscriptionDeleteResponse */ -func (c *E2ap) GetSubscriptionDeleteResponseSequenceNumber(payload []byte) (sub_id uint16, err error) { +// Used by submgr, rco test stub +func (c *E2ap) GetSubscriptionDeleteResponseSequenceNumber(payload []byte) (subId uint16, err error) { cptr := unsafe.Pointer(&payload[0]) cret := C.e2ap_get_ric_subscription_delete_response_sequence_number(cptr, C.size_t(len(payload))) if cret < 0 { - return 0, errors.New("e2ap wrapper is unable to get Subscirption Delete Response Sequence Number due to wrong or invalid payload") + return 0, fmt.Errorf("e2ap wrapper is unable to get Subscirption Delete Response Sequence Number due to wrong or invalid payload. ErrorCode: %v",cret) } - sub_id = uint16(cret) + subId = uint16(cret) return } -func (c *E2ap) SetSubscriptionDeleteResponseSequenceNumber(payload []byte, newSubscriptionid uint16) (new_payload []byte, err error) { +// Used by e2t test stub +func (c *E2ap) SetSubscriptionDeleteResponseSequenceNumber(payload []byte, newSubscriptionid uint16) (err error) { cptr := unsafe.Pointer(&payload[0]) size := C.e2ap_set_ric_subscription_delete_response_sequence_number(cptr, C.size_t(len(payload)), C.long(newSubscriptionid)) if size < 0 { - return make([]byte, 0), errors.New("e2ap wrapper is unable to set Subscirption Reponse Sequence Number due to wrong or invalid payload") + return fmt.Errorf("e2ap wrapper is unable to set Subscription Delete Response Sequence Number due to wrong or invalid payload. ErrorCode: %v",size) + } + return +} + +/* RICsubscriptionRequestFailure */ + +// Used by submgr +func (c *E2ap) GetSubscriptionFailureSequenceNumber(payload []byte) (subId uint16, err error) { + cptr := unsafe.Pointer(&payload[0]) + cret := C.e2ap_get_ric_subscription_failure_sequence_number(cptr, C.size_t(len(payload))) + if cret < 0 { + return 0, fmt.Errorf("e2ap wrapper is unable to get Subscirption Failure Sequence Number due to wrong or invalid payload. ErrorCode: %v",cret) + } + subId = uint16(cret) + return +} + +// Used by submgr +func (c *E2ap) SetSubscriptionFailureSequenceNumber(payload []byte, newSubscriptionid uint16) (err error) { + cptr := unsafe.Pointer(&payload[0]) + size := C.e2ap_set_ric_subscription_failure_sequence_number(cptr, C.size_t(len(payload)), C.long(newSubscriptionid)) + if size < 0 { + return fmt.Errorf("e2ap wrapper is unable to set Subscription Failure Sequence Number due to wrong or invalid payload. ErrorCode: %v",size) + } + return +} + +/* RICsubscriptionDeleteFailure */ + +// Used by submgr +func (c *E2ap) GetSubscriptionDeleteFailureSequenceNumber(payload []byte) (subId uint16, err error) { + cptr := unsafe.Pointer(&payload[0]) + cret := C.e2ap_get_ric_subscription_delete_failure_sequence_number(cptr, C.size_t(len(payload))) + if cret < 0 { + return 0, fmt.Errorf("e2ap wrapper is unable to get Subscirption Delete Failure Sequence Number due to wrong or invalid payload. ErrorCode: %v",cret) + } + subId = uint16(cret) + return +} +// Used by submgr +func (c *E2ap) SetSubscriptionDeleteFailureSequenceNumber(payload []byte, newSubscriptionid uint16) (err error) { + cptr := unsafe.Pointer(&payload[0]) + size := C.e2ap_set_ric_subscription_delete_failure_sequence_number(cptr, C.size_t(len(payload)), C.long(newSubscriptionid)) + if size < 0 { + return fmt.Errorf("e2ap wrapper is unable to set Subscription Delete Failure Sequence Number due to wrong or invalid payload. ErrorCode: %v",size) } - new_payload = C.GoBytes(cptr, C.int(size)) return }