conduit-extra-1.1.1: Batteries included conduit: adapters for common libraries.

Safe HaskellNone

Data.Conduit.Network

Contents

Synopsis

Basic utilities

sourceSocket :: MonadIO m => Socket -> Producer m ByteStringSource

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 TCP server/client interface.

data AppData

The data passed to an Application.

Server

data ServerSettings

Settings for a TCP server. It takes a port to listen on, and an optional hostname to bind to.

runTCPServer :: ServerSettings -> (AppData -> IO ()) -> IO ()

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

data ClientSettings

Settings for a TCP client, specifying how to connect to the server.

runTCPClient :: ClientSettings -> (AppData -> IO a) -> IO a

Run an Application by connecting to the specified server.

Getters

getPort :: HasPort a => a -> Int

getAfterBind :: HasAfterBind a => a -> Socket -> IO ()

Setters

setPort :: HasPort a => Int -> a -> a

setAfterBind :: HasAfterBind a => (Socket -> IO ()) -> a -> a

Types

data HostPreference

Which host to bind.

Note: The IsString instance recognizes the following special values:

  • * means HostAny
  • *4 means HostIPv4
  • !4 means HostIPv4Only
  • *6 means HostIPv6
  • !6 means HostIPv6Only