## GTcpConnection

GTcpConnection — A TCP GSocketConnection

## Functions

void | g_tcp_connection_set_graceful_disconnect ()
gboolean | g_tcp_connection_get_graceful_disconnect ()

## Properties

gboolean | graceful-disconnect | Read / Write

## Types and Values

| GTcpConnection

## Object Hierarchy

        GObject
        ╰── GIOStream
            ╰── GSocketConnection
                ╰── GTcpConnection
                    ╰── GTcpWrapperConnection

## Includes

    #include <gio/gio.h>

## Description

This is the subclass of GSocketConnection that is created for TCP/IP sockets.

## Functions

### g_tcp_connection_set_graceful_disconnect ()

    void
    g_tcp_connection_set_graceful_disconnect
                                   (GTcpConnection *connection,
                                    gboolean graceful_disconnect);

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.

#### Parameters

connection | a GTcpConnection |
graceful_disconnect | Whether to do graceful disconnects or not |

Since: 2.22

### g_tcp_connection_get_graceful_disconnect ()

    gboolean
    g_tcp_connection_get_graceful_disconnect
                                   (GTcpConnection *connection);

Checks if graceful disconnects are used. See `g_tcp_connection_set_graceful_disconnect()`.

#### Parameters

connection | a GTcpConnection |

#### Returns

`TRUE` if graceful disconnect is used on close, `FALSE` otherwise

Since: 2.22

## Types and Values

### GTcpConnection

    typedef struct _GTcpConnection GTcpConnection;

A GSocketConnection for TCP/IP connections.

Since: 2.22

## Property Details

### The `“graceful-disconnect”` property

      “graceful-disconnect”      gboolean

Whether or not close does a graceful disconnect.

Flags: Read / Write

Default value: FALSE

## See Also

GSocketConnection.