summaryrefslogtreecommitdiff
path: root/oldCluster.go
diff options
context:
space:
mode:
Diffstat (limited to 'oldCluster.go')
-rw-r--r--oldCluster.go48
1 files changed, 48 insertions, 0 deletions
diff --git a/oldCluster.go b/oldCluster.go
new file mode 100644
index 0000000..c6d6fd9
--- /dev/null
+++ b/oldCluster.go
@@ -0,0 +1,48 @@
+package virtpb
+
+import (
+ sync "sync"
+
+ durationpb "google.golang.org/protobuf/types/known/durationpb"
+ "google.golang.org/protobuf/types/known/timestamppb"
+)
+
+type OldCluster struct {
+ sync.RWMutex
+
+ Dirs []string
+ d *Droplets
+ H *Hypervisors
+ e *Events
+ Unstable *timestamppb.Timestamp
+ UnstableTimeout *durationpb.Duration
+}
+
+func (c *OldCluster) GetDropletsPB() *Droplets {
+ return c.d
+}
+
+func (c *OldCluster) GetHypervisorsPB() *Hypervisors {
+ return c.H
+}
+
+func (c *OldCluster) GetEventsPB() *Events {
+ return c.e
+}
+
+// adds a new droplet. enforce unique hostnames
+func (c *OldCluster) AddDroplet(newd *Droplet) bool {
+ c.Lock()
+ defer c.Unlock()
+
+ for _, d := range c.d.Droplets {
+ if newd.Hostname == d.Hostname {
+ // boo. that one is already here
+ return false
+ }
+ }
+
+ // everything is ok, this hostname is new
+ c.d.Droplets = append(c.d.Droplets, newd)
+ return true
+}