func newQueuer(store queue.FIFO) *queuer { q := &queuer{ podQueue: queue.NewDelayFIFO(), podUpdates: store, } q.deltaCond.L = &q.lock q.unscheduledCond.L = &q.lock return q }
func CreateRegistry(c RegistryConfig) Registry { metrics.Register() return &offerStorage{ RegistryConfig: c, offers: cache.NewFIFO(cache.KeyFunc(func(v interface{}) (string, error) { if perishable, ok := v.(Perishable); !ok { return "", fmt.Errorf("expected perishable offer, not '%+v'", v) } else { return perishable.Id(), nil } })), listeners: queue.NewDelayFIFO(), delayed: queue.NewDelayQueue(), slaves: newSlaveStorage(), } }