| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Network.WebSockets.Simple
- data WebSocketsApp send receive m = WebSocketsApp {}
- toClientAppT :: forall send receive m. (ToJSON send, FromJSON receive, MonadBaseControl IO m, MonadThrow m) => WebSocketsApp send receive m -> ClientAppT m WebSocketsAppThreads
- toClientAppT' :: (ToJSON send, FromJSON receive, MonadBaseControl IO m, MonadThrow m) => WebSocketsApp send receive m -> ClientAppT m ()
- toServerAppT :: (ToJSON send, FromJSON receive, MonadBaseControl IO m, MonadThrow m) => WebSocketsApp send receive m -> ServerAppT m
- data WebSocketSimpleError = JSONParseError ByteString
- data WebSocketsAppThreads = WebSocketsAppThreads {
- onOpenThread :: Async ()
- onReceiveThreads :: TChan (Async ())
Documentation
data WebSocketsApp send receive m Source #
Constructors
| WebSocketsApp | |
Instances
| Generic (WebSocketsApp send receive m) Source # | |
| type Rep (WebSocketsApp send receive m) Source # | |
toClientAppT :: forall send receive m. (ToJSON send, FromJSON receive, MonadBaseControl IO m, MonadThrow m) => WebSocketsApp send receive m -> ClientAppT m WebSocketsAppThreads Source #
This can throw a WebSocketSimpleError when json parsing fails. However, do note:
the onOpen is called once, but is still forked when called. Likewise, the onReceive
function is called every time a (parsable) response is received from the other party,
and is forked on every invocation.
toClientAppT' :: (ToJSON send, FromJSON receive, MonadBaseControl IO m, MonadThrow m) => WebSocketsApp send receive m -> ClientAppT m () Source #
toServerAppT :: (ToJSON send, FromJSON receive, MonadBaseControl IO m, MonadThrow m) => WebSocketsApp send receive m -> ServerAppT m Source #
data WebSocketSimpleError Source #
Constructors
| JSONParseError ByteString |
data WebSocketsAppThreads Source #
Constructors
| WebSocketsAppThreads | |
Fields
| |