module Cardano.Network.Protocol.PeerSharing.Codec ( codecPeerSharing , Codec.codecPeerSharingId , Codec.byteLimitsPeerSharing , Codec.timeLimitsPeerSharing ) where import Codec.CBOR.Read qualified as CBOR import Data.ByteString.Lazy qualified as BL import Network.TypedProtocol.Codec import Cardano.Network.NodeToNode.Version import Ouroboros.Network.PeerSelection.PeerSharing.Codec (decodeRemoteAddress, encodeRemoteAddress) import Ouroboros.Network.Protocol.PeerSharing.Codec qualified as Codec import Ouroboros.Network.Protocol.PeerSharing.Type import Ouroboros.Network.Snocket (RemoteAddress) codecPeerSharing :: NodeToNodeVersion -> Codec (PeerSharing RemoteAddress) CBOR.DeserialiseFailure IO BL.ByteString codecPeerSharing :: NodeToNodeVersion -> Codec (PeerSharing RemoteAddress) DeserialiseFailure IO ByteString codecPeerSharing NodeToNodeVersion ntnVersion = (RemoteAddress -> Encoding) -> (forall s. Decoder s RemoteAddress) -> Codec (PeerSharing RemoteAddress) DeserialiseFailure IO ByteString forall (m :: * -> *) peerAddress. MonadST m => (peerAddress -> Encoding) -> (forall s. Decoder s peerAddress) -> Codec (PeerSharing peerAddress) DeserialiseFailure m ByteString Codec.codecPeerSharing (NodeToNodeVersion -> RemoteAddress -> Encoding forall version. version -> RemoteAddress -> Encoding encodeRemoteAddress NodeToNodeVersion ntnVersion) (NodeToNodeVersion -> Decoder s RemoteAddress forall version s. version -> Decoder s RemoteAddress decodeRemoteAddress NodeToNodeVersion ntnVersion)