Skip to content

Commit

Permalink
ouroboros-network-{api,mock} packages
Browse files Browse the repository at this point in the history
* `ouroboros-network-mock` contains a testing chain.
* `ouroboros-network-api` contains shared api between various
  `ouroboros-network*` packages and the `ouroboros-consensus` package.
  • Loading branch information
coot authored and jasagredo committed Dec 2, 2022
1 parent 42bbefb commit 197e370
Show file tree
Hide file tree
Showing 128 changed files with 1,120 additions and 871 deletions.
6 changes: 4 additions & 2 deletions cabal.project
Expand Up @@ -20,10 +20,12 @@ index-state: cardano-haskell-packages 2022-11-15T00:00:00Z
packages: ./ouroboros-network-testing
./monoidal-synchronisation
./network-mux
./ouroboros-network-testing
./ouroboros-network
./ouroboros-network-api
./ouroboros-network-framework
./ouroboros-network-mock
./ouroboros-network-protocols
./ouroboros-network
./ouroboros-network-testing
./ouroboros-consensus
./ouroboros-consensus-byron
./ouroboros-consensus-byron-test
Expand Down
1 change: 1 addition & 0 deletions cardano-client/cardano-client.cabal
Expand Up @@ -22,6 +22,7 @@ library
bytestring >=0.10 && <0.12,
containers,
io-classes,
ouroboros-network-api,
ouroboros-network,
ouroboros-network-framework,
ouroboros-consensus-diffusion,
Expand Down
5 changes: 3 additions & 2 deletions cardano-client/src/Cardano/Client/Subscription.hs
Expand Up @@ -30,9 +30,10 @@ import Data.Void (Void)

import Network.Mux.Trace (MuxTrace, WithMuxBearer)

import Ouroboros.Network.ControlMessage (ControlMessage (..))
import Ouroboros.Network.Magic (NetworkMagic)
import Ouroboros.Network.Mux (ControlMessage (..), MuxMode (..),
MuxPeer (..), OuroborosApplication, RunMiniProtocol (..))
import Ouroboros.Network.Mux (MuxMode (..), MuxPeer (..),
OuroborosApplication, RunMiniProtocol (..))
import Ouroboros.Network.NodeToClient (ClientSubscriptionParams (..),
ConnectionId, LocalAddress,
NetworkClientSubcriptionTracers,
Expand Down
Expand Up @@ -49,6 +49,8 @@ library

, byron-spec-ledger

, ouroboros-network-api
, ouroboros-network-mock
, ouroboros-network-protocols
, ouroboros-consensus
, ouroboros-consensus-test
Expand Down Expand Up @@ -100,7 +102,7 @@ test-suite test
, small-steps
, small-steps-test

, ouroboros-network-protocols
, ouroboros-network-mock
, ouroboros-consensus
, ouroboros-consensus-test
, ouroboros-consensus-byron
Expand Down
4 changes: 2 additions & 2 deletions ouroboros-consensus-byron-test/test/Test/ThreadNet/Byron.hs
Expand Up @@ -33,8 +33,8 @@ import Test.Tasty.QuickCheck

import Cardano.Crypto.Seed (mkSeedFromBytes)

import Ouroboros.Network.MockChain.Chain (Chain)
import qualified Ouroboros.Network.MockChain.Chain as Chain
import Ouroboros.Network.Mock.Chain (Chain)
import qualified Ouroboros.Network.Mock.Chain as Chain

import Ouroboros.Consensus.Block
import Ouroboros.Consensus.BlockchainTime
Expand Down
2 changes: 1 addition & 1 deletion ouroboros-consensus-byron/ouroboros-consensus-byron.cabal
Expand Up @@ -64,7 +64,7 @@ library
, nothunks
, text >=1.2 && <1.3

, ouroboros-network
, ouroboros-network-api
, ouroboros-network-protocols
, ouroboros-consensus

Expand Down
Expand Up @@ -51,7 +51,7 @@ import qualified Cardano.Chain.Byron.API as CC
import qualified Cardano.Chain.Slotting as CC
import qualified Cardano.Crypto.Hashing as CC

import Ouroboros.Network.DeltaQ (SizeInBytes)
import Ouroboros.Network.SizeInBytes (SizeInBytes)

import Ouroboros.Consensus.Block
import Ouroboros.Consensus.Util (ShowProxy (..))
Expand Down
Expand Up @@ -51,7 +51,7 @@ import Cardano.Binary
import qualified Cardano.Chain.Block as CC
import qualified Cardano.Chain.Slotting as CC

import Ouroboros.Network.DeltaQ (SizeInBytes)
import Ouroboros.Network.SizeInBytes (SizeInBytes)

import Ouroboros.Consensus.Block

Expand Down
Expand Up @@ -53,6 +53,7 @@ library
, cardano-ledger-shelley-test
, cardano-protocol-tpraos

, ouroboros-network-api
, ouroboros-network-protocols
, ouroboros-consensus
, ouroboros-consensus-test
Expand Down Expand Up @@ -107,6 +108,7 @@ test-suite test
, cardano-ledger-shelley
, cardano-protocol-tpraos

, ouroboros-network-api
, ouroboros-network-protocols
, ouroboros-consensus
, ouroboros-consensus-test
Expand Down
Expand Up @@ -76,6 +76,7 @@ library
, ouroboros-consensus-cardano
, ouroboros-consensus-protocol
, ouroboros-consensus-shelley
, ouroboros-network-api
, ouroboros-network-protocols
, ouroboros-consensus-diffusion

Expand Down
Expand Up @@ -89,6 +89,7 @@ library

, io-classes ^>=0.3
, typed-protocols
, ouroboros-network-api ^>=0.1
, ouroboros-network-framework ^>=0.2
, ouroboros-network-protocols ^>=0.2
, ouroboros-network ^>=0.2
Expand Down
Expand Up @@ -64,6 +64,7 @@ import Ouroboros.Network.Driver.Limits
import Ouroboros.Network.KeepAlive
import Ouroboros.Network.Mux
import Ouroboros.Network.NodeToNode
import Ouroboros.Network.NodeToNode.Version (isPipeliningEnabled)
import Ouroboros.Network.PeerSelection.PeerMetric.Type
(FetchedMetricsTracer, HeaderMetricsTracer,
ReportPeerMetrics (..))
Expand Down
Expand Up @@ -72,6 +72,7 @@ test-suite test
, tasty-quickcheck

, ouroboros-network-protocols
, ouroboros-network-mock
, ouroboros-consensus
, ouroboros-consensus-mock
, ouroboros-consensus-mock-test
Expand Down
2 changes: 1 addition & 1 deletion ouroboros-consensus-mock-test/test/Test/ThreadNet/PBFT.hs
Expand Up @@ -11,7 +11,7 @@ import Test.QuickCheck
import Test.Tasty
import Test.Tasty.QuickCheck

import Ouroboros.Network.MockChain.Chain (foldChain)
import Ouroboros.Network.Mock.Chain (foldChain)

import Ouroboros.Consensus.Block
import Ouroboros.Consensus.BlockchainTime
Expand Down
3 changes: 2 additions & 1 deletion ouroboros-consensus-mock/ouroboros-consensus-mock.cabal
Expand Up @@ -62,7 +62,8 @@ library
, serialise >=0.2 && <0.3
, time

, ouroboros-network
, ouroboros-network-api
, ouroboros-network-mock
, ouroboros-network-protocols
, ouroboros-consensus

Expand Down
Expand Up @@ -43,7 +43,7 @@ import NoThunks.Class (InspectHeap (..), NoThunks)
import Cardano.Binary (ToCBOR (..))
import Cardano.Crypto.Hash

import Ouroboros.Network.MockChain.Chain (Chain, toOldestFirst)
import Ouroboros.Network.Mock.Chain (Chain, toOldestFirst)

import Ouroboros.Consensus.Block
import Ouroboros.Consensus.Util (repeatedlyM)
Expand Down
Expand Up @@ -55,6 +55,7 @@ library
, cardano-protocol-tpraos
, small-steps

, ouroboros-network-api
, ouroboros-network-protocols
, ouroboros-consensus
, ouroboros-consensus-protocol
Expand Down
Expand Up @@ -85,7 +85,7 @@ library
, cardano-ledger-shelley-ma
, small-steps

, ouroboros-network
, ouroboros-network-api
, ouroboros-network-protocols
, ouroboros-consensus
, ouroboros-consensus-protocol
Expand Down
7 changes: 6 additions & 1 deletion ouroboros-consensus-test/ouroboros-consensus-test.cabal
Expand Up @@ -118,8 +118,10 @@ library
, io-classes
, io-sim

, ouroboros-network-api
, ouroboros-network
, ouroboros-network-framework
, ouroboros-network-mock
, ouroboros-network-protocols
, ouroboros-consensus
, ouroboros-consensus-diffusion
Expand Down Expand Up @@ -188,7 +190,9 @@ test-suite test-consensus
, io-sim
, typed-protocols
, ouroboros-network
, ouroboros-network-api
, ouroboros-network-framework
, ouroboros-network-mock
, ouroboros-network-protocols
, ouroboros-network-protocols:testlib
, ouroboros-consensus
Expand Down Expand Up @@ -274,7 +278,8 @@ test-suite test-storage

, io-classes
, io-sim
, ouroboros-network
, ouroboros-network-api
, ouroboros-network-mock
, ouroboros-network-protocols
, ouroboros-consensus
, ouroboros-consensus-test
Expand Down
2 changes: 1 addition & 1 deletion ouroboros-consensus-test/src/Test/ThreadNet/General.hs
Expand Up @@ -44,7 +44,7 @@ import Test.QuickCheck

import Control.Monad.IOSim (runSimOrThrow, setCurrentTime)

import qualified Ouroboros.Network.MockChain.Chain as MockChain
import qualified Ouroboros.Network.Mock.Chain as MockChain

import Ouroboros.Consensus.Block
import qualified Ouroboros.Consensus.Block.Abstract as BA
Expand Down
5 changes: 3 additions & 2 deletions ouroboros-consensus-test/src/Test/ThreadNet/Network.hs
Expand Up @@ -66,11 +66,12 @@ import qualified Ouroboros.Network.AnchoredFragment as AF
import Ouroboros.Network.BlockFetch (BlockFetchConfiguration (..),
TraceLabelPeer (..))
import Ouroboros.Network.Channel
import Ouroboros.Network.MockChain.Chain (Chain (Genesis))
import Ouroboros.Network.Mock.Chain (Chain (Genesis))
import Ouroboros.Network.Point (WithOrigin (..))
import qualified Ouroboros.Network.Protocol.ChainSync.Type as CS

import Ouroboros.Network.Mux (ControlMessage (..), ControlMessageSTM)
import Ouroboros.Network.ControlMessage (ControlMessage (..),
ControlMessageSTM)
import Ouroboros.Network.NodeToNode (MiniProtocolParameters (..))
import Ouroboros.Network.PeerSelection.PeerMetric (nullMetric)
import Ouroboros.Network.Protocol.KeepAlive.Type
Expand Down
4 changes: 2 additions & 2 deletions ouroboros-consensus-test/src/Test/ThreadNet/Util.hs
Expand Up @@ -33,8 +33,8 @@ import Data.Word (Word64)
import Numeric.Natural (Natural)
import Test.QuickCheck

import Ouroboros.Network.MockChain.Chain (Chain (..))
import qualified Ouroboros.Network.MockChain.Chain as Chain
import Ouroboros.Network.Mock.Chain (Chain (..))
import qualified Ouroboros.Network.Mock.Chain as Chain

import Ouroboros.Consensus.Block
import Ouroboros.Consensus.Config.SecurityParam
Expand Down
4 changes: 2 additions & 2 deletions ouroboros-consensus-test/src/Test/Util/ChainUpdates.hs
Expand Up @@ -16,8 +16,8 @@ import Control.Monad.State.Strict

import Test.QuickCheck

import Ouroboros.Network.MockChain.Chain (Chain (Genesis))
import qualified Ouroboros.Network.MockChain.Chain as Chain
import Ouroboros.Network.Mock.Chain (Chain (Genesis))
import qualified Ouroboros.Network.Mock.Chain as Chain

import Ouroboros.Consensus.Block
import Ouroboros.Consensus.Config
Expand Down
2 changes: 1 addition & 1 deletion ouroboros-consensus-test/src/Test/Util/MockChain.hs
Expand Up @@ -13,7 +13,7 @@ module Test.Util.MockChain (
import Data.Foldable (foldl')
import Data.Sequence.Strict (StrictSeq (..))

import Ouroboros.Network.MockChain.Chain
import Ouroboros.Network.Mock.Chain

import Ouroboros.Consensus.Block

Expand Down
4 changes: 2 additions & 2 deletions ouroboros-consensus-test/src/Test/Util/TestBlock.hs
Expand Up @@ -100,8 +100,8 @@ import Test.QuickCheck hiding (Result)
import Cardano.Crypto.DSIGN

import Ouroboros.Network.Magic (NetworkMagic (..))
import Ouroboros.Network.MockChain.Chain (Chain (..))
import qualified Ouroboros.Network.MockChain.Chain as Chain
import Ouroboros.Network.Mock.Chain (Chain (..))
import qualified Ouroboros.Network.Mock.Chain as Chain

import Ouroboros.Consensus.Block
import Ouroboros.Consensus.BlockchainTime
Expand Down
Expand Up @@ -32,7 +32,7 @@ import Test.Tasty
import Test.Tasty.QuickCheck
import Test.Util.Time (dawnOfTime)

import qualified Ouroboros.Network.MockChain.Chain as Mock
import qualified Ouroboros.Network.Mock.Chain as Mock

import Ouroboros.Consensus.Block
import Ouroboros.Consensus.BlockchainTime
Expand Down
Expand Up @@ -48,12 +48,12 @@ import Ouroboros.Network.BlockFetch (BlockFetchConfiguration (..),
newFetchClientRegistry)
import Ouroboros.Network.BlockFetch.Client (blockFetchClient)
import Ouroboros.Network.Channel (createConnectedChannels)
import Ouroboros.Network.ControlMessage (ControlMessage (..))
import qualified Ouroboros.Network.Driver.Simple as Driver
import Ouroboros.Network.MockChain.Chain (Chain)
import qualified Ouroboros.Network.MockChain.Chain as Chain
import qualified Ouroboros.Network.Mux as Mux
import Ouroboros.Network.NodeToNode (isPipeliningEnabled)
import Ouroboros.Network.NodeToNode.Version (NodeToNodeVersion)
import Ouroboros.Network.Mock.Chain (Chain)
import qualified Ouroboros.Network.Mock.Chain as Chain
import Ouroboros.Network.NodeToNode.Version (NodeToNodeVersion,
isPipeliningEnabled)
import Ouroboros.Network.Protocol.BlockFetch.Codec (codecBlockFetchId)
import Ouroboros.Network.Protocol.BlockFetch.Server
(BlockFetchBlockSender (SendMsgNoBlocks, SendMsgStartBatch),
Expand Down Expand Up @@ -128,7 +128,7 @@ runBlockFetchTest ::
-> m BlockFetchClientOutcome
runBlockFetchTest BlockFetchClientTestSetup{..} = withRegistry \registry -> do
varChains <- uncheckedNewTVarM Map.empty
varControlMessage <- uncheckedNewTVarM Mux.Continue
varControlMessage <- uncheckedNewTVarM Continue
varFetchedBlocks <- uncheckedNewTVarM (0 <$ peerUpdates)

fetchClientRegistry <- newFetchClientRegistry
Expand Down Expand Up @@ -222,7 +222,7 @@ runBlockFetchTest BlockFetchClientTestSetup{..} = withRegistry \registry -> do
try $ runBlockFetchClient peerId

LogicalClock.waitUntilDone clock
atomically $ writeTVar varControlMessage Mux.Terminate
atomically $ writeTVar varControlMessage Terminate

bfcoBlockFetchResults <- traverse waitThread blockFetchThreads
bfcoFetchedBlocks <- readTVarIO varFetchedBlocks
Expand Down
Expand Up @@ -30,13 +30,13 @@ import Ouroboros.Network.AnchoredFragment (AnchoredFragment)
import qualified Ouroboros.Network.AnchoredFragment as AF
import Ouroboros.Network.Block (getTipPoint)
import Ouroboros.Network.Channel
import Ouroboros.Network.ControlMessage (ControlMessage (..))
import Ouroboros.Network.Driver
import Ouroboros.Network.MockChain.Chain (Chain (Genesis))
import qualified Ouroboros.Network.MockChain.Chain as Chain
import Ouroboros.Network.MockChain.ProducerState (chainState,
import Ouroboros.Network.Mock.Chain (Chain (Genesis))
import qualified Ouroboros.Network.Mock.Chain as Chain
import Ouroboros.Network.Mock.ProducerState (chainState,
initChainProducerState)
import qualified Ouroboros.Network.MockChain.ProducerState as CPS
import Ouroboros.Network.Mux (ControlMessage (..))
import qualified Ouroboros.Network.Mock.ProducerState as CPS
import Ouroboros.Network.Protocol.ChainSync.ClientPipelined
import Ouroboros.Network.Protocol.ChainSync.Codec (codecChainSyncId)
import Ouroboros.Network.Protocol.ChainSync.Examples
Expand Down
Expand Up @@ -14,8 +14,8 @@ import Control.Monad.IOSim (runSimOrThrow)
import Cardano.Crypto.DSIGN.Mock

import Network.TypedProtocol.Proofs (connect)
import Ouroboros.Network.MockChain.Chain (Chain (..))
import qualified Ouroboros.Network.MockChain.Chain as Chain
import Ouroboros.Network.Mock.Chain (Chain (..))
import qualified Ouroboros.Network.Mock.Chain as Chain
import Ouroboros.Network.Protocol.LocalStateQuery.Client
import Ouroboros.Network.Protocol.LocalStateQuery.Examples
(localStateQueryClient)
Expand Down
Expand Up @@ -33,7 +33,7 @@ import Test.QuickCheck
import Test.Tasty
import Test.Tasty.QuickCheck

import qualified Ouroboros.Network.MockChain.Chain as Chain
import qualified Ouroboros.Network.Mock.Chain as Chain

import Ouroboros.Consensus.Block
import Ouroboros.Consensus.Config
Expand Down
Expand Up @@ -14,8 +14,8 @@ import qualified Data.Map.Strict as Map

import Control.Monad.IOSim (runSimOrThrow)

import Ouroboros.Network.MockChain.Chain (Chain)
import qualified Ouroboros.Network.MockChain.Chain as Chain
import Ouroboros.Network.Mock.Chain (Chain)
import qualified Ouroboros.Network.Mock.Chain as Chain

import Ouroboros.Consensus.Block
import Ouroboros.Consensus.Util.Condense (condense)
Expand Down
Expand Up @@ -98,9 +98,9 @@ import GHC.Generics (Generic)
import Ouroboros.Network.AnchoredFragment (AnchoredFragment)
import qualified Ouroboros.Network.AnchoredFragment as Fragment
import Ouroboros.Network.Block (MaxSlotNo (..))
import Ouroboros.Network.MockChain.Chain (Chain (..), ChainUpdate)
import qualified Ouroboros.Network.MockChain.Chain as Chain
import qualified Ouroboros.Network.MockChain.ProducerState as CPS
import Ouroboros.Network.Mock.Chain (Chain (..), ChainUpdate)
import qualified Ouroboros.Network.Mock.Chain as Chain
import qualified Ouroboros.Network.Mock.ProducerState as CPS

import Ouroboros.Consensus.Block
import Ouroboros.Consensus.Config
Expand Down
Expand Up @@ -14,7 +14,7 @@ import Test.Tasty
import Test.Tasty.QuickCheck

import qualified Ouroboros.Network.AnchoredFragment as AF
import qualified Ouroboros.Network.MockChain.Chain as Chain
import qualified Ouroboros.Network.Mock.Chain as Chain

import Ouroboros.Consensus.Block
import Ouroboros.Consensus.Config
Expand Down

0 comments on commit 197e370

Please sign in to comment.