|
|
@ -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) |
|
|
|
{ |
|
|
|
{ |
|
|
|