MCPcopy Create free account
hub / github.com/CovenantSQL/CovenantSQL / register

Method register

sqlchain/ackindex.go:56–78  ·  view source on GitHub ↗
(ack *types.SignedAckHeader)

Source from the content-addressed store, hash-verified

54}
55
56func (i *multiAckIndex) register(ack *types.SignedAckHeader) (err error) {
57 var (
58 resp *types.SignedResponseHeader
59 ok bool
60 key = ack.GetQueryKey()
61 )
62 log.Debugf("registering key %s <-- ack %s", &key, ack.Hash())
63
64 i.Lock()
65 defer i.Unlock()
66 if resp, ok = i.respIndex[key]; !ok {
67 err = errors.Wrapf(ErrQueryNotFound, "register key %s <-- ack %s", &key, ack.Hash())
68 return
69 }
70 if resp.Hash() != ack.GetResponseHash() {
71 err = errors.Wrapf(ErrResponseSeqNotMatch, "register key %s <-- ack %s", &key, ack.Hash())
72 }
73 delete(i.respIndex, key)
74 i.ackIndex[key] = ack
75 atomic.AddInt32(&i.owner.responseCount, -1)
76 atomic.AddInt32(&i.owner.ackCount, 1)
77 return
78}
79
80func (i *multiAckIndex) remove(ack *types.SignedAckHeader) (err error) {
81 var key = ack.GetQueryKey()

Callers 1

registerMethod · 0.95

Calls 4

DebugfFunction · 0.92
GetResponseHashMethod · 0.80
HashMethod · 0.65
GetQueryKeyMethod · 0.45

Tested by

no test coverage detected