websockets-simple-0.0.3: Simpler interface to the websockets api

Safe HaskellNone
LanguageHaskell2010

Network.WebSockets.Simple

Synopsis

Documentation

data WebSocketsApp send receive m Source #

Constructors

WebSocketsApp 

Fields

  • onOpen :: (send -> m ()) -> m ()
     
  • onReceive :: (send -> m ()) -> receive -> m ()
     

Instances

Generic (WebSocketsApp send receive m) Source # 

Associated Types

type Rep (WebSocketsApp send receive m) :: * -> * #

Methods

from :: WebSocketsApp send receive m -> Rep (WebSocketsApp send receive m) x #

to :: Rep (WebSocketsApp send receive m) x -> WebSocketsApp send receive m #

type Rep (WebSocketsApp send receive m) Source # 
type Rep (WebSocketsApp send receive m) = D1 (MetaData "WebSocketsApp" "Network.WebSockets.Simple" "websockets-simple-0.0.3-6IsQu6trq7y4lTLFIf35c1" False) (C1 (MetaCons "WebSocketsApp" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "onOpen") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ((send -> m ()) -> m ()))) (S1 (MetaSel (Just Symbol "onReceive") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ((send -> m ()) -> receive -> m ())))))

hoistWebSocketsApp :: (forall a. m a -> n a) -> (forall a. n a -> m a) -> WebSocketsApp send receive m -> WebSocketsApp send receive n Source #

toClientAppT :: forall send receive m. (ToJSON send, FromJSON receive, MonadBaseControl IO m, MonadThrow m, MonadCatch m) => WebSocketsApp send receive m -> ClientAppT m (Maybe 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, MonadCatch m) => WebSocketsApp send receive m -> ClientAppT m () Source #

toServerAppT :: (ToJSON send, FromJSON receive, MonadBaseControl IO m, MonadThrow m, MonadCatch m) => WebSocketsApp send receive m -> ServerAppT m Source #

data WebSocketsAppThreads Source #

Constructors

WebSocketsAppThreads 

Fields