subnet

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 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 BaseAttrs

type BaseAttrs struct {
	PublicIP ip.IP4
}

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 Event

type Event struct {
	Type  EventType
	Lease SubnetLease
}

type EventBatch

type EventBatch []Event

type EventType

type EventType int

type SubnetLease

type SubnetLease struct {
	Network ip.IP4Net
	Data    string
}

type SubnetManager

type SubnetManager struct {
	// contains filtered or unexported fields
}

func NewSubnetManager

func NewSubnetManager(etcdEndpoint, prefix string) (*SubnetManager, error)

func (*SubnetManager) AcquireLease

func (sm *SubnetManager) AcquireLease(extIP ip.IP4, data interface{}, 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) UpdateSubnet

func (sm *SubnetManager) UpdateSubnet(data string) error

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