Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Network.Mux.Bearer.AttenuatedChannel
Synopsis
- data AttenuatedChannel m = AttenuatedChannel {
- acRead ∷ m ByteString
- acWrite ∷ ByteString → m ()
- acClose ∷ m ()
- type Size = Int64
- data SuccessOrFailure
- data Attenuation = Attenuation {}
- newConnectedAttenuatedChannelPair ∷ ∀ m. (MonadDelay m, MonadLabelledSTM m, MonadTimer m, MonadThrow m, MonadThrow (STM m)) ⇒ Tracer m AttenuatedChannelTrace → Tracer m AttenuatedChannelTrace → Attenuation → Attenuation → STM m (AttenuatedChannel m, AttenuatedChannel m)
- attenuationChannelAsMuxBearer ∷ ∀ m. (MonadThrow m, MonadMonotonicTime m) ⇒ SDUSize → DiffTime → Tracer m MuxTrace → AttenuatedChannel m → MuxBearer m
- data AttenuatedChannelTrace
- resourceVanishedIOError ∷ String → String → IOError
Documentation
data AttenuatedChannel m Source #
An AttenuatedChannel supports:
- attenuation applied after reading a message from
QueueChannel
; - two-way close handshake with 120s timeout. Read side is closed as soon as
an internal
MsgClose
is received, write side has to be closed explicitly.
Constructors
AttenuatedChannel | |
Fields
|
data SuccessOrFailure Source #
newConnectedAttenuatedChannelPair ∷ ∀ m. (MonadDelay m, MonadLabelledSTM m, MonadTimer m, MonadThrow m, MonadThrow (STM m)) ⇒ Tracer m AttenuatedChannelTrace → Tracer m AttenuatedChannelTrace → Attenuation → Attenuation → STM m (AttenuatedChannel m, AttenuatedChannel m) Source #
Create a pair of connected AttenuatedChannel
s.
attenuationChannelAsMuxBearer ∷ ∀ m. (MonadThrow m, MonadMonotonicTime m) ⇒ SDUSize → DiffTime → Tracer m MuxTrace → AttenuatedChannel m → MuxBearer m Source #
Trace
data AttenuatedChannelTrace Source #
Constructors
AttChannLocalClose Bool | |
AttChannRemoteClose |