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); free(addr_c);
std::cerr << "lokinet address: " << addr << "\n"; std::cerr << "lokinet address: " << addr << "\n";
lokinet_stream_result stream_res; lokinet_tcp_result stream_res;
std::string target{argv[1]}; std::string target{argv[1]};
target = target + ":" + argv[2]; target = target + ":" + argv[2];
// hard-coded IP:port for liblokinet to bind to // hard-coded IP:port for liblokinet to bind to
// connect via tcp will stream traffic to whatever // 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) if (stream_res.error)
{ {
@ -113,7 +113,7 @@ main(int argc, char* argv[])
std::cerr << "tcp_connect shutting down...\n"; 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}); std::this_thread::sleep_for(std::chrono::milliseconds{1000});
return 0; return 0;
} }

View file

@ -65,7 +65,7 @@ main(int argc, char* argv[])
const auto port = 10000; const auto port = 10000;
auto id = lokinet_inbound_stream(port, ctx); auto id = lokinet_inbound_tcp(port, ctx);
if (id < 0) if (id < 0)
{ {
std::cout << "failed to bind tcp socket\n"; std::cout << "failed to bind tcp socket\n";
@ -90,7 +90,7 @@ main(int argc, char* argv[])
std::cout << "tcp_listen shutting down...\n"; std::cout << "tcp_listen shutting down...\n";
lokinet_close_stream(id, ctx); lokinet_close_tcp(id, ctx);
return 0; return 0;
} }

View file

@ -343,7 +343,7 @@ namespace
void void
tcp_error(lokinet_tcp_result* result, int err) tcp_error(lokinet_tcp_result* result, int err)
{ {
std::memset(result, 0, sizeof(lokinet_tcp_result)); *result = lokinet_tcp_result{};
result->error = err; result->error = err;
} }
@ -676,9 +676,6 @@ extern "C"
return; return;
} }
std::promise<void> promise;
std::future<void> future = promise.get_future();
auto lock = ctx->acquire(); auto lock = ctx->acquire();
if (not ctx->impl->IsUp()) if (not ctx->impl->IsUp())
@ -743,7 +740,10 @@ extern "C"
close_cb(rv, user_data); close_cb(rv, user_data);
}; };
ctx->impl->CallSafe([promise = std::move(promise), std::promise<void> promise;
std::future<void> future = promise.get_future();
ctx->impl->CallSafe([&promise,
ctx, ctx,
result, result,
router = ctx->impl->router, router = ctx->impl->router,
@ -798,7 +798,7 @@ extern "C"
} }
catch (...) catch (...)
{ {
llarp::log::error(logcat, "Unknown exception caught.", ); llarp::log::error(logcat, "Unknown exception caught.");
tcp_error(result, EBADF); tcp_error(result, EBADF);
return; return;
} }