Move SDL usage code example
[ric-plt/sdlgo.git] / example / example.go
diff --git a/example/example.go b/example/example.go
new file mode 100644 (file)
index 0000000..aee1c19
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+   Copyright (c) 2019 AT&T Intellectual Property.
+   Copyright (c) 2018-2022 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.
+*/
+
+/*
+ * This source code is part of the near-RT RIC (RAN Intelligent Controller)
+ * platform project (RICP).
+ */
+
+package main
+
+import (
+       "fmt"
+
+       "gerrit.o-ran-sc.org/r/ric-plt/sdlgo"
+)
+
+var sdl *sdlgo.SyncStorage
+
+func init() {
+       sdl = sdlgo.NewSyncStorage()
+}
+
+func exampleSet() {
+       err := sdl.Set("my-namespace", "somestringdata", "data", "someintdata", 42)
+       if err != nil {
+               panic(err)
+       } else {
+               fmt.Println("Data written successfully")
+       }
+}
+
+func exampleGet() {
+       retMap, err := sdl.Get("my-namespace", []string{"somestringdata", "someintdata"})
+       if err != nil {
+               panic(err)
+       } else {
+               fmt.Println("Data read successfully")
+               for k, v := range retMap {
+                       fmt.Println("\t", k, "key value is", v)
+               }
+       }
+}
+
+func exampleClose() {
+       sdl.Close()
+}
+
+func main() {
+       exampleSet()
+       exampleGet()
+       exampleClose()
+}