summaryrefslogtreecommitdiff
path: root/bst/interface.go
diff options
context:
space:
mode:
authorValery Piashchynski <[email protected]>2021-09-16 17:12:37 +0300
committerValery Piashchynski <[email protected]>2021-09-16 17:12:37 +0300
commitf3491c089b4da77fd8d2bc942a88b6b8d117a8a5 (patch)
tree32bfffb1f24eeee7b909747cc00a6a6b9fd3ee83 /bst/interface.go
parent5d2cd55ab522d4f1e65a833f91146444465a32ac (diff)
Move plugins to a separate repository
Signed-off-by: Valery Piashchynski <[email protected]>
Diffstat (limited to 'bst/interface.go')
-rw-r--r--bst/interface.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/bst/interface.go b/bst/interface.go
new file mode 100644
index 00000000..95b03e11
--- /dev/null
+++ b/bst/interface.go
@@ -0,0 +1,13 @@
+package bst
+
+// Storage is general in-memory BST storage implementation
+type Storage interface {
+ // Insert inserts to a vertex with topic ident connection uuid
+ Insert(uuid string, topic string)
+ // Remove removes uuid from topic, if the uuid is single for a topic, whole vertex will be removed
+ Remove(uuid, topic string)
+ // Get will return all connections associated with the topic
+ Get(topic string) map[string]struct{}
+ // Contains checks if the BST contains a topic
+ Contains(topic string) bool
+}