Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data ServerSettings = ServerSettings {
- serverPort :: !Int
- serverHost :: !HostPreference
- serverSocket :: !(Maybe Socket)
- serverAfterBind :: !(Socket -> IO ())
- serverNeedLocalAddr :: !Bool
- serverReadBufferSize :: !Int
- data ClientSettings = ClientSettings {
- clientPort :: !Int
- clientHost :: !ByteString
- clientAddrFamily :: !Family
- clientReadBufferSize :: !Int
- data HostPreference
- data Message = Message {
- msgData :: !ByteString
- msgSender :: !SockAddr
- data AppData = AppData {
- appRead' :: !(IO ByteString)
- appWrite' :: !(ByteString -> IO ())
- appSockAddr' :: !SockAddr
- appLocalAddr' :: !(Maybe SockAddr)
- appCloseConnection' :: !(IO ())
- appRawSocket' :: Maybe Socket
- data ServerSettingsUnix = ServerSettingsUnix {
- serverPath :: !FilePath
- serverAfterBindUnix :: !(Socket -> IO ())
- serverReadBufferSizeUnix :: !Int
- data ClientSettingsUnix = ClientSettingsUnix {}
- data AppDataUnix = AppDataUnix {
- appReadUnix :: !(IO ByteString)
- appWriteUnix :: !(ByteString -> IO ())
Documentation
data ServerSettings Source #
Settings for a TCP server. It takes a port to listen on, and an optional hostname to bind to.
ServerSettings | |
|
Instances
HasAfterBind ServerSettings Source # | |
Defined in Data.Streaming.Network afterBindLens :: Functor f => ((Socket -> IO ()) -> f (Socket -> IO ())) -> ServerSettings -> f ServerSettings Source # | |
HasPort ServerSettings Source # | |
Defined in Data.Streaming.Network portLens :: Functor f => (Int -> f Int) -> ServerSettings -> f ServerSettings Source # | |
HasReadBufferSize ServerSettings Source # | Since 0.1.13 |
Defined in Data.Streaming.Network readBufferSizeLens :: Functor f => (Int -> f Int) -> ServerSettings -> f ServerSettings Source # |
data ClientSettings Source #
Settings for a TCP client, specifying how to connect to the server.
ClientSettings | |
|
Instances
HasPort ClientSettings Source # | |
Defined in Data.Streaming.Network portLens :: Functor f => (Int -> f Int) -> ClientSettings -> f ClientSettings Source # | |
HasReadBufferSize ClientSettings Source # | Since 0.1.13 |
Defined in Data.Streaming.Network readBufferSizeLens :: Functor f => (Int -> f Int) -> ClientSettings -> f ClientSettings Source # |
data HostPreference Source #
Which host to bind.
Note: The IsString
instance recognizes the following special values:
*
meansHostAny
- "any IPv4 or IPv6 hostname"*4
meansHostIPv4
- "any IPv4 or IPv6 hostname, IPv4 preferred"!4
meansHostIPv4Only
- "any IPv4 hostname"*6
meansHostIPv6
@ - "any IPv4 or IPv6 hostname, IPv6 preferred"!6
meansHostIPv6Only
- "any IPv6 hostname"
Note that the permissive *
values allow binding to an IPv4 or an
IPv6 hostname, which means you might be able to successfully bind
to a port more times than you expect (eg once on the IPv4 localhost
127.0.0.1 and again on the IPv6 localhost 0:0:0:0:0:0:0:1).
Any other value is treated as a hostname. As an example, to bind to the IPv4 local host only, use "127.0.0.1".
Instances
Representation of a single UDP message
Message | |
|
The data passed to an Application
.
AppData | |
|
Instances
HasReadWrite AppData Source # | |
Defined in Data.Streaming.Network readLens :: Functor f => (IO ByteString -> f (IO ByteString)) -> AppData -> f AppData Source # writeLens :: Functor f => ((ByteString -> IO ()) -> f (ByteString -> IO ())) -> AppData -> f AppData Source # |
data ServerSettingsUnix Source #
Settings for a Unix domain sockets server.
ServerSettingsUnix | |
|
Instances
HasAfterBind ServerSettingsUnix Source # | |
Defined in Data.Streaming.Network afterBindLens :: Functor f => ((Socket -> IO ()) -> f (Socket -> IO ())) -> ServerSettingsUnix -> f ServerSettingsUnix Source # | |
HasPath ServerSettingsUnix Source # | |
Defined in Data.Streaming.Network pathLens :: Functor f => (FilePath -> f FilePath) -> ServerSettingsUnix -> f ServerSettingsUnix Source # | |
HasReadBufferSize ServerSettingsUnix Source # | Since 0.1.13 |
Defined in Data.Streaming.Network readBufferSizeLens :: Functor f => (Int -> f Int) -> ServerSettingsUnix -> f ServerSettingsUnix Source # |
data ClientSettingsUnix Source #
Settings for a Unix domain sockets client.
Instances
HasPath ClientSettingsUnix Source # | |
Defined in Data.Streaming.Network pathLens :: Functor f => (FilePath -> f FilePath) -> ClientSettingsUnix -> f ClientSettingsUnix Source # | |
HasReadBufferSize ClientSettingsUnix Source # | Since 0.1.14 |
Defined in Data.Streaming.Network readBufferSizeLens :: Functor f => (Int -> f Int) -> ClientSettingsUnix -> f ClientSettingsUnix Source # |
data AppDataUnix Source #
The data passed to a Unix domain sockets Application
.
AppDataUnix | |
|
Instances
HasReadWrite AppDataUnix Source # | |
Defined in Data.Streaming.Network readLens :: Functor f => (IO ByteString -> f (IO ByteString)) -> AppDataUnix -> f AppDataUnix Source # writeLens :: Functor f => ((ByteString -> IO ()) -> f (ByteString -> IO ())) -> AppDataUnix -> f AppDataUnix Source # |