name findOrCreate
License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
Brian Tiger Chow committed
Dec 15, 2014 at 22:52 UTC
f028c44fd205141c32a3ef3ac32d15c3365fefbb
1 file changed
+6
-6
exchange/bitswap/strategy/ledgermanager.go
+6
-6
@@ -87,7 +87,7 @@ func (lm *LedgerManager) BlockIsWantedByPeer(k u.Key, p peer.Peer) bool {
87
lm.lock.RLock()
88
defer lm.lock.RUnlock()
89
90
- ledger := lm.ledger(p)
90
+ ledger := lm.findOrCreate(p)
91
return ledger.WantListContains(k)
92
}
93
@@ -97,7 +97,7 @@ func (lm *LedgerManager) MessageReceived(p peer.Peer, m bsmsg.BitSwapMessage) er
97
lm.lock.Lock()
98
defer lm.lock.Unlock()
99
100
- l := lm.ledger(p)
100
+ l := lm.findOrCreate(p)
101
if m.Full() {
102
l.wantList = wl.New()
103
}
@@ -146,7 +146,7 @@ func (lm *LedgerManager) MessageSent(p peer.Peer, m bsmsg.BitSwapMessage) error
146
lm.lock.Lock()
147
defer lm.lock.Unlock()
148
149
- l := lm.ledger(p)
149
+ l := lm.findOrCreate(p)
150
for _, block := range m.Blocks() {
151
l.SentBytes(len(block.Data))
152
l.wantList.Remove(block.Key())
@@ -160,18 +160,18 @@ func (lm *LedgerManager) NumBytesSentTo(p peer.Peer) uint64 {
160
lm.lock.RLock()
161
defer lm.lock.RUnlock()
162
163
- return lm.ledger(p).Accounting.BytesSent
163
+ return lm.findOrCreate(p).Accounting.BytesSent
164
}
165
166
func (lm *LedgerManager) NumBytesReceivedFrom(p peer.Peer) uint64 {
167
lm.lock.RLock()
168
defer lm.lock.RUnlock()
169
170
- return lm.ledger(p).Accounting.BytesRecv
170
+ return lm.findOrCreate(p).Accounting.BytesRecv
171
}
172
173
// ledger lazily instantiates a ledger
174
-func (lm *LedgerManager) ledger(p peer.Peer) *ledger {
174
+func (lm *LedgerManager) findOrCreate(p peer.Peer) *ledger {
175
l, ok := lm.ledgerMap[peerKey(p.Key())]
176
if !ok {
177
l = newLedger(p)