Documentation
¶
Index ¶
Constants ¶
View Source
const ( SubnetAdded = iota SubnetRemoved )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Network ip.IP4Net
SubnetMin ip.IP4
SubnetMax ip.IP4
SubnetLen uint
Backend json.RawMessage
}
func ParseConfig ¶
type EtcdConfig ¶ added in v0.2.0
type Event ¶
type Event struct {
Type EventType
Lease SubnetLease
}
type EventBatch ¶
type EventBatch []Event
type LeaseAttrs ¶ added in v0.2.0
type LeaseAttrs struct {
PublicIP ip.IP4
BackendType string `json:",omitempty"`
BackendData json.RawMessage `json:",omitempty"`
}
type SubnetLease ¶
type SubnetLease struct {
Network ip.IP4Net
Attrs LeaseAttrs
}
type SubnetManager ¶
type SubnetManager struct {
// contains filtered or unexported fields
}
func NewSubnetManager ¶
func NewSubnetManager(config *EtcdConfig) (*SubnetManager, error)
func (*SubnetManager) AcquireLease ¶
func (sm *SubnetManager) AcquireLease(attrs *LeaseAttrs, cancel chan bool) (ip.IP4Net, error)
func (*SubnetManager) GetConfig ¶
func (sm *SubnetManager) GetConfig() *Config
func (*SubnetManager) LeaseRenewer ¶
func (sm *SubnetManager) LeaseRenewer(cancel chan bool)
func (*SubnetManager) WatchLeases ¶
func (sm *SubnetManager) WatchLeases(receiver chan EventBatch, cancel chan bool)
Click to show internal directories.
Click to hide internal directories.