@cryptotaxi247 / kubo / commits / f028c44fd

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)