gi-gio-2.0.19: Gio bindings

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

GI.Gio.Objects.TcpConnection

Contents

- Exported types
- Methods
  - getGracefulDisconnect
  - setGracefulDisconnect
- Properties
  - gracefulDisconnect

Description

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.

Constructors

TcpConnection (ManagedPtr TcpConnection) |

Instances

GObject TcpConnection Source # |
Instance details Defined in GI.Gio.Objects.TcpConnection Methods gobjectType :: TcpConnection -> IO GType Source #
IsObject TcpConnection Source # |
Instance details Defined in GI.Gio.Objects.TcpConnection
IsIOStream TcpConnection Source # |
Instance details Defined in GI.Gio.Objects.TcpConnection
IsSocketConnection TcpConnection Source # |
Instance details Defined in GI.Gio.Objects.TcpConnection
IsTcpConnection TcpConnection Source # |
Instance details 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 # |
Instance details Defined in GI.Gio.Objects.TcpConnection
IsTcpConnection TcpConnection Source # |
Instance details Defined in GI.Gio.Objects.TcpConnection
IsTcpConnection TcpWrapperConnection Source # |
Instance details 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 #

Arguments

:: (HasCallStack, MonadIO m, IsTcpConnection a) |
=> a | `connection`: a `TcpConnection`
-> m Bool | Returns: `True` if graceful disconnect is used on close, `False` otherwise

Checks if graceful disconnects are used. See `tcpConnectionSetGracefulDisconnect`.

Since: 2.22

## setGracefulDisconnect

tcpConnectionSetGracefulDisconnect Source #

Arguments

:: (HasCallStack, MonadIO m, IsTcpConnection a) |
=> a | `connection`: a `TcpConnection`
-> Bool | `gracefulDisconnect`: Whether to do graceful disconnects or not
-> 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 ]