func accept(ch <-chan *store.Bucket, register *map[string]*store.Bucket) { for m := range ch { k := m.String() var bucket *store.Bucket registerLocker.Lock() bucket, ok := (*register)[k] if !ok { (*register)[k] = m } else { bucket.Add(m) } registerLocker.Unlock() } }