ouroboros-consensus-0.1.0.0: Consensus layer for the Ouroboros blockchain protocol
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.MiniProtocol.ChainSync.Server

Contents

Synopsis

Documentation

data Tip b Source #

Used in chain-sync protocol to advertise the tip of the server's chain.

Instances

Instances details
StandardHash b ⇒ Eq (Tip b) 
Instance details

Defined in Ouroboros.Network.Block

Methods

(==)Tip b → Tip b → Bool Source #

(/=)Tip b → Tip b → Bool Source #

StandardHash b ⇒ Show (Tip b) 
Instance details

Defined in Ouroboros.Network.Block

Methods

showsPrecIntTip b → ShowS Source #

showTip b → String Source #

showList ∷ [Tip b] → ShowS Source #

Generic (Tip b) 
Instance details

Defined in Ouroboros.Network.Block

Associated Types

type Rep (Tip b) ∷ TypeType Source #

Methods

fromTip b → Rep (Tip b) x Source #

toRep (Tip b) x → Tip b Source #

StandardHash b ⇒ NoThunks (Tip b) 
Instance details

Defined in Ouroboros.Network.Block

Methods

noThunks ∷ Context → Tip b → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → Tip b → IO (Maybe ThunkInfo) #

showTypeOfProxy (Tip b) → String #

Condense (HeaderHash b) ⇒ Condense (Tip b) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.Condense

Methods

condenseTip b → String Source #

ShowProxy b ⇒ ShowProxy (Tip b ∷ Type) 
Instance details

Defined in Ouroboros.Network.Block

Methods

showProxyProxy (Tip b) → String Source #

type Rep (Tip b) 
Instance details

Defined in Ouroboros.Network.Block

type Rep (Tip b) = D1 ('MetaData "Tip" "Ouroboros.Network.Block" "ouroboros-network-0.1.0.0-inplace" 'False) (C1 ('MetaCons "TipGenesis" 'PrefixI 'False) (U1TypeType) :+: C1 ('MetaCons "Tip" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SlotNo) :*: (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (HeaderHash b)) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BlockNo))))

chainSyncBlocksServer ∷ ∀ m blk. (IOLike m, HasHeader (Header blk)) ⇒ Tracer m (TraceChainSyncServerEvent blk) → ChainDB m blk → Follower m blk (WithPoint blk (Serialised blk)) → ChainSyncServer (Serialised blk) (Point blk) (Tip blk) m () Source #

Chain Sync Server for blocks for a given a ChainDB.

The local node-to-client protocol uses the chain sync mini-protocol with chains of full blocks (rather than a header / body split).

chainSyncHeadersServer ∷ ∀ m blk. (IOLike m, HasHeader (Header blk)) ⇒ Tracer m (TraceChainSyncServerEvent blk) → ChainDB m blk → Follower m blk (WithPoint blk (SerialisedHeader blk)) → ChainSyncServer (SerialisedHeader blk) (Point blk) (Tip blk) m () Source #

Chain Sync Server for block headers for a given a ChainDB.

The node-to-node protocol uses the chain sync mini-protocol with chain headers (and fetches blocks separately with the block fetch mini-protocol).

Trace events

data TraceChainSyncServerEvent blk Source #

Events traced by the Chain Sync Server.

Constructors

TraceChainSyncServerUpdate

Send a ChainUpdate message.

Fields