mirror of https://github.com/voidlizard/hbs2
default config path bug fixed
This commit is contained in:
parent
5c490cbf4a
commit
e970e0a30e
|
@ -94,7 +94,7 @@ peerConfigRead mbfp = do
|
||||||
|
|
||||||
xdg <- peerConfigDefault
|
xdg <- peerConfigDefault
|
||||||
|
|
||||||
let cfgPath = fromMaybe xdg mbfp
|
let cfgPath = maybe xdg (</> cfgName) mbfp
|
||||||
let dir = takeDirectory cfgPath
|
let dir = takeDirectory cfgPath
|
||||||
|
|
||||||
debug $ "searching config" <+> pretty cfgPath
|
debug $ "searching config" <+> pretty cfgPath
|
||||||
|
|
|
@ -123,6 +123,7 @@ data RPCCommand =
|
||||||
| PING (PeerAddr UDP) (Maybe (Peer UDP))
|
| PING (PeerAddr UDP) (Maybe (Peer UDP))
|
||||||
| CHECK PeerNonce (PeerAddr UDP) (Hash HbSync)
|
| CHECK PeerNonce (PeerAddr UDP) (Hash HbSync)
|
||||||
| FETCH (Hash HbSync)
|
| FETCH (Hash HbSync)
|
||||||
|
| PEERS
|
||||||
|
|
||||||
data PeerOpts =
|
data PeerOpts =
|
||||||
PeerOpts
|
PeerOpts
|
||||||
|
@ -165,6 +166,7 @@ runCLI = join . customExecParser (prefs showHelpOnError) $
|
||||||
<> command "announce" (info pAnnounce (progDesc "announce block"))
|
<> command "announce" (info pAnnounce (progDesc "announce block"))
|
||||||
<> command "ping" (info pPing (progDesc "ping another peer"))
|
<> command "ping" (info pPing (progDesc "ping another peer"))
|
||||||
<> command "fetch" (info pFetch (progDesc "fetch block"))
|
<> command "fetch" (info pFetch (progDesc "fetch block"))
|
||||||
|
<> command "peers" (info pPeers (progDesc "show known peers"))
|
||||||
)
|
)
|
||||||
|
|
||||||
common = do
|
common = do
|
||||||
|
@ -212,6 +214,10 @@ runCLI = join . customExecParser (prefs showHelpOnError) $
|
||||||
h <- strArgument ( metavar "ADDR" )
|
h <- strArgument ( metavar "ADDR" )
|
||||||
pure $ runRpcCommand rpc (PING h Nothing)
|
pure $ runRpcCommand rpc (PING h Nothing)
|
||||||
|
|
||||||
|
pPeers = do
|
||||||
|
rpc <- pRpcCommon
|
||||||
|
pure $ runRpcCommand rpc PEERS
|
||||||
|
|
||||||
pInit = do
|
pInit = do
|
||||||
pref <- optional $ strArgument ( metavar "DIR" )
|
pref <- optional $ strArgument ( metavar "DIR" )
|
||||||
pure $ peerConfigInit pref
|
pure $ peerConfigInit pref
|
||||||
|
@ -546,12 +552,17 @@ runPeer opts = Exception.handle myException $ do
|
||||||
liftIO $ withPeerM penv
|
liftIO $ withPeerM penv
|
||||||
$ withDownload denv (processBlock h)
|
$ withDownload denv (processBlock h)
|
||||||
|
|
||||||
|
let peersAction _ = do
|
||||||
|
debug "rpcPeers command"
|
||||||
|
pure ()
|
||||||
|
|
||||||
let arpc = RpcAdapter pokeAction
|
let arpc = RpcAdapter pokeAction
|
||||||
dontHandle
|
dontHandle
|
||||||
annAction
|
annAction
|
||||||
pingAction
|
pingAction
|
||||||
dontHandle
|
dontHandle
|
||||||
fetchAction
|
fetchAction
|
||||||
|
peersAction
|
||||||
|
|
||||||
rpc <- async $ runRPC udp1 do
|
rpc <- async $ runRPC udp1 do
|
||||||
runProto @e
|
runProto @e
|
||||||
|
@ -641,6 +652,7 @@ withRPC saddr cmd = do
|
||||||
(const $ notice "ping?")
|
(const $ notice "ping?")
|
||||||
(liftIO . atomically . writeTQueue q)
|
(liftIO . atomically . writeTQueue q)
|
||||||
dontHandle
|
dontHandle
|
||||||
|
dontHandle
|
||||||
|
|
||||||
runRpcCommand :: String -> RPCCommand -> IO ()
|
runRpcCommand :: String -> RPCCommand -> IO ()
|
||||||
runRpcCommand saddr = \case
|
runRpcCommand saddr = \case
|
||||||
|
|
|
@ -20,6 +20,7 @@ data RPC e =
|
||||||
| RPCPokeAnswer
|
| RPCPokeAnswer
|
||||||
| RPCAnnounce (Hash HbSync)
|
| RPCAnnounce (Hash HbSync)
|
||||||
| RPCFetch (Hash HbSync)
|
| RPCFetch (Hash HbSync)
|
||||||
|
| RPCPeers
|
||||||
deriving stock (Generic)
|
deriving stock (Generic)
|
||||||
|
|
||||||
|
|
||||||
|
@ -48,6 +49,7 @@ data RpcAdapter e m =
|
||||||
, rpcOnPing :: PeerAddr e -> m ()
|
, rpcOnPing :: PeerAddr e -> m ()
|
||||||
, rpcOnPong :: PeerAddr e -> m ()
|
, rpcOnPong :: PeerAddr e -> m ()
|
||||||
, rpcOnFetch :: Hash HbSync -> m ()
|
, rpcOnFetch :: Hash HbSync -> m ()
|
||||||
|
, rpcOnPeers :: RPC e -> m ()
|
||||||
}
|
}
|
||||||
|
|
||||||
newtype RpcM m a = RpcM { fromRpcM :: ReaderT RPCEnv m a }
|
newtype RpcM m a = RpcM { fromRpcM :: ReaderT RPCEnv m a }
|
||||||
|
@ -91,7 +93,8 @@ rpcHandler adapter = \case
|
||||||
p@RPCPoke{} -> rpcOnPoke adapter p >> response (RPCPokeAnswer @e)
|
p@RPCPoke{} -> rpcOnPoke adapter p >> response (RPCPokeAnswer @e)
|
||||||
p@RPCPokeAnswer{} -> rpcOnPokeAnswer adapter p
|
p@RPCPokeAnswer{} -> rpcOnPokeAnswer adapter p
|
||||||
(RPCAnnounce h) -> rpcOnAnnounce adapter h
|
(RPCAnnounce h) -> rpcOnAnnounce adapter h
|
||||||
(RPCPing pa) -> rpcOnPing adapter pa
|
(RPCPing pa) -> rpcOnPing adapter pa
|
||||||
(RPCPong pa) -> rpcOnPong adapter pa
|
(RPCPong pa) -> rpcOnPong adapter pa
|
||||||
(RPCFetch h) -> rpcOnFetch adapter h
|
(RPCFetch h) -> rpcOnFetch adapter h
|
||||||
|
p@RPCPeers{} -> rpcOnPeers adapter p
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue