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.