Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- codecPeerSharing :: forall (m :: Type -> Type) peerAddress. MonadST m => (peerAddress -> Encoding) -> (forall s. Decoder s peerAddress) -> Codec (PeerSharing peerAddress) DeserialiseFailure m ByteString
- codecPeerSharingId :: forall {k} (peerAddress :: k) (m :: Type -> Type). Monad m => Codec (PeerSharing peerAddress) CodecFailure m (AnyMessage (PeerSharing peerAddress))
- maxTransmissionUnit :: Word
- byteLimitsPeerSharing :: forall {k} (peerAddress :: k) bytes. (bytes -> Word) -> ProtocolSizeLimits (PeerSharing peerAddress) bytes
- timeLimitsPeerSharing :: forall {k} (peerAddress :: k). ProtocolTimeLimits (PeerSharing peerAddress)
Documentation
codecPeerSharing :: forall (m :: Type -> Type) peerAddress. MonadST m => (peerAddress -> Encoding) -> (forall s. Decoder s peerAddress) -> Codec (PeerSharing peerAddress) DeserialiseFailure m ByteString Source #
codecPeerSharingId :: forall {k} (peerAddress :: k) (m :: Type -> Type). Monad m => Codec (PeerSharing peerAddress) CodecFailure m (AnyMessage (PeerSharing peerAddress)) Source #
maxTransmissionUnit :: Word Source #
We assume that a TCP segment size of 1440 bytes with initial window of size 4. This sets upper limit of 5760 bytes on each message of peer sharing protocol, which means request and response should be done in a single RTT
byteLimitsPeerSharing :: forall {k} (peerAddress :: k) bytes. (bytes -> Word) -> ProtocolSizeLimits (PeerSharing peerAddress) bytes Source #
timeLimitsPeerSharing :: forall {k} (peerAddress :: k). ProtocolTimeLimits (PeerSharing peerAddress) Source #