default config path bug fixed

This commit is contained in:
Dmitry Zuikov 2023-02-15 10:12:53 +03:00
parent 5c490cbf4a
commit e970e0a30e
3 changed files with 17 additions and 2 deletions

View File

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

View File

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

View File

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