Skip to content

Commit fdb429d

Browse files
committed
ouroboros-network-api: RemoteAddress encoding
Polymorphic over version, we need it in both `dmq-node` and `cardano-diffusion`.
1 parent 26d840e commit fdb429d

File tree

2 files changed

+6
-8
lines changed
  • dmq-node/app
  • ouroboros-network-api/src/Ouroboros/Network/PeerSelection/PeerSharing

2 files changed

+6
-8
lines changed

dmq-node/app/Main.hs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ import DMQ.Diffusion.Arguments
3434
import DMQ.Diffusion.NodeKernel (mempool, withNodeKernel)
3535
import DMQ.Handlers.TopLevel (toplevelExceptionHandler)
3636
import DMQ.NodeToClient qualified as NtC
37-
import DMQ.NodeToNode (dmqCodecs, dmqLimitsAndTimeouts, ntnApps)
37+
import DMQ.NodeToNode (NodeToNodeVersion, dmqCodecs, dmqLimitsAndTimeouts,
38+
ntnApps)
3839
import DMQ.Protocol.LocalMsgSubmission.Codec
3940
import DMQ.Protocol.SigSubmission.Type (Sig (..))
4041
import DMQ.Tracer
@@ -122,10 +123,8 @@ runDMQ commandLineConfig = do
122123
dmqConfig
123124
nodeKernel
124125
(dmqCodecs
125-
-- TODO: `maxBound :: Cardano.Network.NodeToNode.NodeToNodeVersion`
126-
-- is unsafe here!
127-
(encodeRemoteAddress maxBound)
128-
(decodeRemoteAddress maxBound))
126+
(encodeRemoteAddress (maxBound @NodeToNodeVersion))
127+
(decodeRemoteAddress (maxBound @NodeToNodeVersion)))
129128
dmqLimitsAndTimeouts
130129
defaultSigDecisionPolicy
131130
dmqNtCApps =

ouroboros-network-api/src/Ouroboros/Network/PeerSelection/PeerSharing/Codec.hs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import Codec.CBOR.Decoding qualified as CBOR
1111
import Codec.CBOR.Encoding qualified as CBOR
1212

1313
import Network.Socket (PortNumber, SockAddr (..))
14-
import Ouroboros.Network.NodeToNode.Version (NodeToNodeVersion (..))
1514

1615
encodePortNumber :: PortNumber -> CBOR.Encoding
1716
encodePortNumber = CBOR.encodeWord16 . fromIntegral
@@ -27,7 +26,7 @@ decodePortNumber = fromIntegral <$> CBOR.decodeWord16
2726
---
2827
-- /Invariant:/ not a unix socket address type.
2928
---
30-
encodeRemoteAddress :: NodeToNodeVersion -> SockAddr -> CBOR.Encoding
29+
encodeRemoteAddress :: version -> SockAddr -> CBOR.Encoding
3130
encodeRemoteAddress _ = \case
3231
SockAddrInet pn w -> CBOR.encodeListLen 3
3332
<> CBOR.encodeWord 0
@@ -47,7 +46,7 @@ encodeRemoteAddress _ = \case
4746
--
4847
-- See the network design document for more details
4948
--
50-
decodeRemoteAddress :: NodeToNodeVersion -> CBOR.Decoder s SockAddr
49+
decodeRemoteAddress :: version -> CBOR.Decoder s SockAddr
5150
decodeRemoteAddress _ = do
5251
_ <- CBOR.decodeListLen
5352
tok <- CBOR.decodeWord

0 commit comments

Comments
 (0)