Lightweight abstraction over an input/output stream.
Modulewebsockets-0.13.0.0Haskell2010
Network.WebSockets.Stream
Lightweight abstraction over an input/output stream.
- 1 type
- 7 values
- Packagewebsockets-0.13.0.0
- Exports8
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceStream.hs
value
makeStream :: IO (Maybe ByteString)Reading
-> (Maybe ByteString -> IO ())Writing
-> IO StreamResulting stream
Create a stream from a "receive" and "send" action. The following properties apply:
Regardless of the provided "receive" and "send" functions, reading and writing from the stream will be thread-safe, i.e. this function will create a receive and write lock to be used internally.
Reading from or writing to a closed Stream will always throw an exception, even if the underlying "receive" and "send" functions do not (we do the bookkeeping).
Streams should always be closed.