Skip to content

Commit f082199

Browse files
committed
WIP: simpleSingletonVersion
1 parent 364bf1c commit f082199

File tree

1 file changed

+17
-6
lines changed
  • cardano-chain-gen/src/Cardano/Mock/ChainSync

1 file changed

+17
-6
lines changed

cardano-chain-gen/src/Cardano/Mock/ChainSync/Server.hs

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22
{-# LANGUAGE ConstraintKinds #-}
33
{-# LANGUAGE DataKinds #-}
44
{-# LANGUAGE FlexibleContexts #-}
5+
{-# LANGUAGE FlexibleInstances #-}
56
{-# LANGUAGE NumericUnderscores #-}
67
{-# LANGUAGE RankNTypes #-}
78
{-# LANGUAGE ScopedTypeVariables #-}
89
{-# LANGUAGE TypeApplications #-}
910

11+
{-# OPTIONS_GHC -Wno-orphans #-}
12+
1013
module Cardano.Mock.ChainSync.Server (
1114
-- * server
1215
forkServerThread,
@@ -52,7 +55,7 @@ import qualified Network.Mux as Mux
5255
import Ouroboros.Consensus.Block (CodecConfig, HasHeader, Point, StandardHash, castPoint)
5356
import Ouroboros.Consensus.Config (TopLevelConfig, configCodec)
5457
import Ouroboros.Consensus.Ledger.Query (BlockQuery, ShowQuery)
55-
import Ouroboros.Consensus.Ledger.SupportsMempool (ApplyTxErr, GenTx)
58+
import Ouroboros.Consensus.Ledger.SupportsMempool (ApplyTxErr, GenTx, TxId)
5659
import Ouroboros.Consensus.Ledger.SupportsProtocol (LedgerSupportsProtocol)
5760
import Ouroboros.Consensus.Network.NodeToClient (Apps (..), Codecs' (..), DefaultCodecs)
5861
import qualified Ouroboros.Consensus.Network.NodeToClient as NTC
@@ -82,9 +85,11 @@ import Ouroboros.Network.Block (
8285
mkSerialised,
8386
)
8487
import Network.TypedProtocol.Peer (Peer (..))
88+
import qualified Network.TypedProtocol.Stateful.Peer as St
8589
import Network.TypedProtocol.Stateful.Codec ()
8690
import Ouroboros.Network.Channel (Channel)
8791
import Ouroboros.Network.Driver.Simple (runPeer)
92+
import qualified Ouroboros.Network.Driver.Stateful as St (runPeer)
8893
import Ouroboros.Network.IOManager (IOManager)
8994
import qualified Ouroboros.Network.IOManager as IOManager
9095
import Ouroboros.Network.Magic (NetworkMagic)
@@ -100,9 +105,10 @@ import Ouroboros.Network.Protocol.ChainSync.Server (
100105
chainSyncServerPeer,
101106
)
102107
import Ouroboros.Network.Protocol.Handshake.Version (simpleSingletonVersions)
108+
import qualified Ouroboros.Network.Protocol.LocalStateQuery.Type as LocalStateQuery
103109
import Ouroboros.Network.Snocket (LocalAddress, LocalSnocket, LocalSocket (..))
104110
import qualified Ouroboros.Network.Snocket as Snocket
105-
import Ouroboros.Network.Util.ShowProxy (Proxy (..), ShowProxy)
111+
import Ouroboros.Network.Util.ShowProxy (Proxy (..), ShowProxy (..))
106112

107113
{- HLINT ignore "Use readTVarIO" -}
108114

@@ -226,7 +232,7 @@ runLocalServer iom codecConfig netMagic localDomainSock chainProdState =
226232
in simpleSingletonVersions
227233
version
228234
(NodeToClientVersionData netMagic False)
229-
(NTC.responder version $ mkApps state version blockVersion (NTC.defaultCodecs codecConfig blockVersion version))
235+
(\versionData -> NTC.responder version versionData $ mkApps state version blockVersion (NTC.defaultCodecs codecConfig blockVersion version))
230236

231237
mkApps ::
232238
StrictTVar IO (ChainProducerState blk) ->
@@ -270,11 +276,12 @@ runLocalServer iom codecConfig netMagic localDomainSock chainProdState =
270276
Channel IO ByteString ->
271277
IO ((), Maybe ByteString)
272278
stateQueryServer _them channel =
273-
runPeer
279+
St.runPeer
274280
nullTracer
275281
(cStateQueryCodec codecs)
276282
channel
277-
(Effect (forever $ threadDelay 3_600_000_000))
283+
LocalStateQuery.StateIdle
284+
(St.Effect (forever $ threadDelay 3_600_000_000))
278285

279286
txMonitorServer ::
280287
localPeer ->
@@ -283,10 +290,14 @@ runLocalServer iom codecConfig netMagic localDomainSock chainProdState =
283290
txMonitorServer _them channel =
284291
runPeer
285292
nullTracer
286-
(cStateQueryCodec codecs)
293+
(cTxMonitorCodec codecs)
287294
channel
288295
(Effect (forever $ threadDelay 3_600_000_000))
289296

297+
-- TODO: it should be defined somewhere in `ouroboros-consensus`
298+
instance ShowProxy blk => ShowProxy (TxId (GenTx blk)) where
299+
showProxy _ = "TxId (GenTx (" ++ showProxy (Proxy :: Proxy blk) ++ ")"
300+
290301
chainSyncServer ::
291302
forall blk m.
292303
( HasHeader blk

0 commit comments

Comments
 (0)