Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
This is the subclass of SocketConnection
that is created
for TCP/IP sockets.
Since: 2.22
Synopsis
- newtype TcpConnection = TcpConnection (ManagedPtr TcpConnection)
- class GObject o => IsTcpConnection o
- toTcpConnection :: (MonadIO m, IsTcpConnection o) => o -> m TcpConnection
- noTcpConnection :: Maybe TcpConnection
- tcpConnectionGetGracefulDisconnect :: (HasCallStack, MonadIO m, IsTcpConnection a) => a -> m Bool
- tcpConnectionSetGracefulDisconnect :: (HasCallStack, MonadIO m, IsTcpConnection a) => a -> Bool -> m ()
- constructTcpConnectionGracefulDisconnect :: IsTcpConnection o => Bool -> IO (GValueConstruct o)
- getTcpConnectionGracefulDisconnect :: (MonadIO m, IsTcpConnection o) => o -> m Bool
- setTcpConnectionGracefulDisconnect :: (MonadIO m, IsTcpConnection o) => o -> Bool -> m ()
Exported types
newtype TcpConnection Source #
Memory-managed wrapper type.
Instances
GObject TcpConnection Source # | |
Defined in GI.Gio.Objects.TcpConnection gobjectType :: TcpConnection -> IO GType # | |
IsObject TcpConnection Source # | |
Defined in GI.Gio.Objects.TcpConnection | |
IsIOStream TcpConnection Source # | |
Defined in GI.Gio.Objects.TcpConnection | |
IsSocketConnection TcpConnection Source # | |
Defined in GI.Gio.Objects.TcpConnection | |
IsTcpConnection TcpConnection Source # | |
Defined in GI.Gio.Objects.TcpConnection |
class GObject o => IsTcpConnection o Source #
Type class for types which can be safely cast to TcpConnection
, for instance with toTcpConnection
.
Instances
(GObject a, (UnknownAncestorError TcpConnection a :: Constraint)) => IsTcpConnection a Source # | |
Defined in GI.Gio.Objects.TcpConnection | |
IsTcpConnection TcpConnection Source # | |
Defined in GI.Gio.Objects.TcpConnection | |
IsTcpConnection TcpWrapperConnection Source # | |
Defined in GI.Gio.Objects.TcpWrapperConnection |
toTcpConnection :: (MonadIO m, IsTcpConnection o) => o -> m TcpConnection Source #
Cast to TcpConnection
, for types for which this is known to be safe. For general casts, use castTo
.
noTcpConnection :: Maybe TcpConnection Source #
A convenience alias for Nothing
:: Maybe
TcpConnection
.
Methods
getGracefulDisconnect
tcpConnectionGetGracefulDisconnect Source #
:: (HasCallStack, MonadIO m, IsTcpConnection a) | |
=> a |
|
-> m Bool | Returns: |
Checks if graceful disconnects are used. See
tcpConnectionSetGracefulDisconnect
.
Since: 2.22
setGracefulDisconnect
tcpConnectionSetGracefulDisconnect Source #
:: (HasCallStack, MonadIO m, IsTcpConnection a) | |
=> a |
|
-> Bool |
|
-> m () |
This enables graceful disconnects on close. A graceful disconnect means that we signal the receiving end that the connection is terminated and wait for it to close the connection before closing the connection.
A graceful disconnect means that we can be sure that we successfully sent all the outstanding data to the other end, or get an error reported. However, it also means we have to wait for all the data to reach the other side and for it to acknowledge this by closing the socket, which may take a while. For this reason it is disabled by default.
Since: 2.22
Properties
gracefulDisconnect
No description available in the introspection data.
constructTcpConnectionGracefulDisconnect :: IsTcpConnection o => Bool -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “graceful-disconnect
” property. This is rarely needed directly, but it is used by new
.
getTcpConnectionGracefulDisconnect :: (MonadIO m, IsTcpConnection o) => o -> m Bool Source #
Get the value of the “graceful-disconnect
” property.
When overloading is enabled, this is equivalent to
get
tcpConnection #gracefulDisconnect
setTcpConnectionGracefulDisconnect :: (MonadIO m, IsTcpConnection o) => o -> Bool -> m () Source #
Set the value of the “graceful-disconnect
” property.
When overloading is enabled, this is equivalent to
set
tcpConnection [ #gracefulDisconnect:=
value ]