From ed0556b9196dab421dee21d08680b28fb00f7f95 Mon Sep 17 00:00:00 2001 From: Brian Tiger Chow Date: Mon, 27 Oct 2014 20:36:45 -0700 Subject: [PATCH] perf(mux) use RWMutex --- net/mux/mux.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/net/mux/mux.go b/net/mux/mux.go index a8865bb7393..37856725dd6 100644 --- a/net/mux/mux.go +++ b/net/mux/mux.go @@ -41,10 +41,10 @@ type Muxer struct { // Protocols are the multiplexed services. Protocols ProtocolMap - bwiLock sync.Mutex + bwiLock sync.RWMutex bwIn uint64 - bwoLock sync.Mutex + bwoLock sync.RWMutex bwOut uint64 *msg.Pipe @@ -76,13 +76,13 @@ func (m *Muxer) GetPipe() *msg.Pipe { // GetBandwidthTotals return the in/out bandwidth measured over this muxer. func (m *Muxer) GetBandwidthTotals() (in uint64, out uint64) { - m.bwiLock.Lock() + m.bwiLock.RLock() in = m.bwIn - m.bwiLock.Unlock() + m.bwiLock.RUnlock() - m.bwoLock.Lock() + m.bwoLock.RLock() out = m.bwOut - m.bwoLock.Unlock() + m.bwoLock.RUnlock() return }