Skip to content

Commit 4455889

Browse files
cootjasagredo
authored andcommitted
Integration of ouroboros-network:cardano-diffusion
1 parent 4e74305 commit 4455889

File tree

15 files changed

+206
-619
lines changed

15 files changed

+206
-619
lines changed

cabal.project

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ repository cardano-haskell-packages
1414
-- update either of these.
1515
index-state:
1616
-- Bump this if you need newer packages from Hackage
17-
, hackage.haskell.org 2025-06-03T21:29:34Z
17+
, hackage.haskell.org 2025-06-17T07:53:04Z
1818
-- Bump this if you need newer packages from CHaP
1919
, cardano-haskell-packages 2025-06-03T13:42:38Z
2020

@@ -57,14 +57,6 @@ if impl (ghc >= 9.12)
5757
-- https://github.com/kapralVV/Unique/issues/11
5858
, Unique:hashable
5959

60-
source-repository-package
61-
type: git
62-
location: https://github.com/IntersectMBO/ouroboros-network
63-
tag: 3e8d3b4b8c87ead794876c62d7fe25f32efb5142
64-
--sha256: 08fpkx3iagj83nn413h9a865zjcj3lrf7017a756qd2wg2jg3amq
65-
subdir:
66-
ouroboros-network-api
67-
6860
source-repository-package
6961
type: git
7062
location: https://github.com/IntersectMBO/cardano-ledger
@@ -97,3 +89,25 @@ source-repository-package
9789
libs/set-algebra
9890
libs/small-steps
9991
libs/vector-map
92+
93+
source-repository-package
94+
type: git
95+
location: https://github.com/IntersectMBO/ouroboros-network
96+
tag: dd45510b6c5a935e0f330d7b180800a27ebe2fd8
97+
--sha256: sha256-Xk+DbtqQwadtmRoZNVzDUWM8tnV+RECXYRe74IOkL0s=
98+
subdir:
99+
network-mux
100+
ouroboros-network
101+
ouroboros-network-api
102+
ouroboros-network-framework
103+
ouroboros-network-mock
104+
ouroboros-network-protocols
105+
ouroboros-network-testing
106+
107+
source-repository-package
108+
type: git
109+
location: https://github.com/input-output-hk/fs-sim
110+
tag: ee0b75bee5bcd426cfc5433b6c69c67fe6319c1b
111+
--sha256: 0ss4n302khl13fj5f4l6cxfj5vn558s2wk533ikmxhgigf9qas0q
112+
subdir: fs-api
113+
fs-sim

flake.lock

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ouroboros-consensus-cardano/ouroboros-consensus-cardano.cabal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,7 @@ test-suite cardano-test
498498
tasty-hunit,
499499
tasty-quickcheck,
500500
temporary,
501-
typed-protocols ^>=0.3,
501+
typed-protocols ^>=1.0,
502502
unstable-byron-testlib,
503503
unstable-cardano-testlib,
504504
unstable-shelley-testlib,
@@ -580,7 +580,7 @@ library unstable-cardano-tools
580580
directory,
581581
dot,
582582
filepath,
583-
fs-api ^>=0.3,
583+
fs-api ^>=0.4,
584584
githash,
585585
microlens,
586586
mtl,

ouroboros-consensus-cardano/src/unstable-cardano-tools/Cardano/Tools/ImmDBServer/Diffusion.hs

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,18 @@ import Ouroboros.Consensus.Storage.ImmutableDB (ImmutableDbArgs (..))
2525
import qualified Ouroboros.Consensus.Storage.ImmutableDB as ImmutableDB
2626
import Ouroboros.Consensus.Util
2727
import Ouroboros.Consensus.Util.IOLike
28-
import Ouroboros.Network.ErrorPolicy (nullErrorPolicies)
2928
import Ouroboros.Network.IOManager (withIOManager)
3029
import Ouroboros.Network.Mux
3130
import qualified Ouroboros.Network.NodeToNode as N2N
3231
import Ouroboros.Network.PeerSelection.PeerSharing.Codec
3332
( decodeRemoteAddress
3433
, encodeRemoteAddress
3534
)
35+
import Ouroboros.Network.Protocol.Handshake (HandshakeArguments (..))
36+
import qualified Ouroboros.Network.Protocol.Handshake as Handshake
37+
import qualified Ouroboros.Network.Server.Simple as Server
3638
import qualified Ouroboros.Network.Snocket as Snocket
37-
import Ouroboros.Network.Socket (configureSocket)
39+
import Ouroboros.Network.Socket (SomeResponderApplication (..), configureSocket)
3840
import System.FS.API (SomeHasFS (..))
3941
import System.FS.API.Types (MountPoint (MountPoint))
4042
import System.FS.IO (ioHasFS)
@@ -48,32 +50,22 @@ serve ::
4850
N2N.NodeToNodeVersionData
4951
(OuroborosApplicationWithMinimalCtx 'Mux.ResponderMode SockAddr BL.ByteString IO Void ()) ->
5052
IO Void
51-
serve sockAddr application = withIOManager \iocp -> do
52-
let sn = Snocket.socketSnocket iocp
53-
family = Snocket.addrFamily sn sockAddr
54-
bracket (Snocket.open sn family) (Snocket.close sn) \socket -> do
55-
networkMutableState <- N2N.newNetworkMutableState
56-
configureSocket socket (Just sockAddr)
57-
Snocket.bind sn socket sockAddr
58-
Snocket.listen sn socket
59-
N2N.withServer
60-
sn
61-
N2N.nullNetworkServerTracers
62-
{ N2N.nstHandshakeTracer = show >$< stdoutTracer
63-
, N2N.nstErrorPolicyTracer = show >$< stdoutTracer
64-
}
65-
networkMutableState
66-
acceptedConnectionsLimit
67-
socket
68-
application
69-
nullErrorPolicies
70-
where
71-
acceptedConnectionsLimit =
72-
N2N.AcceptedConnectionsLimit
73-
{ N2N.acceptedConnectionsHardLimit = maxBound
74-
, N2N.acceptedConnectionsSoftLimit = maxBound
75-
, N2N.acceptedConnectionsDelay = 0
53+
serve sockAddr application = withIOManager \iocp ->
54+
Server.with
55+
(Snocket.socketSnocket iocp)
56+
Snocket.makeSocketBearer
57+
(\sock addr -> configureSocket sock (Just addr))
58+
sockAddr
59+
HandshakeArguments
60+
{ haHandshakeTracer = show >$< stdoutTracer
61+
, haHandshakeCodec = Handshake.nodeToNodeHandshakeCodec
62+
, haVersionDataCodec = Handshake.cborTermVersionDataCodec N2N.nodeToNodeCodecCBORTerm
63+
, haAcceptVersion = Handshake.acceptableVersion
64+
, haQueryVersion = Handshake.queryVersion
65+
, haTimeLimits = Handshake.timeLimitsHandshake
7666
}
67+
(SomeResponderApplication <$> application)
68+
(\_ serverAsync -> wait serverAsync)
7769

7870
run ::
7971
forall blk.

ouroboros-consensus-diffusion/ouroboros-consensus-diffusion.cabal

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ library
6060
Ouroboros.Consensus.Node
6161
Ouroboros.Consensus.Node.DbLock
6262
Ouroboros.Consensus.Node.DbMarker
63-
Ouroboros.Consensus.Node.ErrorPolicy
6463
Ouroboros.Consensus.Node.Exit
6564
Ouroboros.Consensus.Node.ExitPolicy
6665
Ouroboros.Consensus.Node.GSM
@@ -83,29 +82,25 @@ library
8382
containers >=0.5 && <0.8,
8483
contra-tracer,
8584
deepseq,
86-
dns,
8785
filepath,
88-
fs-api ^>=0.3,
86+
fs-api ^>=0.4,
8987
hashable,
90-
io-classes ^>=1.5,
88+
io-classes:{io-classes, si-timers, strict-stm} ^>=1.8,
9189
mtl,
9290
network-mux ^>=0.8,
9391
ouroboros-consensus ^>=0.27,
94-
ouroboros-network ^>=0.21,
92+
ouroboros-network:{ouroboros-network, cardano-diffusion} ^>=0.21,
9593
ouroboros-network-api ^>=0.14,
9694
ouroboros-network-framework ^>=0.18,
9795
ouroboros-network-protocols ^>=0.14,
9896
random,
9997
resource-registry ^>=0.1,
10098
safe-wild-cards ^>=1.0,
10199
serialise ^>=0.2,
102-
si-timers ^>=1.5,
103-
strict-stm ^>=1.5,
104100
text,
105101
time,
106102
transformers,
107-
typed-protocols,
108-
typed-protocols-stateful,
103+
typed-protocols:{typed-protocols, stateful},
109104

110105
library unstable-diffusion-testlib
111106
import: common-lib
@@ -135,9 +130,9 @@ library unstable-diffusion-testlib
135130
containers,
136131
contra-tracer,
137132
fgl,
138-
fs-sim ^>=0.3,
133+
fs-sim ^>=0.4,
139134
graphviz >=2999.20.1.0,
140-
io-classes,
135+
io-classes:{io-classes, si-timers, strict-stm},
141136
io-sim,
142137
mtl,
143138
ouroboros-consensus:{ouroboros-consensus, unstable-consensus-testlib},
@@ -150,11 +145,9 @@ library unstable-diffusion-testlib
150145
quiet ^>=0.2,
151146
random,
152147
resource-registry,
153-
si-timers,
154148
sop-core ^>=0.5,
155149
sop-extras ^>=0.4,
156150
strict-sop-core ^>=0.1,
157-
strict-stm,
158151
text,
159152
typed-protocols,
160153

@@ -289,10 +282,10 @@ test-suite consensus-test
289282
containers,
290283
contra-tracer,
291284
directory,
292-
fs-api ^>=0.3,
293-
fs-sim ^>=0.3,
285+
fs-api ^>=0.4,
286+
fs-sim ^>=0.4,
294287
hashable,
295-
io-classes,
288+
io-classes:{io-classes, si-timers, strict-stm},
296289
io-sim,
297290
mempack,
298291
mtl,
@@ -310,12 +303,10 @@ test-suite consensus-test
310303
random,
311304
resource-registry,
312305
serialise,
313-
si-timers,
314306
sop-core,
315307
sop-extras,
316308
strict-checked-vars,
317309
strict-sop-core,
318-
strict-stm,
319310
tasty,
320311
tasty-hunit,
321312
tasty-quickcheck,

0 commit comments

Comments
 (0)