websockets-0.11.1.0: A sensible and clean way to write WebSocket-capable servers in Haskell.

Safe HaskellNone
LanguageHaskell98

Network.WebSockets.Stream

Description

Lightweight abstraction over an input/output stream.

Synopsis

Documentation

data Stream Source #

Lightweight abstraction over an input/output stream.

makeStream Source #

Arguments

:: IO (Maybe ByteString)

Reading

-> (Maybe ByteString -> IO ())

Writing

-> IO Stream

Resulting 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 or 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.

parse :: Stream -> Parser a -> IO (Maybe a) Source #