summaryrefslogtreecommitdiff
path: root/structs.go
blob: 19b5c866d8383d8ae670e3aa03bc85723de96822 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package main

import (
	"time"

	pb "go.wit.com/lib/protobuf/virtbuf"
)

var me virtigoT

// disable the GUI
func (b *virtigoT) Disable() {
	// b.mainbox.Disable()
}

// enable the GUI
func (b *virtigoT) Enable() {
	// b.mainbox.Enable()
}

// this app's variables
type virtigoT struct {
	cluster               *pb.Cluster                // basic cluster settings
	delay                 time.Duration              // how often to poll the hypervisors
	hmap                  map[*pb.Hypervisor]*HyperT // map to the local struct
	names                 []string
	hypers                []*HyperT
	killcount             int
	unstable              time.Time // the last time the cluster was incorrect
	changed               bool
	unstableTimeout       time.Duration // how long a droplet can be missing until it's declared dead
	clusterStableDuration time.Duration // how long the cluster must be stable before new droplets can be started
}

// the stuff that is needed for a hypervisor
type HyperT struct {
	pb        *pb.Hypervisor // the Hypervisor protobuf
	dog       *time.Ticker   // the watchdog timer itself
	lastpoll  time.Time      // the last time the hypervisor polled
	killcount int
}