Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // BalancerMockProcessFunc is the function to be called when Process is called BalancerMockProcessFunc func(instances []string) (string, error) // BalancerMockClusterStatusFunc is the function to be called when ClusterStatus is called BalancerMockClusterStatusFunc func(instances []string) ([]InstanceStatus, error) )
Functions ¶
This section is empty.
Types ¶
type Balancer ¶
type Balancer interface { Process(instances []string) (string, error) ClusterStatus(instances []string) ([]InstanceStatus, error) }
Balancer find the right server to use
type InfluxDBBalancer ¶
type InfluxDBBalancer struct { Client influxdb.QueryAPI Config *config.BalancerConfig IDBConfig *config.IDB }
InfluxDBBalancer is the InfluxDB implementation of Balancer
func (*InfluxDBBalancer) ClusterStatus ¶
func (b *InfluxDBBalancer) ClusterStatus(instances []string) ([]InstanceStatus, error)
ClusterStatus retrieve the cluster status. It returns a list containing all bbb instance with its status
type InstanceStatus ¶
type InstanceStatus struct { Host string `json:"host"` CPU float64 `json:"cpu"` Mem float64 `json:"mem"` ActiveMeeting int64 `json:"active_meetings"` ActiveParticipants int64 `json:"active_participants"` APIStatus string `json:"api_status"` }
InstanceStatus represents a cluster instance status at a time
type Mock ¶
type Mock struct{}
Mock is a mock implementation of the Balancer interface
func (*Mock) ClusterStatus ¶
func (b *Mock) ClusterStatus(instances []string) ([]InstanceStatus, error)
ClusterStatus is a mock implementation of the ClusterStatus method
Click to show internal directories.
Click to hide internal directories.