Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Perishable ¶
type Perishable interface {
// returns true if this offer has expired
HasExpired() bool
// if not yet expired, return mesos offer details; otherwise nil
Details() *mesos.Offer
// mark this offer as acquired, returning true if it was previously unacquired. thread-safe.
Acquire() bool
// mark this offer as un-acquired. thread-safe.
Release()
// return a unique identifier for this offer
Id() string
// return the slave host for this offer
Host() string
// contains filtered or unexported methods
}
type Registry ¶
type Registry interface {
// Initialize the instance, spawning necessary housekeeping go routines.
Init()
Add([]*mesos.Offer)
// Listen for arriving offers that are acceptable to the filter, sending
// a signal on (by closing) the returned channel. A listener will only
// ever be notified once, if at all.
Listen(id string, f Filter) <-chan struct{}
// invoked when offers are rescinded or expired
Delete(string)
Get(offerId string) (Perishable, bool)
Walk(Walker) error
// invalidate one or all (when offerId="") offers; offers are not declined,
// but are simply flagged as expired in the offer history
Invalidate(offerId string)
}
func CreateRegistry ¶
func CreateRegistry(c RegistryConfig) Registry
type RegistryConfig ¶
type RegistryConfig struct {
DeclineOffer func(offerId string) error
TTL time.Duration // determines a perishable offer's expiration deadline: now+ttl
LingerTTL time.Duration // if zero, offers will not linger in the FIFO past their expiration deadline
ListenerDelay time.Duration // specifies the sleep time between offer listener notifications
}
type Walker ¶
type Walker func(offer Perishable) (stop bool, err error)
callback that is invoked during a walk through a series of live offers, returning with stop=true (or err != nil) if the walk should stop permaturely.
Click to show internal directories.
Click to hide internal directories.