Browse Source

always send reply

pull/659/head
orignal 8 years ago
parent
commit
d6aca6fa00
  1. 11
      I2CP.cpp

11
I2CP.cpp

@ -66,12 +66,19 @@ namespace client
memcpy (buf + 4, payload, len); memcpy (buf + 4, payload, len);
msg->len += len + 4; msg->len += len + 4;
msg->FillI2NPMessageHeader (eI2NPData); msg->FillI2NPMessageHeader (eI2NPData);
auto s = GetSharedFromThis ();
auto remote = FindLeaseSet (ident); auto remote = FindLeaseSet (ident);
if (remote) if (remote)
GetService ().post (std::bind (&I2CPDestination::SendMsg, GetSharedFromThis (), msg, remote)); {
GetService ().post (
[s, msg, remote, nonce]()
{
bool sent = s->SendMsg (msg, remote);
s->m_Owner->SendMessageStatusMessage (nonce, sent ? eI2CPMessageStatusGuaranteedSuccess : eI2CPMessageStatusGuaranteedFailure);
});
}
else else
{ {
auto s = GetSharedFromThis ();
RequestDestination (ident, RequestDestination (ident,
[s, msg, nonce](std::shared_ptr<i2p::data::LeaseSet> ls) [s, msg, nonce](std::shared_ptr<i2p::data::LeaseSet> ls)
{ {

Loading…
Cancel
Save