mirror of
https://github.com/oxen-io/lokinet
synced 2023-12-14 06:53:00 +01:00
tom/jason-fix in lokinet_shared.cpp for lokinet_outbound_tcp
This commit is contained in:
parent
3ae45781c8
commit
d36a569704
|
@ -91,14 +91,14 @@ main(int argc, char* argv[])
|
|||
free(addr_c);
|
||||
std::cerr << "lokinet address: " << addr << "\n";
|
||||
|
||||
lokinet_stream_result stream_res;
|
||||
lokinet_tcp_result stream_res;
|
||||
|
||||
std::string target{argv[1]};
|
||||
target = target + ":" + argv[2];
|
||||
|
||||
// hard-coded IP:port for liblokinet to bind to
|
||||
// connect via tcp will stream traffic to whatever
|
||||
lokinet_outbound_stream(&stream_res, target.c_str(), "127.0.0.1:54321", ctx, nullptr, nullptr, nullptr);
|
||||
lokinet_outbound_tcp(&stream_res, target.c_str(), "127.0.0.1:54321", ctx, nullptr, nullptr, nullptr);
|
||||
|
||||
if (stream_res.error)
|
||||
{
|
||||
|
@ -113,7 +113,7 @@ main(int argc, char* argv[])
|
|||
|
||||
std::cerr << "tcp_connect shutting down...\n";
|
||||
|
||||
lokinet_close_stream(stream_res.stream_id, ctx);
|
||||
lokinet_close_tcp(stream_res.tcp_id, ctx);
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds{1000});
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ main(int argc, char* argv[])
|
|||
|
||||
const auto port = 10000;
|
||||
|
||||
auto id = lokinet_inbound_stream(port, ctx);
|
||||
auto id = lokinet_inbound_tcp(port, ctx);
|
||||
if (id < 0)
|
||||
{
|
||||
std::cout << "failed to bind tcp socket\n";
|
||||
|
@ -90,7 +90,7 @@ main(int argc, char* argv[])
|
|||
|
||||
std::cout << "tcp_listen shutting down...\n";
|
||||
|
||||
lokinet_close_stream(id, ctx);
|
||||
lokinet_close_tcp(id, ctx);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -343,7 +343,7 @@ namespace
|
|||
void
|
||||
tcp_error(lokinet_tcp_result* result, int err)
|
||||
{
|
||||
std::memset(result, 0, sizeof(lokinet_tcp_result));
|
||||
*result = lokinet_tcp_result{};
|
||||
result->error = err;
|
||||
}
|
||||
|
||||
|
@ -676,9 +676,6 @@ extern "C"
|
|||
return;
|
||||
}
|
||||
|
||||
std::promise<void> promise;
|
||||
std::future<void> future = promise.get_future();
|
||||
|
||||
auto lock = ctx->acquire();
|
||||
|
||||
if (not ctx->impl->IsUp())
|
||||
|
@ -743,15 +740,18 @@ extern "C"
|
|||
close_cb(rv, user_data);
|
||||
};
|
||||
|
||||
ctx->impl->CallSafe([promise = std::move(promise),
|
||||
ctx,
|
||||
result,
|
||||
router = ctx->impl->router,
|
||||
remotehost,
|
||||
remoteport,
|
||||
on_open = std::move(on_open),
|
||||
on_close = std::move(on_close),
|
||||
localAddr]() mutable {
|
||||
std::promise<void> promise;
|
||||
std::future<void> future = promise.get_future();
|
||||
|
||||
ctx->impl->CallSafe([&promise,
|
||||
ctx,
|
||||
result,
|
||||
router = ctx->impl->router,
|
||||
remotehost,
|
||||
remoteport,
|
||||
on_open = std::move(on_open),
|
||||
on_close = std::move(on_close),
|
||||
localAddr]() mutable {
|
||||
try
|
||||
{
|
||||
auto ep = ctx->endpoint();
|
||||
|
@ -798,7 +798,7 @@ extern "C"
|
|||
}
|
||||
catch (...)
|
||||
{
|
||||
llarp::log::error(logcat, "Unknown exception caught.", );
|
||||
llarp::log::error(logcat, "Unknown exception caught.");
|
||||
tcp_error(result, EBADF);
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue