{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE RankNTypes #-}

module Cardano.CLI.EraIndependent.Ping.Run
  ( runPingCmd
  )
where

import Cardano.Api

import Cardano.CLI.Compatible.Exception (CIO)
import Cardano.CLI.EraIndependent.Ping.Command
import Cardano.Network.Ping qualified as Ping

runPingCmd :: PingCmd -> CIO e ()
runPingCmd :: forall e. PingCmd -> CIO e ()
runPingCmd PingCmd{PingOpts
pingOpts :: PingOpts
pingOpts :: PingCmd -> PingOpts
pingOpts, [Address (Unresolved SRVOrFilePathUnresolved)]
pingAddresses :: [Address (Unresolved SRVOrFilePathUnresolved)]
pingAddresses :: PingCmd -> [Address (Unresolved SRVOrFilePathUnresolved)]
pingAddresses} =
  IO () -> RIO e ()
forall a. IO a -> RIO e a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> RIO e ()) -> IO () -> RIO e ()
forall a b. (a -> b) -> a -> b
$ PingOpts -> [Address (Unresolved SRVOrFilePathUnresolved)] -> IO ()
Ping.pingClients PingOpts
pingOpts [Address (Unresolved SRVOrFilePathUnresolved)]
pingAddresses