Skip to content

Commit 888dde9

Browse files
committed
add CHash.RemoveAllGroup()
add CHash.RemoveAllGroup()
1 parent 63aeee4 commit 888dde9

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

chash.go

+9
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,15 @@ func (c *CHash) RemoveGroup(groupName string) {
4848
delete(c.groups, groupName)
4949
}
5050

51+
func (c *CHash) RemoveAllGroup() {
52+
c.Lock()
53+
defer c.Unlock()
54+
55+
for k := range c.groups {
56+
delete(c.groups, k)
57+
}
58+
}
59+
5160
func (c *CHash) Insert(groupName string, key string, payload []byte) error {
5261
c.Lock()
5362
group, ok := c.groups[groupName]

chash_test.go

+15
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,21 @@ func TestCHashRemoveGroup(t *testing.T) {
8383
assert.Equal(t, ErrGroupNotFound, err)
8484
}
8585

86+
func TestCHashRemoveAllGroup(t *testing.T) {
87+
hash := New()
88+
group1, err := hash.CreateGroup("werbenhu1", 2000)
89+
assert.Nil(t, err)
90+
assert.NotNil(t, group1)
91+
92+
group2, err := hash.CreateGroup("werbenhu2", 1000)
93+
assert.Nil(t, err)
94+
assert.NotNil(t, group2)
95+
96+
assert.Equal(t, 2, len(hash.groups))
97+
hash.RemoveAllGroup()
98+
assert.Equal(t, 0, len(hash.groups))
99+
}
100+
86101
func TestCHashInsert(t *testing.T) {
87102
hash := New()
88103
hash.CreateGroup("werbenhu1", 10000)

0 commit comments

Comments
 (0)