ouroboros-network:framework
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Network.Server.Simple

Description

A simple server. The server doesn't control resource usage (e.g. limiting of inbound connections) and thus should only be used in a safe environment.

The module should be imported qualified.

Documentation

with Source #

Arguments

:: forall fd addr vNumber vData m a b. (Alternative (STM m), MonadAsync m, MonadDelay m, MonadEvaluate m, MonadFork m, MonadLabelledSTM m, MonadMask m, MonadTimer m, MonadThrow (STM m), NFData vData, NFData vNumber, Ord vNumber, Typeable vNumber, Show vNumber, NFData b) 
=> Snocket m fd addr

low level snocket API

-> Tracer m (ServerTracer addr)

server tracer: must not be nullTracer in production

-> TracersWithBearer (ConnectionId addr) m

mux tracers

-> MakeBearer m fd 
-> (fd -> addr -> m ())

socket configuration for both listening and connection sockets

-> addr

server address to bind to

-> HandshakeArguments (ConnectionId addr) vNumber vData m

handshake arguments

-> Versions vNumber vData (SomeResponderApplication addr ByteString m b)

applications to run on each connection

-> (addr -> Async m Void -> m a)

continuation for an internally used withAsync function that runs server accept loop

-> m a 

data ServerTracer addr Source #

Instances

Instances details
Show addr => Show (ServerTracer addr) Source # 
Instance details

Defined in Ouroboros.Network.Server.Simple

Methods

showsPrec :: Int -> ServerTracer addr -> ShowS #

show :: ServerTracer addr -> String #

showList :: [ServerTracer addr] -> ShowS #