RMR updated to v3.6.0 with support for E2 Setup message types
[ric-plt/rtmgr.git] / pkg / sbi / types.go
index f971ff5..c0ab373 100644 (file)
    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.
+
+   This source code is part of the near-RT RIC (RAN Intelligent Controller)
+   platform project (RICP).
+
 ==================================================================================
 */
 /*
   Mnemonic:    sbi/types.go
-  Abstract:    Containes SBI (SouthBound Interface) specific types
+  Abstract:    Contains SBI (SouthBound Interface) specific types
   Date:                16 March 2019
 */
 
 package sbi
 
-import "rtmgr"
-
-type distributeAll func(*[]string) error
-type openSocket func(string) error
-type closeSocket func() error
-type createEndpointSocket func(*rtmgr.Endpoint) error
-type destroyEndpointSocket func(*rtmgr.Endpoint) error
+import "routing-manager/pkg/rtmgr"
 
+type EngineConfig struct {
+       Name        string
+       Version     string
+       Protocol    string
+       Instance    Engine
+       IsAvailable bool
+}
 
-type SbiEngine struct {
-       Name     string
-       Version  string
-       Protocol string
+type Engine interface {
+       Initialize(string) error
+       Terminate() error
+       DistributeAll(*[]string) error
+       AddEndpoint(*rtmgr.Endpoint) error
+       DeleteEndpoint(*rtmgr.Endpoint) error
+       UpdateEndpoints(*rtmgr.RicComponents)
+       CreateEndpoint(string) (*rtmgr.Endpoint)
+       DistributeToEp(*[]string, *rtmgr.Endpoint) error
 }
 
-type SbiEngineConfig struct {
-       Engine        SbiEngine
-       OpenSocket    openSocket
-       CloseSocket   closeSocket
-       CreateEndpointSocket createEndpointSocket
-       DestroyEndpointSocket destroyEndpointSocket
-       DistributeAll distributeAll
-       IsAvailable   bool
+type NngSocket interface {
+       Listen(string) error
+       Send([]byte) error
+       Close() error
+       DialOptions(string, map[string]interface{}) error
 }
+
+type CreateNewNngSocketHandler func() (NngSocket, error)