Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
-
data
ChainSyncHandle
event =
ChainSyncHandle
{
- cshCurrentSlot :: IO Slot
- cshHandler :: event -> Slot -> IO ()
-
data
ChainSyncEvent
- = Resume ! ChainPoint
- | RollForward !( BlockInMode CardanoMode ) ! ChainTip
- | RollBackward ! ChainPoint ! ChainTip
- type ChainSyncCallback = ChainSyncEvent -> Slot -> IO ()
- data ClientMsg
- getCurrentSlot :: forall block. ChainSyncHandle block -> IO Slot
- runChainSync' :: FilePath -> SlotConfig -> NetworkId -> [ ChainPoint ] -> IO ( ChainSyncHandle ChainSyncEvent )
- runChainSync :: FilePath -> Trace IO ClientMsg -> SlotConfig -> NetworkId -> [ ChainPoint ] -> ( ChainSyncEvent -> IO ()) -> IO ( ChainSyncHandle ChainSyncEvent )
- chainSyncClient :: Trace IO ClientMsg -> SlotConfig -> [ ChainPoint ] -> ChainSyncCallback -> ChainSyncClient ( BlockInMode CardanoMode ) ChainPoint ChainTip IO ()
Documentation
data ChainSyncHandle event Source #
ChainSyncHandle | |
|
data ChainSyncEvent Source #
type ChainSyncCallback = ChainSyncEvent -> Slot -> IO () Source #
The
Slot
parameter here represents the
current
slot as computed from the
current time. There is also the slot where the block was published, which is
available from the
ChainSyncEvent
.
Currently we are using this current slot everywhere, which is why I leave it here, as a parameter.
Instances
getCurrentSlot :: forall block. ChainSyncHandle block -> IO Slot Source #
runChainSync' :: FilePath -> SlotConfig -> NetworkId -> [ ChainPoint ] -> IO ( ChainSyncHandle ChainSyncEvent ) Source #
Run the chain sync protocol to get access to the current slot number.
runChainSync :: FilePath -> Trace IO ClientMsg -> SlotConfig -> NetworkId -> [ ChainPoint ] -> ( ChainSyncEvent -> IO ()) -> IO ( ChainSyncHandle ChainSyncEvent ) Source #
chainSyncClient :: Trace IO ClientMsg -> SlotConfig -> [ ChainPoint ] -> ChainSyncCallback -> ChainSyncClient ( BlockInMode CardanoMode ) ChainPoint ChainTip IO () Source #
The client updates the application state when the protocol state changes.