package replication import ( "sync" ) type ( garbageStore struct { *sync.RWMutex items []Address } ) func (s *garbageStore) put(addr Address) { s.Lock() defer s.Unlock() for i := range s.items { if s.items[i].Equal(&addr) { return } } s.items = append(s.items, addr) } func newGarbageStore() *garbageStore { return &garbageStore{RWMutex: new(sync.RWMutex)} }