Restart/Start of RM, fetch E2T data from E2manager - implementation in RM for v1...
[ric-plt/rtmgr.git] / pkg / sbi / types.go
index 1254e93..d024e94 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.
    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
 ==================================================================================
 */
 /*
   Mnemonic:    sbi/types.go
-  Abstract:    Containes SBI (SouthBound Interface) specific types
+  Abstract:    Contains SBI (SouthBound Interface) specific types
   Date:                16 March 2019
 */
 
 package sbi
 
   Date:                16 March 2019
 */
 
 package sbi
 
-type distributeAll func(*[]string) error
-type openSocket func(string) error
-type closeSocket func() error
+import "routing-manager/pkg/rtmgr"
 
 
-type SbiEngine struct {
-       Name     string
-       Version  string
-       Protocol string
+type EngineConfig struct {
+       Name        string
+       Version     string
+       Protocol    string
+       Instance    Engine
+       IsAvailable bool
 }
 
 }
 
-type SbiEngineConfig struct {
-       Engine        SbiEngine
-       OpenSocket    openSocket
-       CloseSocket   closeSocket
-       DistributeAll distributeAll
-       IsAvailable   bool
+type Engine interface {
+       Initialize(string) error
+       Terminate() error
+       DistributeAll(*[]string) error
+       AddEndpoint(*rtmgr.Endpoint) error
+       DeleteEndpoint(*rtmgr.Endpoint) error
+       UpdateEndpoints(*rtmgr.RicComponents)
 }
 }
+
+type NngSocket interface {
+       Listen(string) error
+       Send([]byte) error
+       Close() error
+       DialOptions(string, map[string]interface{}) error
+}
+
+type CreateNewNngSocketHandler func() (NngSocket, error)