cardano-diffusion:ping
Safe HaskellNone
LanguageHaskell2010

Cardano.Network.Ping

Synopsis

API

pingClients' Source #

Arguments

:: Tracer IO (WithHost LogMsg)

trace log messages

-> Tracer IO (WithHost LogInfoMsg)

info messages (e.g. RTTs, negotiated version numbers)

-> Tracer IO Header

print header for ping measurements or tip information; it should be enabled if the first tracer is enabled.

-> Tracer IO PingWarning

trace warning messages

-> PingOpts

options for the ping command

-> AcceptFilePath

accept file paths as addresses; if set to AddressIsNotAFilePath we'll never return file path related errors in AddressResolutionError.

-> [Address ('Unresolved 'SRVOrFilePathUnresolved)] 
-> IO [PingException]

returns two list: * list of resolve errors (printed with PingWarning tracer) * list of pingClient errors

A low level API which returns all address resolution & clients errors.

pingClient Source #

Arguments

:: Tracer IO (WithHost LogMsg)

stdout

-> Tracer IO (WithHost LogInfoMsg)

info tracer

-> Tracer IO Header 
-> Tracer IO PingWarning

stderr

-> PingOpts 
-> AddrInfo 
-> IO (Either PingClientException ()) 

Run a single ping client.

Options and arguments

data PingOpts Source #

Constructors

PingOpts 

Fields

data Stage Source #

There are three stages for resolving addresses.

  1. SRV might be a file path or a DNS name or an SRV record
  2. SRV was resolved as an SRV record, if not
  3. try to resolve it as a DNS name
  4. if failed, try to use it as a file path

See resolveAddress

data Address (stage :: Stage) where Source #

Constructors

IP :: forall (stage :: Stage). IP -> Port -> Address stage 

Instances

Instances details
Show (Address resolved) Source # 
Instance details

Defined in Cardano.Network.Ping

Methods

showsPrec :: Int -> Address resolved -> ShowS #

show :: Address resolved -> String #

showList :: [Address resolved] -> ShowS #

Eq (Address 'Resolved) Source # 
Instance details

Defined in Cardano.Network.Ping

Ord (Address 'Resolved) Source # 
Instance details

Defined in Cardano.Network.Ping

mkAddress :: String -> Address ('Unresolved 'SRVOrFilePathUnresolved) Source #

A smart constructor for Address type.

data PingMode Source #

Constructors

TipMode

query tip

PingMode

ping

QueryMode

query handshake parameters

Instances

Instances details
Show PingMode Source # 
Instance details

Defined in Cardano.Network.Ping

Eq PingMode Source # 
Instance details

Defined in Cardano.Network.Ping

data AcceptFilePath Source #

resolveAddress has two modes of operations. It can try to resolve an Address to a FilePath, or not. In the latter case the errors will be more precise. It is useful when validating an srv record domain names ip addresses.

data LogFormat Source #

Constructors

AsJSON 
AsText 

Instances

Instances details
Show LogFormat Source # 
Instance details

Defined in Cardano.Network.Ping

Eq LogFormat Source # 
Instance details

Defined in Cardano.Network.Ping

data ColorMode Source #

Instances

Instances details
Show ColorMode Source # 
Instance details

Defined in Cardano.Network.Ping

Eq ColorMode Source # 
Instance details

Defined in Cardano.Network.Ping

Log messages

data PingWarning Source #

Log messages to stderr.

Instances

Instances details
ToText PingWarning Source # 
Instance details

Defined in Cardano.Network.Ping

data WithHost a Source #

Constructors

WithHost SockAddr a 

Instances

Instances details
ToJSON a => ToJSON (WithHost a) Source # 
Instance details

Defined in Cardano.Network.Ping

ToText a => ToText (WithHost a) Source # 
Instance details

Defined in Cardano.Network.Ping

Methods

toText :: WithHost a -> Text Source #

Show a => Show (WithHost a) Source # 
Instance details

Defined in Cardano.Network.Ping

Methods

showsPrec :: Int -> WithHost a -> ShowS #

show :: WithHost a -> String #

showList :: [WithHost a] -> ShowS #

data StatPoint Source #

Constructors

StatPoint 

Fields

Instances

Instances details
ToJSON StatPoint Source # 
Instance details

Defined in Cardano.Network.Ping

Show StatPoint Source # 
Instance details

Defined in Cardano.Network.Ping

Formatting log messages

format :: (ToText a, ToJSON a) => LogFormat -> a -> Text Source #

class ToText a where Source #

Methods

toText :: a -> Text Source #

Instances

Instances details
ToText NodeToClientVersion Source # 
Instance details

Defined in Cardano.Network.Ping

ToText NodeToNodeVersion Source # 
Instance details

Defined in Cardano.Network.Ping

ToText LogMsg Source # 
Instance details

Defined in Cardano.Network.Ping

Methods

toText :: LogMsg -> Text Source #

ToText PingWarning Source # 
Instance details

Defined in Cardano.Network.Ping

ToText Text Source # 
Instance details

Defined in Cardano.Network.Ping

Methods

toText :: Text -> Text Source #

ToText String Source # 
Instance details

Defined in Cardano.Network.Ping

Methods

toText :: String -> Text Source #

ToText a => ToText (WithHost a) Source # 
Instance details

Defined in Cardano.Network.Ping

Methods

toText :: WithHost a -> Text Source #

Exceptions

Cardano main-net configuration

Re-exports

newtype NetworkMagic #

Constructors

NetworkMagic 

Instances

Instances details
NFData NetworkMagic 
Instance details

Defined in Ouroboros.Network.Magic

Methods

rnf :: NetworkMagic -> () #

Generic NetworkMagic 
Instance details

Defined in Ouroboros.Network.Magic

Associated Types

type Rep NetworkMagic 
Instance details

Defined in Ouroboros.Network.Magic

type Rep NetworkMagic = D1 ('MetaData "NetworkMagic" "Ouroboros.Network.Magic" "ouroboros-network-1.1.0.0-inplace-api" 'True) (C1 ('MetaCons "NetworkMagic" 'PrefixI 'True) (S1 ('MetaSel ('Just "unNetworkMagic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))
Show NetworkMagic 
Instance details

Defined in Ouroboros.Network.Magic

Eq NetworkMagic 
Instance details

Defined in Ouroboros.Network.Magic

NoThunks NetworkMagic 
Instance details

Defined in Ouroboros.Network.Magic

type Rep NetworkMagic 
Instance details

Defined in Ouroboros.Network.Magic

type Rep NetworkMagic = D1 ('MetaData "NetworkMagic" "Ouroboros.Network.Magic" "ouroboros-network-1.1.0.0-inplace-api" 'True) (C1 ('MetaCons "NetworkMagic" 'PrefixI 'True) (S1 ('MetaSel ('Just "unNetworkMagic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

Orphan instances

ShowProxy Term Source # 
Instance details

Methods

showProxy :: Proxy Term -> String