fix makefile fromat target

use lokimq::address instead of std::string or std::string_view
pull/1306/head
Jeff Becker 4 years ago
parent ca9e015ca4
commit 1779f33506
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -310,7 +310,7 @@ mac: mac-release
$(MAKE) -C '$(BUILD_ROOT)' package
format:
$(FORMAT) -i $$(find jni daemon llarp include pybind | grep -E '\.[h,c](pp)?$$')
$(FORMAT) -i $$(find jni daemon llarp include pybind | grep -E '\.[hc](pp)?$$')
format-verify: format
(type $(FORMAT))

@ -237,9 +237,9 @@ namespace llarp
if (conf)
{
enableRPCServer = conf->api.m_enableRPCServer;
rpcBindAddr = conf->api.m_rpcBindAddr;
rpcBindAddr = lokimq::address(conf->api.m_rpcBindAddr);
whitelistRouters = conf->lokid.whitelistRouters;
lokidRPCAddr = conf->lokid.lokidRPCAddr;
lokidRPCAddr = lokimq::address(conf->lokid.lokidRPCAddr);
}
if (not StartRpcServer())
throw std::runtime_error("Failed to start rpc server");
@ -250,7 +250,7 @@ namespace llarp
if (whitelistRouters)
{
m_lokidRpcClient->ConnectAsync(std::string_view{lokidRPCAddr});
m_lokidRpcClient->ConnectAsync(lokidRPCAddr);
}
// fetch keys
@ -415,9 +415,7 @@ namespace llarp
// Lokid Config
usingSNSeed = conf->lokid.usingSNSeed;
whitelistRouters = conf->lokid.whitelistRouters;
lokidRPCAddr = conf->lokid.lokidRPCAddr;
lokidRPCUser = conf->lokid.lokidRPCUser;
lokidRPCPassword = conf->lokid.lokidRPCPassword;
lokidRPCAddr = lokimq::address(conf->lokid.lokidRPCAddr);
if (usingSNSeed)
ident_keyfile = conf->lokid.ident_keyfile;
@ -842,19 +840,6 @@ namespace llarp
{
if (enableRPCServer)
{
if (rpcBindAddr.empty())
{
rpcBindAddr = DefaultRPCBindAddr;
}
// older configs just specify an ip/port tuple so check for that and prepend tcp:// in that
// case
if (rpcBindAddr.find("tcp://") == std::string::npos
and rpcBindAddr.find("ipc://") == std::string::npos)
{
LogWarn("RPC Server protocol not specified, defaulting to tcp");
rpcBindAddr = "tcp://" + rpcBindAddr;
}
m_RPCServer->AsyncServeRPC(rpcBindAddr);
LogInfo("Bound RPC server to ", rpcBindAddr);
}

@ -44,6 +44,8 @@
#include <unordered_map>
#include <vector>
#include <lokimq/address.h>
namespace llarp
{
struct Router final : public AbstractRouter
@ -255,16 +257,16 @@ namespace llarp
NetworkConfig networkConfig;
DnsConfig dnsConfig;
const std::string DefaultRPCBindAddr = "tcp://127.0.0.1:1190";
const lokimq::address DefaultRPCBindAddr = lokimq::address::tcp("127.0.0.1", 1190);
bool enableRPCServer = false;
std::string rpcBindAddr = DefaultRPCBindAddr;
lokimq::address rpcBindAddr = DefaultRPCBindAddr;
std::unique_ptr<rpc::RpcServer> m_RPCServer;
const llarp_time_t _randomStartDelay;
std::shared_ptr<rpc::LokidRpcClient> m_lokidRpcClient;
std::string lokidRPCAddr = "ipc://loki.sock";
lokimq::address lokidRPCAddr;
std::string lokidRPCUser;
std::string lokidRPCPassword;

@ -39,17 +39,18 @@ namespace llarp
}
void
LokidRpcClient::ConnectAsync(std::string_view url)
LokidRpcClient::ConnectAsync(lokimq::address url)
{
LogInfo("connecting to lokid via LMQ at ", url);
m_lokiMQ->connect_remote(
std::move(url),
url.zmq_address(),
[self = shared_from_this()](lokimq::ConnectionID c) {
self->m_Connection = std::move(c);
self->Connected();
},
[](lokimq::ConnectionID, std::string_view f) {
[self = shared_from_this(), url](lokimq::ConnectionID, std::string_view f) {
llarp::LogWarn("Failed to connect to lokid: ", f);
LogicCall(self->m_Router->logic(), [self, url]() { self->ConnectAsync(url); });
});
}
@ -103,10 +104,9 @@ namespace llarp
Command("admin.lokinet_ping");
m_lokiMQ->add_timer(
[self = shared_from_this()]() { self->Command("admin.lokinet_ping"); }, PingInterval);
UpdateServiceNodeList();
m_lokiMQ->add_timer(
[self = shared_from_this()]() { self->UpdateServiceNodeList(); }, NodeListUpdateInterval);
UpdateServiceNodeList();
}
void

@ -3,6 +3,7 @@
#include <router_id.hpp>
#include <lokimq/lokimq.h>
#include <lokimq/address.h>
#include <crypto/types.hpp>
#include <crypto/types.hpp>
@ -22,7 +23,7 @@ namespace llarp
/// Connect to lokid async
void
ConnectAsync(std::string_view url);
ConnectAsync(lokimq::address url);
/// blocking request identity key from lokid
std::optional<SecretKey>

@ -10,10 +10,21 @@ namespace llarp::rpc
}
void
RpcServer::AsyncServeRPC(std::string url)
RpcServer::AsyncServeRPC(lokimq::address url)
{
m_LMQ->listen_plain(std::move(url));
m_LMQ->listen_plain(url.zmq_address());
m_LMQ->add_category("llarp", lokimq::AuthLevel::none)
.add_command(
"halt",
[&](lokimq::Message& msg) {
if (not m_Router->IsRunning())
{
msg.send_reply("router is not running");
return;
}
m_Router->Stop();
msg.send_reply("OK");
})
.add_request_command(
"version", [](lokimq::Message& msg) { msg.send_reply(llarp::VERSION_FULL); })
.add_request_command("status", [&](lokimq::Message& msg) {

@ -2,6 +2,7 @@
#include <string_view>
#include <lokimq/lokimq.h>
#include <lokimq/address.h>
namespace llarp
{
@ -17,7 +18,7 @@ namespace llarp::rpc
explicit RpcServer(LMQ_ptr, AbstractRouter*);
~RpcServer() = default;
void
AsyncServeRPC(std::string addr);
AsyncServeRPC(lokimq::address addr);
private:
LMQ_ptr m_LMQ;

Loading…
Cancel
Save