net: make vRecvMsg a list so that we can use splice()
This commit is contained in:
parent
53ad9a133a
commit
e5bcd9c84f
3 changed files with 3 additions and 3 deletions
|
@ -1859,7 +1859,7 @@ void CConnman::ThreadMessageHandler()
|
|||
|
||||
if (pnode->nSendSize < GetSendBufferSize())
|
||||
{
|
||||
if (!pnode->vRecvGetData.empty() || (!pnode->vRecvMsg.empty() && pnode->vRecvMsg[0].complete()))
|
||||
if (!pnode->vRecvGetData.empty() || (!pnode->vRecvMsg.empty() && pnode->vRecvMsg.front().complete()))
|
||||
{
|
||||
fSleep = false;
|
||||
}
|
||||
|
|
|
@ -605,7 +605,7 @@ public:
|
|||
CCriticalSection cs_vSend;
|
||||
|
||||
std::deque<CInv> vRecvGetData;
|
||||
std::deque<CNetMessage> vRecvMsg;
|
||||
std::list<CNetMessage> vRecvMsg;
|
||||
CCriticalSection cs_vRecvMsg;
|
||||
uint64_t nRecvBytes;
|
||||
int nRecvVersion;
|
||||
|
|
|
@ -2471,7 +2471,7 @@ bool ProcessMessages(CNode* pfrom, CConnman& connman, std::atomic<bool>& interru
|
|||
// this maintains the order of responses
|
||||
if (!pfrom->vRecvGetData.empty()) return fOk;
|
||||
|
||||
std::deque<CNetMessage>::iterator it = pfrom->vRecvMsg.begin();
|
||||
auto it = pfrom->vRecvMsg.begin();
|
||||
while (!pfrom->fDisconnect && it != pfrom->vRecvMsg.end()) {
|
||||
// Don't bother if send buffer is too full to respond anyway
|
||||
if (pfrom->nSendSize >= nMaxSendBufferSize)
|
||||
|
|
Loading…
Reference in a new issue