aboutsummaryrefslogtreecommitdiff
path: root/src/net.h
diff options
context:
space:
mode:
authorMarcoFalke <falke.marco@gmail.com>2021-01-06 07:07:32 +0100
committerMarcoFalke <falke.marco@gmail.com>2021-01-06 07:07:35 +0100
commit4eada5d8b16e49b49a300f7935f0d92506f5b356 (patch)
treee2dec71d821f7c75f9ecdd91aad3af3ff12f273f /src/net.h
parent417f95fa453d97087a33d4176523ab278bef21a1 (diff)
parent378aedc45248cea82d9a3e6dc1038d6828008a76 (diff)
downloadbitcoin-4eada5d8b16e49b49a300f7935f0d92506f5b356.tar.xz
Merge #20816: net: Move RecordBytesSent() call out of cs_vSend lock
378aedc45248cea82d9a3e6dc1038d6828008a76 [net] Add cs_vSend lock annotations (John Newbery) 673254515a2f97e53dd8c7335c836b083ba7e31a [net] Move RecordBytesSent() call out of cs_vSend lock (John Newbery) Pull request description: RecordBytesSent() does not require cs_vSend to be locked, so reduce the scope of cs_vSend. Also correctly annotate the CNode data members that are guarded by cs_vSend. This is a simpler alternative to #19673. ACKs for top commit: jnewbery: ok, reverting to commit 378aedc which has two ACKs already. Any style issues can be fixed up in future PRs. troygiorshev: ACK 378aedc45248cea82d9a3e6dc1038d6828008a76 theStack: re-ACK 378aedc45248cea82d9a3e6dc1038d6828008a76 MarcoFalke: review ACK 378aedc45248cea82d9a3e6dc1038d6828008a76 🔌 Tree-SHA512: e9cd6c472b7e1479120c1bf2d1c640cf6d18c7d589a5f9b7dfc4875e5790adaab403a7a1b945a47e79e7249a614b8583270e4549f89b22e8a9edb2e4818b0d07
Diffstat (limited to 'src/net.h')
-rw-r--r--src/net.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/net.h b/src/net.h
index 10a550735e..cbc2a3dc38 100644
--- a/src/net.h
+++ b/src/net.h
@@ -849,8 +849,10 @@ public:
// socket
std::atomic<ServiceFlags> nServices{NODE_NONE};
SOCKET hSocket GUARDED_BY(cs_hSocket);
- size_t nSendSize{0}; // total size of all vSendMsg entries
- size_t nSendOffset{0}; // offset inside the first vSendMsg already sent
+ /** Total size of all vSendMsg entries */
+ size_t nSendSize GUARDED_BY(cs_vSend){0};
+ /** Offset inside the first vSendMsg already sent */
+ size_t nSendOffset GUARDED_BY(cs_vSend){0};
uint64_t nSendBytes GUARDED_BY(cs_vSend){0};
std::deque<std::vector<unsigned char>> vSendMsg GUARDED_BY(cs_vSend);
Mutex cs_vSend;
@@ -979,7 +981,7 @@ public:
Network ConnectedThroughNetwork() const;
protected:
- mapMsgCmdSize mapSendBytesPerMsgCmd;
+ mapMsgCmdSize mapSendBytesPerMsgCmd GUARDED_BY(cs_vSend);
mapMsgCmdSize mapRecvBytesPerMsgCmd GUARDED_BY(cs_vRecv);
public: