{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE QuantifiedConstraints #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Cardano.Node.Tracing.Tracers.NodeToClient () where
import Cardano.Logging
import Data.Aeson (Value (String), (.=))
import Data.Text (Text, pack)
import Network.TypedProtocol.Codec (AnyMessageAndAgency (..))
import Ouroboros.Consensus.Ledger.Query (Query)
import Ouroboros.Network.Driver.Simple (TraceSendRecv (..))
import Ouroboros.Network.Protocol.ChainSync.Type as ChainSync
import qualified Ouroboros.Network.Protocol.LocalStateQuery.Type as LSQ
import qualified Ouroboros.Network.Protocol.LocalTxMonitor.Type as LTM
import qualified Ouroboros.Network.Protocol.LocalTxSubmission.Type as LTS
{-# ANN module ("HLint: ignore Redundant bracket" :: Text) #-}
instance LogFormatting (AnyMessageAndAgency ps)
=> LogFormatting (TraceSendRecv ps) where
forMachine :: DetailLevel -> TraceSendRecv ps -> Object
forMachine DetailLevel
dtal (TraceSendMsg AnyMessageAndAgency ps
m) = forall a. Monoid a => [a] -> a
mconcat
[ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"Send" , Key
"msg" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= forall a. LogFormatting a => DetailLevel -> a -> Object
forMachine DetailLevel
dtal AnyMessageAndAgency ps
m ]
forMachine DetailLevel
dtal (TraceRecvMsg AnyMessageAndAgency ps
m) = forall a. Monoid a => [a] -> a
mconcat
[ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"Recv" , Key
"msg" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= forall a. LogFormatting a => DetailLevel -> a -> Object
forMachine DetailLevel
dtal AnyMessageAndAgency ps
m ]
forHuman :: TraceSendRecv ps -> Text
forHuman (TraceSendMsg AnyMessageAndAgency ps
m) = Text
"Send: " forall a. Semigroup a => a -> a -> a
<> forall a. LogFormatting a => a -> Text
forHuman AnyMessageAndAgency ps
m
forHuman (TraceRecvMsg AnyMessageAndAgency ps
m) = Text
"Receive: " forall a. Semigroup a => a -> a -> a
<> forall a. LogFormatting a => a -> Text
forHuman AnyMessageAndAgency ps
m
asMetrics :: TraceSendRecv ps -> [Metric]
asMetrics (TraceSendMsg AnyMessageAndAgency ps
m) = forall a. LogFormatting a => a -> [Metric]
asMetrics AnyMessageAndAgency ps
m
asMetrics (TraceRecvMsg AnyMessageAndAgency ps
m) = forall a. LogFormatting a => a -> [Metric]
asMetrics AnyMessageAndAgency ps
m
instance MetaTrace (AnyMessageAndAgency ps) =>
MetaTrace (TraceSendRecv ps) where
namespaceFor :: TraceSendRecv ps -> Namespace (TraceSendRecv ps)
namespaceFor (TraceSendMsg AnyMessageAndAgency ps
msg) =
forall a b. Text -> Namespace a -> Namespace b
nsPrependInner Text
"Send" (forall a. MetaTrace a => a -> Namespace a
namespaceFor AnyMessageAndAgency ps
msg)
namespaceFor (TraceRecvMsg AnyMessageAndAgency ps
msg) =
forall a b. Text -> Namespace a -> Namespace b
nsPrependInner Text
"Receive" (forall a. MetaTrace a => a -> Namespace a
namespaceFor AnyMessageAndAgency ps
msg)
severityFor :: Namespace (TraceSendRecv ps)
-> Maybe (TraceSendRecv ps) -> Maybe SeverityS
severityFor (Namespace [Text]
out (Text
"Send" : [Text]
tl)) (Just (TraceSendMsg AnyMessageAndAgency ps
msg)) =
forall a. MetaTrace a => Namespace a -> Maybe a -> Maybe SeverityS
severityFor (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl) (forall a. a -> Maybe a
Just AnyMessageAndAgency ps
msg)
severityFor (Namespace [Text]
out (Text
"Send" : [Text]
tl)) Maybe (TraceSendRecv ps)
Nothing =
forall a. MetaTrace a => Namespace a -> Maybe a -> Maybe SeverityS
severityFor (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl :: Namespace (AnyMessageAndAgency ps)) forall a. Maybe a
Nothing
severityFor (Namespace [Text]
out (Text
"Receive" : [Text]
tl)) (Just (TraceSendMsg AnyMessageAndAgency ps
msg)) =
forall a. MetaTrace a => Namespace a -> Maybe a -> Maybe SeverityS
severityFor (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl) (forall a. a -> Maybe a
Just AnyMessageAndAgency ps
msg)
severityFor (Namespace [Text]
out (Text
"Receive" : [Text]
tl)) Maybe (TraceSendRecv ps)
Nothing =
forall a. MetaTrace a => Namespace a -> Maybe a -> Maybe SeverityS
severityFor (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl :: Namespace (AnyMessageAndAgency ps)) forall a. Maybe a
Nothing
severityFor Namespace (TraceSendRecv ps)
_ Maybe (TraceSendRecv ps)
_ = forall a. Maybe a
Nothing
privacyFor :: Namespace (TraceSendRecv ps)
-> Maybe (TraceSendRecv ps) -> Maybe Privacy
privacyFor (Namespace [Text]
out (Text
"Send" : [Text]
tl)) (Just (TraceSendMsg AnyMessageAndAgency ps
msg)) =
forall a. MetaTrace a => Namespace a -> Maybe a -> Maybe Privacy
privacyFor (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl) (forall a. a -> Maybe a
Just AnyMessageAndAgency ps
msg)
privacyFor (Namespace [Text]
out (Text
"Send" : [Text]
tl)) Maybe (TraceSendRecv ps)
Nothing =
forall a. MetaTrace a => Namespace a -> Maybe a -> Maybe Privacy
privacyFor (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl :: Namespace (AnyMessageAndAgency ps)) forall a. Maybe a
Nothing
privacyFor (Namespace [Text]
out (Text
"Receive" : [Text]
tl)) (Just (TraceSendMsg AnyMessageAndAgency ps
msg)) =
forall a. MetaTrace a => Namespace a -> Maybe a -> Maybe Privacy
privacyFor (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl) (forall a. a -> Maybe a
Just AnyMessageAndAgency ps
msg)
privacyFor (Namespace [Text]
out (Text
"Receive" : [Text]
tl)) Maybe (TraceSendRecv ps)
Nothing =
forall a. MetaTrace a => Namespace a -> Maybe a -> Maybe Privacy
privacyFor (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl :: Namespace (AnyMessageAndAgency ps)) forall a. Maybe a
Nothing
privacyFor Namespace (TraceSendRecv ps)
_ Maybe (TraceSendRecv ps)
_ = forall a. Maybe a
Nothing
detailsFor :: Namespace (TraceSendRecv ps)
-> Maybe (TraceSendRecv ps) -> Maybe DetailLevel
detailsFor (Namespace [Text]
out (Text
"Send" : [Text]
tl)) (Just (TraceSendMsg AnyMessageAndAgency ps
msg)) =
forall a.
MetaTrace a =>
Namespace a -> Maybe a -> Maybe DetailLevel
detailsFor (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl) (forall a. a -> Maybe a
Just AnyMessageAndAgency ps
msg)
detailsFor (Namespace [Text]
out (Text
"Send" : [Text]
tl)) Maybe (TraceSendRecv ps)
Nothing =
forall a.
MetaTrace a =>
Namespace a -> Maybe a -> Maybe DetailLevel
detailsFor (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl :: Namespace (AnyMessageAndAgency ps)) forall a. Maybe a
Nothing
detailsFor (Namespace [Text]
out (Text
"Receive" : [Text]
tl)) (Just (TraceSendMsg AnyMessageAndAgency ps
msg)) =
forall a.
MetaTrace a =>
Namespace a -> Maybe a -> Maybe DetailLevel
detailsFor (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl) (forall a. a -> Maybe a
Just AnyMessageAndAgency ps
msg)
detailsFor (Namespace [Text]
out (Text
"Receive" : [Text]
tl)) Maybe (TraceSendRecv ps)
Nothing =
forall a.
MetaTrace a =>
Namespace a -> Maybe a -> Maybe DetailLevel
detailsFor (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl :: Namespace (AnyMessageAndAgency ps)) forall a. Maybe a
Nothing
detailsFor Namespace (TraceSendRecv ps)
_ Maybe (TraceSendRecv ps)
_ = forall a. Maybe a
Nothing
metricsDocFor :: Namespace (TraceSendRecv ps) -> [(Text, Text)]
metricsDocFor (Namespace [Text]
out (Text
"Send" : [Text]
tl)) =
forall a. MetaTrace a => Namespace a -> [(Text, Text)]
metricsDocFor (forall a b. Namespace a -> Namespace b
nsCast (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl) :: Namespace (AnyMessageAndAgency ps))
metricsDocFor (Namespace [Text]
out (Text
"Receive" : [Text]
tl)) =
forall a. MetaTrace a => Namespace a -> [(Text, Text)]
metricsDocFor (forall a b. Namespace a -> Namespace b
nsCast (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl) :: Namespace (AnyMessageAndAgency ps))
metricsDocFor Namespace (TraceSendRecv ps)
_ = []
documentFor :: Namespace (TraceSendRecv ps) -> Maybe Text
documentFor (Namespace [Text]
out (Text
"Send" : [Text]
tl)) =
forall a. MetaTrace a => Namespace a -> Maybe Text
documentFor (forall a b. Namespace a -> Namespace b
nsCast (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl) :: Namespace (AnyMessageAndAgency ps))
documentFor (Namespace [Text]
out (Text
"Receive" : [Text]
tl)) =
forall a. MetaTrace a => Namespace a -> Maybe Text
documentFor (forall a b. Namespace a -> Namespace b
nsCast (forall a. [Text] -> [Text] -> Namespace a
Namespace [Text]
out [Text]
tl) :: Namespace (AnyMessageAndAgency ps))
documentFor Namespace (TraceSendRecv ps)
_ = forall a. Maybe a
Nothing
allNamespaces :: [Namespace (TraceSendRecv ps)]
allNamespaces =
let cn :: [Namespace (AnyMessageAndAgency ps)]
cn = forall a. MetaTrace a => [Namespace a]
allNamespaces :: [Namespace (AnyMessageAndAgency ps)]
in forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (forall a b. Text -> Namespace a -> Namespace b
nsPrependInner Text
"Send") [Namespace (AnyMessageAndAgency ps)]
cn forall a. [a] -> [a] -> [a]
++ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (forall a b. Text -> Namespace a -> Namespace b
nsPrependInner Text
"Receive") [Namespace (AnyMessageAndAgency ps)]
cn
instance LogFormatting (AnyMessageAndAgency (ChainSync blk pt tip)) where
forMachine :: DetailLevel -> AnyMessageAndAgency (ChainSync blk pt tip) -> Object
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok ChainSync.MsgRequestNext{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgRequestNext"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok ChainSync.MsgAwaitReply{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgAwaitReply"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok ChainSync.MsgRollForward{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgRollForward"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok ChainSync.MsgRollBackward{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgRollBackward"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok ChainSync.MsgFindIntersect{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgFindIntersect"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok ChainSync.MsgIntersectFound{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgIntersectFound"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok ChainSync.MsgIntersectNotFound{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgIntersectNotFound"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok ChainSync.MsgDone{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgDone"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
instance MetaTrace (AnyMessageAndAgency (ChainSync blk pt tip)) where
namespaceFor :: AnyMessageAndAgency (ChainSync blk pt tip)
-> Namespace (AnyMessageAndAgency (ChainSync blk pt tip))
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency (MsgRequestNext {})) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"RequestNext"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency (MsgAwaitReply {})) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"AwaitReply"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency (MsgRollForward {})) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"RollForward"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency (MsgRollBackward {})) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"RollBackward"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency (MsgFindIntersect {})) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"FindIntersect"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency (MsgIntersectFound {})) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"IntersectFound"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency (MsgIntersectNotFound {})) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"IntersectNotFound"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency (MsgDone {})) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Done"]
severityFor :: Namespace (AnyMessageAndAgency (ChainSync blk pt tip))
-> Maybe (AnyMessageAndAgency (ChainSync blk pt tip))
-> Maybe SeverityS
severityFor (Namespace [Text]
_ [Text
"RequestNext"]) Maybe (AnyMessageAndAgency (ChainSync blk pt tip))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"AwaitReply"]) Maybe (AnyMessageAndAgency (ChainSync blk pt tip))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"RollForward"]) Maybe (AnyMessageAndAgency (ChainSync blk pt tip))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"RollBackward"]) Maybe (AnyMessageAndAgency (ChainSync blk pt tip))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"FindIntersect"]) Maybe (AnyMessageAndAgency (ChainSync blk pt tip))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"IntersectFound"]) Maybe (AnyMessageAndAgency (ChainSync blk pt tip))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"IntersectNotFound"]) Maybe (AnyMessageAndAgency (ChainSync blk pt tip))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"Done"]) Maybe (AnyMessageAndAgency (ChainSync blk pt tip))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor Namespace (AnyMessageAndAgency (ChainSync blk pt tip))
_ Maybe (AnyMessageAndAgency (ChainSync blk pt tip))
_ = forall a. Maybe a
Nothing
documentFor :: Namespace (AnyMessageAndAgency (ChainSync blk pt tip))
-> Maybe Text
documentFor (Namespace [Text]
_ [Text
"RequestNext"]) = forall a. a -> Maybe a
Just forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat
[ Text
"Request the next update from the producer. The response can be a roll "
, Text
"forward, a roll back or wait."
]
documentFor (Namespace [Text]
_ [Text
"AwaitReply"]) = forall a. a -> Maybe a
Just forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat
[ Text
"Acknowledge the request but require the consumer to wait for the next "
, Text
"update. This means that the consumer is synced with the producer, and "
, Text
"the producer is waiting for its own chain state to change."
]
documentFor (Namespace [Text]
_ [Text
"RollForward"]) = forall a. a -> Maybe a
Just forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat
[ Text
"Tell the consumer to extend their chain with the given header. "
, Text
"\n "
, Text
"The message also tells the consumer about the head point of the producer."
]
documentFor (Namespace [Text]
_ [Text
"RollBackward"]) = forall a. a -> Maybe a
Just forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat
[ Text
"Tell the consumer to roll back to a given point on their chain. "
, Text
"\n "
, Text
"The message also tells the consumer about the head point of the producer."
]
documentFor (Namespace [Text]
_ [Text
"FindIntersect"]) = forall a. a -> Maybe a
Just forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat
[ Text
"Ask the producer to try to find an improved intersection point between "
, Text
"the consumer and producer's chains. The consumer sends a sequence of "
, Text
"points and it is up to the producer to find the first intersection point "
, Text
"on its chain and send it back to the consumer."
]
documentFor (Namespace [Text]
_ [Text
"IntersectFound"]) = forall a. a -> Maybe a
Just forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat
[ Text
"The reply to the consumer about an intersection found. "
, Text
"The consumer can decide weather to send more points. "
, Text
"\n "
, Text
"The message also tells the consumer about the head point of the producer."
]
documentFor (Namespace [Text]
_ [Text
"IntersectNotFound"]) = forall a. a -> Maybe a
Just forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat
[ Text
"The reply to the consumer that no intersection was found: none of the "
, Text
"points the consumer supplied are on the producer chain. "
, Text
"\n "
, Text
"The message also tells the consumer about the head point of the producer."
]
documentFor (Namespace [Text]
_ [Text
"Done"]) = forall a. a -> Maybe a
Just forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat
[ Text
"We have to explain to the framework what our states mean, in terms of "
, Text
"which party has agency in each state. "
, Text
"\n "
, Text
"Idle states are where it is for the client to send a message, "
, Text
"busy states are where the server is expected to send a reply."
]
documentFor Namespace (AnyMessageAndAgency (ChainSync blk pt tip))
_ = forall a. Maybe a
Nothing
allNamespaces :: [Namespace (AnyMessageAndAgency (ChainSync blk pt tip))]
allNamespaces = [
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"RequestNext"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"AwaitReply"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"RollForward"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"RollBackward"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"FindIntersect"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"IntersectFound"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"IntersectNotFound"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Done"]
]
instance LogFormatting (AnyMessageAndAgency (LTM.LocalTxMonitor txid tx slotNo)) where
forMachine :: DetailLevel
-> AnyMessageAndAgency (LocalTxMonitor txid tx slotNo) -> Object
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LTM.MsgAcquire {}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgAcquire"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LTM.MsgAcquired {}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgAcquired"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LTM.MsgAwaitAcquire {}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgAwaitAcquire"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LTM.MsgNextTx {}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgNextTx"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LTM.MsgReplyNextTx {}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgReplyNextTx"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LTM.MsgHasTx {}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgHasTx"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LTM.MsgReplyHasTx {}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgReplyHasTx"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LTM.MsgGetSizes {}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgGetSizes"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LTM.MsgReplyGetSizes {}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgReplyGetSizes"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LTM.MsgRelease {}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgRelease"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LTM.MsgDone {}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgDone"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
instance MetaTrace (AnyMessageAndAgency (LTM.LocalTxMonitor txid tx slotNo)) where
namespaceFor :: AnyMessageAndAgency (LocalTxMonitor txid tx slotNo)
-> Namespace (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LTM.MsgAcquire {}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Acquire"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LTM.MsgAcquired {}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Acquired"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LTM.MsgAwaitAcquire {}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"AwaitAcquire"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LTM.MsgNextTx {}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"NextTx"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LTM.MsgReplyNextTx {}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ReplyNextTx"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LTM.MsgHasTx {}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"HasTx"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LTM.MsgReplyHasTx {}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ReplyHasTx"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LTM.MsgGetSizes {}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"GetSizes"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LTM.MsgReplyGetSizes {}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ReplyGetSizes"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LTM.MsgRelease {}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Release"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LTM.MsgDone {}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Done"]
severityFor :: Namespace (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
-> Maybe (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
-> Maybe SeverityS
severityFor (Namespace [Text]
_ [Text
"Acquire"]) Maybe (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"Acquired"]) Maybe (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"AwaitAcquire"]) Maybe (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"NextTx"]) Maybe (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"ReplyNextTx"]) Maybe (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"HasTx"]) Maybe (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"ReplyHasTx"]) Maybe (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"GetSizes"]) Maybe (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"ReplyGetSizes"]) Maybe (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"Release"]) Maybe (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"Done"]) Maybe (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor Namespace (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
_ Maybe (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
_ = forall a. Maybe a
Nothing
documentFor :: Namespace (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
-> Maybe Text
documentFor (Namespace [Text]
_ [Text
"Acquire"]) = forall a. a -> Maybe a
Just
Text
""
documentFor (Namespace [Text]
_ [Text
"Acquired"]) = forall a. a -> Maybe a
Just
Text
""
documentFor (Namespace [Text]
_ [Text
"AwaitAcquire"]) = forall a. a -> Maybe a
Just
Text
""
documentFor (Namespace [Text]
_ [Text
"NextTx"]) = forall a. a -> Maybe a
Just
Text
""
documentFor (Namespace [Text]
_ [Text
"ReplyNextTx"]) = forall a. a -> Maybe a
Just
Text
""
documentFor (Namespace [Text]
_ [Text
"HasTx"]) = forall a. a -> Maybe a
Just
Text
""
documentFor (Namespace [Text]
_ [Text
"ReplyHasTx"]) = forall a. a -> Maybe a
Just
Text
""
documentFor (Namespace [Text]
_ [Text
"GetSizes"]) = forall a. a -> Maybe a
Just
Text
""
documentFor (Namespace [Text]
_ [Text
"ReplyGetSizes"]) = forall a. a -> Maybe a
Just
Text
""
documentFor (Namespace [Text]
_ [Text
"Release"]) = forall a. a -> Maybe a
Just
Text
""
documentFor (Namespace [Text]
_ [Text
"Done"]) = forall a. a -> Maybe a
Just
Text
""
documentFor Namespace (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))
_ = forall a. Maybe a
Nothing
allNamespaces :: [Namespace (AnyMessageAndAgency (LocalTxMonitor txid tx slotNo))]
allNamespaces = [
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Acquire"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Acquired"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"AwaitAcquire"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"NextTx"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ReplyNextTx"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"HasTx"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ReplyHasTx"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"GetSizes"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ReplyGetSizes"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Release"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Done"]
]
instance LogFormatting (AnyMessageAndAgency (LTS.LocalTxSubmission tx err)) where
forMachine :: DetailLevel
-> AnyMessageAndAgency (LocalTxSubmission tx err) -> Object
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LTS.MsgSubmitTx{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgSubmitTx"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LTS.MsgAcceptTx{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgAcceptTx"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LTS.MsgRejectTx{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgRejectTx"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LTS.MsgDone{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgDone"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
instance MetaTrace (AnyMessageAndAgency (LTS.LocalTxSubmission tx err)) where
namespaceFor :: AnyMessageAndAgency (LocalTxSubmission tx err)
-> Namespace (AnyMessageAndAgency (LocalTxSubmission tx err))
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LTS.MsgSubmitTx{}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"SubmitTx"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LTS.MsgAcceptTx{}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"AcceptTx"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LTS.MsgRejectTx{}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"RejectTx"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LTS.MsgDone{}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Done"]
severityFor :: Namespace (AnyMessageAndAgency (LocalTxSubmission tx err))
-> Maybe (AnyMessageAndAgency (LocalTxSubmission tx err))
-> Maybe SeverityS
severityFor (Namespace [Text]
_ [Text
"SubmitTx"]) Maybe (AnyMessageAndAgency (LocalTxSubmission tx err))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"AcceptTx"]) Maybe (AnyMessageAndAgency (LocalTxSubmission tx err))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"RejectTx"]) Maybe (AnyMessageAndAgency (LocalTxSubmission tx err))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"Done"]) Maybe (AnyMessageAndAgency (LocalTxSubmission tx err))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor Namespace (AnyMessageAndAgency (LocalTxSubmission tx err))
_ Maybe (AnyMessageAndAgency (LocalTxSubmission tx err))
_ = forall a. Maybe a
Nothing
documentFor :: Namespace (AnyMessageAndAgency (LocalTxSubmission tx err))
-> Maybe Text
documentFor (Namespace [Text]
_ [Text
"SubmitTx"]) = forall a. a -> Maybe a
Just
Text
"The client submits a single transaction and waits a reply."
documentFor (Namespace [Text]
_ [Text
"AcceptTx"]) = forall a. a -> Maybe a
Just
Text
"The server can reply to inform the client that it has accepted the \
\transaction."
documentFor (Namespace [Text]
_ [Text
"RejectTx"]) = forall a. a -> Maybe a
Just
Text
"The server can reply to inform the client that it has rejected the \
\transaction. A reason for the rejection is included."
documentFor (Namespace [Text]
_ [Text
"Done"]) = forall a. a -> Maybe a
Just
Text
"The client can terminate the protocol."
documentFor Namespace (AnyMessageAndAgency (LocalTxSubmission tx err))
_ = forall a. Maybe a
Nothing
allNamespaces :: [Namespace (AnyMessageAndAgency (LocalTxSubmission tx err))]
allNamespaces = [
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"SubmitTx"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"AcceptTx"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"RejectTx"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Done"]
]
instance (forall result. Show (Query blk result))
=> LogFormatting (AnyMessageAndAgency (LSQ.LocalStateQuery blk pt (Query blk))) where
forMachine :: DetailLevel
-> AnyMessageAndAgency (LocalStateQuery blk pt (Query blk))
-> Object
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LSQ.MsgAcquire{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgAcquire"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LSQ.MsgAcquired{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgAcquired"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LSQ.MsgFailure{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgFailure"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LSQ.MsgQuery{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgQuery"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LSQ.MsgResult{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgResult"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LSQ.MsgRelease{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgRelease"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LSQ.MsgReAcquire{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgReAcquire"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
forMachine DetailLevel
_dtal (AnyMessageAndAgency PeerHasAgency pr st
stok LSQ.MsgDone{}) =
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"MsgDone"
, Key
"agency" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String (String -> Text
pack forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show PeerHasAgency pr st
stok)
]
instance MetaTrace (AnyMessageAndAgency (LSQ.LocalStateQuery blk pt (Query blk))) where
namespaceFor :: AnyMessageAndAgency (LocalStateQuery blk pt (Query blk))
-> Namespace
(AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LSQ.MsgAcquire{}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Acquire"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LSQ.MsgAcquired{}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Acquired"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LSQ.MsgFailure{}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Failure"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LSQ.MsgQuery{}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Query"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LSQ.MsgResult{}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Result"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LSQ.MsgRelease{}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Release"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LSQ.MsgReAcquire{}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ReAcquire"]
namespaceFor (AnyMessageAndAgency PeerHasAgency pr st
_agency LSQ.MsgDone{}) =
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Done"]
severityFor :: Namespace
(AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))
-> Maybe (AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))
-> Maybe SeverityS
severityFor (Namespace [Text]
_ [Text
"Acquire"]) Maybe (AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"Acquired"]) Maybe (AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"Failure"]) Maybe (AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))
_ = forall a. a -> Maybe a
Just SeverityS
Warning
severityFor (Namespace [Text]
_ [Text
"Query"]) Maybe (AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"Result"]) Maybe (AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"Release"]) Maybe (AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"ReAcquire"]) Maybe (AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [Text]
_ [Text
"Done"]) Maybe (AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))
_ = forall a. a -> Maybe a
Just SeverityS
Info
severityFor Namespace
(AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))
_ Maybe (AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))
_ = forall a. Maybe a
Nothing
documentFor :: Namespace
(AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))
-> Maybe Text
documentFor (Namespace [Text]
_ [Text
"Acquire"]) = forall a. a -> Maybe a
Just forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat
[ Text
"The client requests that the state as of a particular recent point on "
, Text
"the server's chain (within K of the tip) be made available to query, "
, Text
"and waits for confirmation or failure. "
, Text
"\n "
, Text
"From 'NodeToClient_V8' onwards if the point is not specified, current tip "
, Text
"will be acquired. For previous versions of the protocol 'point' must be "
, Text
"given."
]
documentFor (Namespace [Text]
_ [Text
"Acquired"]) = forall a. a -> Maybe a
Just
Text
"The server can confirm that it has the state at the requested point."
documentFor (Namespace [Text]
_ [Text
"Failure"]) = forall a. a -> Maybe a
Just forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat
[ Text
"The server can report that it cannot obtain the state for the "
, Text
"requested point."
]
documentFor (Namespace [Text]
_ [Text
"Query"]) = forall a. a -> Maybe a
Just
Text
"The client can perform queries on the current acquired state."
documentFor (Namespace [Text]
_ [Text
"Result"]) = forall a. a -> Maybe a
Just
Text
"The server must reply with the queries."
documentFor (Namespace [Text]
_ [Text
"Release"]) = forall a. a -> Maybe a
Just forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat
[ Text
"The client can instruct the server to release the state. This lets "
, Text
"the server free resources."
]
documentFor (Namespace [Text]
_ [Text
"ReAcquire"]) = forall a. a -> Maybe a
Just forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat
[ Text
"This is like 'MsgAcquire' but for when the client already has a "
, Text
"state. By moving to another state directly without a 'MsgRelease' it "
, Text
"enables optimisations on the server side (e.g. moving to the state for "
, Text
"the immediate next block). "
, Text
"\n "
, Text
"Note that failure to re-acquire is equivalent to 'MsgRelease', "
, Text
"rather than keeping the exiting acquired state. "
, Text
"\n "
, Text
"From 'NodeToClient_V8' onwards if the point is not specified, current tip "
, Text
"will be acquired. For previous versions of the protocol 'point' must be "
, Text
"given."
]
documentFor (Namespace [Text]
_ [Text
"Done"]) = forall a. a -> Maybe a
Just
Text
"The client can terminate the protocol."
documentFor Namespace
(AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))
_ = forall a. Maybe a
Nothing
allNamespaces :: [Namespace
(AnyMessageAndAgency (LocalStateQuery blk pt (Query blk)))]
allNamespaces = [
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Acquire"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Acquired"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Failure"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Query"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Result"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Release"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ReAcquire"]
, forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Done"]
]