AddIngester adds the given ingester to the ring. Ingester will only use supplied tokens, any other tokens are removed.
(id, addr, zone string, tokens []uint32, state InstanceState, registeredAt time.Time)
| 41 | // AddIngester adds the given ingester to the ring. Ingester will only use supplied tokens, |
| 42 | // any other tokens are removed. |
| 43 | func (d *Desc) AddIngester(id, addr, zone string, tokens []uint32, state InstanceState, registeredAt time.Time) InstanceDesc { |
| 44 | if d.Ingesters == nil { |
| 45 | d.Ingesters = map[string]InstanceDesc{} |
| 46 | } |
| 47 | |
| 48 | registeredTimestamp := int64(0) |
| 49 | if !registeredAt.IsZero() { |
| 50 | registeredTimestamp = registeredAt.Unix() |
| 51 | } |
| 52 | |
| 53 | ingester := InstanceDesc{ |
| 54 | Addr: addr, |
| 55 | Timestamp: time.Now().Unix(), |
| 56 | RegisteredTimestamp: registeredTimestamp, |
| 57 | State: state, |
| 58 | Tokens: tokens, |
| 59 | Zone: zone, |
| 60 | } |
| 61 | |
| 62 | d.Ingesters[id] = ingester |
| 63 | return ingester |
| 64 | } |
| 65 | |
| 66 | // RemoveIngester removes the given ingester and all its tokens. |
| 67 | func (d *Desc) RemoveIngester(id string) { |
no outgoing calls