Publish Route only once to the endpoint that requests it. Periodic/Event based distri...
[ric-plt/rtmgr.git] / pkg / sbi / types.go
index f971ff5..b52dcfa 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
 
-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)(*string,int)
+       CheckEndpoint(string)*rtmgr.Endpoint
+       DistributeToEp(*[]string, string, int ) 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)*/