subnet

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 22, 2014 License: Apache-2.0 Imports: 14 Imported by: 0

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

func ParseConfig(s string) (*Config, error)

type EtcdConfig added in v0.2.0

type EtcdConfig struct {
	Endpoints []string
	Keyfile   string
	Certfile  string
	CAFile    string
	Prefix    string
}

type Event

type Event struct {
	Type  EventType
	Lease SubnetLease
}

type EventBatch

type EventBatch []Event

type EventType

type EventType int

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)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL