network-conduit-0.2.1: Stream socket data using conduits.

Data.Conduit.Network

Contents

Synopsis

Basic utilities

sourceSocket :: ResourceIO m => Socket -> Source m ByteStringSource

Stream data from the socket.

This function does not automatically close the socket.

Since 0.0.0

sinkSocket :: ResourceIO m => Socket -> Sink 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.

type Application = Source IO ByteString -> Sink ByteString IO () -> ResourceT IO ()Source

A simple TCP application. It takes two arguments: the Source to read input data from, and the Sink to send output data to.

Since 0.2.1

Server

data ServerSettings Source

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

Since 0.2.1

Constructors

ServerSettings 

Fields

serverPort :: Int
 
serverHost :: Maybe String

Nothing indicates no preference

runTCPServer :: ServerSettings -> Application -> IO ()Source

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.

Since 0.2.1

Client

data ClientSettings Source

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

Constructors

ClientSettings 

runTCPClient :: ClientSettings -> Application -> IO ()Source

Run an Application by connecting to the specified server.

Since 0.2.1

Helper utilities

bindPort :: Maybe String -> Int -> IO SocketSource

Attempt to bind a listening Socket on the given host/port. If no host is given, will use the first address available.

Since 0.2.1

getSocket :: String -> Int -> IO SocketSource

Attempt to connect to the given host/port.

Since 0.2.1