use std::swap

pull/1272/head
Jeff Becker 4 years ago
parent 4a378ae934
commit 25a4bbd5ca
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -439,31 +439,33 @@ namespace llarp
msg.pathid = TXID();
++idx;
}
LogicCall(
r->logic(),
std::bind(&Path::HandleAllUpstream, shared_from_this(), std::move(sendmsgs), r));
LogicCall(r->logic(), [self = shared_from_this(), data = std::move(sendmsgs), r]() {
self->HandleAllUpstream(std::move(data), r);
});
}
void
Path::FlushUpstream(AbstractRouter* r)
{
if (m_UpstreamQueue && !m_UpstreamQueue->empty())
if (m_UpstreamQueue && not m_UpstreamQueue->empty())
{
TrafficQueue_ptr data = nullptr;
std::swap(m_UpstreamQueue, data);
r->threadpool()->addJob(
std::bind(&Path::UpstreamWork, shared_from_this(), std::move(m_UpstreamQueue), r));
[self = shared_from_this(), data, r]() { self->UpstreamWork(std::move(data), r); });
}
m_UpstreamQueue = nullptr;
}
void
Path::FlushDownstream(AbstractRouter* r)
{
if (m_DownstreamQueue && !m_DownstreamQueue->empty())
if (m_DownstreamQueue && not m_DownstreamQueue->empty())
{
TrafficQueue_ptr data = nullptr;
std::swap(m_DownstreamQueue, data);
r->threadpool()->addJob(
std::bind(&Path::DownstreamWork, shared_from_this(), std::move(m_DownstreamQueue), r));
[self = shared_from_this(), data, r]() { self->DownstreamWork(std::move(data), r); });
}
m_DownstreamQueue = nullptr;
}
bool
@ -507,9 +509,9 @@ namespace llarp
sendMsgs[idx].X = buf;
++idx;
}
LogicCall(
r->logic(),
std::bind(&Path::HandleAllDownstream, shared_from_this(), std::move(sendMsgs), r));
LogicCall(r->logic(), [self = shared_from_this(), msgs = std::move(sendMsgs), r]() {
self->HandleAllDownstream(std::move(msgs), r);
});
}
void

Loading…
Cancel
Save