| 929 | } |
| 930 | |
| 931 | void Stream::AsyncSend (const uint8_t * buf, size_t len, SendHandler handler) |
| 932 | { |
| 933 | std::shared_ptr<i2p::stream::SendBuffer> buffer; |
| 934 | if (len > 0 && buf) |
| 935 | buffer = std::make_shared<i2p::stream::SendBuffer>(buf, len, handler); |
| 936 | else if (handler) |
| 937 | handler(boost::system::error_code ()); |
| 938 | auto s = shared_from_this (); |
| 939 | boost::asio::post (m_Service, [s, buffer = std::move(buffer)]() mutable |
| 940 | { |
| 941 | if (buffer) |
| 942 | s->m_SendBuffer.Add (std::move(buffer)); |
| 943 | s->SendBuffer (); |
| 944 | }); |
| 945 | } |
| 946 | |
| 947 | void Stream::SendBuffer () |
| 948 | { |
no test coverage detected