Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
Documentation
class NodeToClientVersionOf a where Source #
The query a
is a versioned query, which means it requires the Node to support a minimum
Node-to-Client version.
Background: The node to client protocol is such that it will disconnect on any unrecognised queries. This means that for a Node-to-Client connection, if a query is sent that was introduced in a Node-to-Client version that is newer than the Node-To-Client version of the connection, the node will disconnect the client. The client will not get any information about why the disconnect happened. This is a bad user experience for tools such as the CLI.
To improve the user experience the API needs to prevent the sending of queries that are
newer than the Node-To-Client version of the connection by checking the version of the
query before sending it. This affords the ability to return UnsupportedNtcVersionError
,
informing the caller of a Node-To-Client versioning issue.
For maintaining typeclass instances, see the NodeToClientVersion
type documentation for
a list of versions and the queries that were introduced for those versions.
Instances
NodeToClientVersionOf QueryUTxOFilter Source # | |
Defined in Cardano.Api.Query | |
NodeToClientVersionOf (QueryInMode result) Source # | |
Defined in Cardano.Api.Query nodeToClientVersionOf :: QueryInMode result -> NodeToClientVersion Source # | |
NodeToClientVersionOf (QueryInEra era result) Source # | |
Defined in Cardano.Api.Query nodeToClientVersionOf :: QueryInEra era result -> NodeToClientVersion Source # | |
NodeToClientVersionOf (QueryInShelleyBasedEra era result) Source # | Mapping for queries in Shelley-based eras returning minimal node-to-client protocol versions. More information about queries versioning can be found: * https://ouroboros-network.cardano.intersectmbo.org/ouroboros-network/Ouroboros-Network-NodeToClient.html#t:NodeToClientVersion * https://ouroboros-consensus.cardano.intersectmbo.org/docs/for-developers/QueryVersioning/#implementation |
Defined in Cardano.Api.Query nodeToClientVersionOf :: QueryInShelleyBasedEra era result -> NodeToClientVersion Source # |
Error types
data UnsupportedNtcVersionError Source #
Instances
Show UnsupportedNtcVersionError Source # | |
Defined in Cardano.Api.IPC.Version | |
Eq UnsupportedNtcVersionError Source # | |
Defined in Cardano.Api.IPC.Version |