MCPcopy Create free account
hub / github.com/GoEdgeLab/EdgeNode / AddItem

Method AddItem

internal/iplibrary/ip_list_kv.go:141–164  ·  view source on GitHub ↗
(item *pb.IPItem)

Source from the content-addressed store, hash-verified

139}
140
141func (this *KVIPList) AddItem(item *pb.IPItem) error {
142 if this.isClosed {
143 return nil
144 }
145
146 // 先删除
147 var key = this.encoder.EncodeKey(item)
148 err := this.ipTable.Delete(key)
149 if err != nil {
150 return err
151 }
152
153 // 如果是删除,则不再创建新记录
154 if item.IsDeleted {
155 return this.UpdateMaxVersion(item.Version)
156 }
157
158 err = this.ipTable.Set(key, item)
159 if err != nil {
160 return err
161 }
162
163 return this.UpdateMaxVersion(item.Version)
164}
165
166func (this *KVIPList) ReadItems(offset int64, size int64) (items []*pb.IPItem, goNextLoop bool, err error) {
167 if this.isClosed {

Callers 2

TestKVIPList_AddItemFunction · 0.95

Calls 4

UpdateMaxVersionMethod · 0.95
DeleteMethod · 0.65
EncodeKeyMethod · 0.45
SetMethod · 0.45

Tested by 2

TestKVIPList_AddItemFunction · 0.76