Module

Control.Aff.Sockets

#Connection

#Port

type Port = Int

#Host

type Host = String

#TCPOptions

type TCPOptions opts = { allowHalfOpen :: Boolean, host :: Host, port :: Port | opts }

#defaultTCPOptions

#EmitFunction

type EmitFunction a r = Emitter Effect a r

#Emitter

type Emitter a r = EmitFunction a r -> Effect Unit

#Left

type Left a = a -> Either a Unit

#Right

type Right a = Unit -> Either a Unit

#createConnectionEmitter

#connectionProducer

#connectToServerImpl

#connectToServer

connectToServer :: forall opts m. MonadAff m => TCPOptions opts -> m Connection

#messageProducer

#writeMessage

writeMessage :: forall m. MonadAff m => Connection -> String -> m Boolean

#messageConsumer

#ConnectionProcess

#connectionConsumer

#dataProducer

dataProducer :: forall a m f. Decode a => MonadAff m => MonadRec m => Parallel f m => Connection -> Producer (Either MultipleErrors a) m Unit

From a connection, produce instances of a, or possibly a list of de-serialisation errors.

#writeData

writeData :: forall m a. Encode a => MonadAff m => Connection -> a -> m Boolean

#dataConsumer

dataConsumer :: forall a m. Encode a => MonadAff m => Connection -> Consumer a m Unit

#dataProducer_

dataProducer_ :: forall a m f. Decode a => MonadAff m => MonadRec m => Parallel f m => Connection -> Producer a m Unit

Modules