1
1
Fork 0
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:
dan 2023-04-20 07:18:33 -07:00
parent 3ae45781c8
commit d36a569704
3 changed files with 19 additions and 19 deletions

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}