Safe Haskell | None |
---|---|
Language | Haskell98 |
- sourceSocket :: MonadIO m => Socket -> Producer m ByteString
- sinkSocket :: MonadIO m => Socket -> Consumer ByteString m ()
- data AppDataUnix :: *
- appSource :: (HasReadWrite ad, MonadIO m) => ad -> Producer m ByteString
- appSink :: (HasReadWrite ad, MonadIO m) => ad -> Consumer ByteString m ()
- data ServerSettingsUnix :: *
- serverSettings :: FilePath -> ServerSettingsUnix
- runUnixServer :: ServerSettingsUnix -> (AppDataUnix -> IO ()) -> IO a
- data ClientSettingsUnix :: *
- clientSettings :: FilePath -> ClientSettingsUnix
- runUnixClient :: ClientSettingsUnix -> (AppDataUnix -> IO a) -> IO a
- getPath :: HasPath a => a -> FilePath
- getAfterBind :: HasAfterBind a => a -> Socket -> IO ()
- setPath :: HasPath a => FilePath -> a -> a
- setAfterBind :: HasAfterBind a => (Socket -> IO ()) -> a -> a
Basic utilities
sourceSocket :: MonadIO m => Socket -> Producer m ByteString Source
Stream data from the socket.
This function does not automatically close the socket.
Since 0.0.0
sinkSocket :: MonadIO m => Socket -> Consumer ByteString m () Source
Stream data to the socket.
This function does not automatically close the socket.
Since 0.0.0
Simple server/client interface
appSource :: (HasReadWrite ad, MonadIO m) => ad -> Producer m ByteString Source
appSink :: (HasReadWrite ad, MonadIO m) => ad -> Consumer ByteString m () Source
Server
data ServerSettingsUnix :: *
Settings for a Unix domain sockets server.
runUnixServer :: ServerSettingsUnix -> (AppDataUnix -> IO ()) -> IO a
Run an Application
with the given settings. This function will create a
new listening socket, accept connections on it, and spawn a new thread for
each connection.
Client
runUnixClient :: ClientSettingsUnix -> (AppDataUnix -> IO a) -> IO a
Run an Application
by connecting to the specified server.
Getters
getAfterBind :: HasAfterBind a => a -> Socket -> IO ()
Setters
setAfterBind :: HasAfterBind a => (Socket -> IO ()) -> a -> a