Safe Haskell | None |
---|---|
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
- = HostAny
- | HostIPv4
- | HostIPv4Only
- | HostIPv6
- | HostIPv6Only
- | Host String
-
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
{
- clientPath :: ! FilePath
- clientReadBufferSizeUnix :: ! Int
-
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
HasReadBufferSize ServerSettings Source # |
Since 0.1.13 |
Defined in Data.Streaming.Network readBufferSizeLens :: Functor f => ( Int -> f Int ) -> ServerSettings -> f ServerSettings Source # |
|
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 # |
data ClientSettings Source #
Settings for a TCP client, specifying how to connect to the server.
ClientSettings | |
|
Instances
HasReadBufferSize ClientSettings Source # |
Since 0.1.13 |
Defined in Data.Streaming.Network readBufferSizeLens :: Functor f => ( Int -> f Int ) -> ClientSettings -> f ClientSettings Source # |
|
HasPort ClientSettings Source # | |
Defined in Data.Streaming.Network portLens :: 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
HasReadBufferSize ServerSettingsUnix Source # |
Since 0.1.13 |
Defined in Data.Streaming.Network readBufferSizeLens :: Functor f => ( Int -> f Int ) -> ServerSettingsUnix -> f ServerSettingsUnix Source # |
|
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 # |
data ClientSettingsUnix Source #
Settings for a Unix domain sockets client.
Instances
HasReadBufferSize ClientSettingsUnix Source # |
Since 0.1.14 |
Defined in Data.Streaming.Network readBufferSizeLens :: Functor f => ( Int -> f Int ) -> ClientSettingsUnix -> f ClientSettingsUnix Source # |
|
HasPath ClientSettingsUnix Source # | |
Defined in Data.Streaming.Network pathLens :: Functor f => ( FilePath -> f FilePath ) -> 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 # |