## GskStreamListenerSocket

GskStreamListenerSocket — socket-based stream-listener.

## Synopsis

                        GskStreamListenerSocket;
    GskStreamListener * gsk_stream_listener_socket_new_bind (GskSocketAddress *address,
                                                             GError **error);
    GskStreamListener * gsk_stream_listener_socket_new_bind_full
                                                            (GskSocketAddress *address,
                                                             GskStreamListenerSocketFlags flags,
                                                             GError **error);
    void                gsk_stream_listener_socket_set_backlog
                                                            (GskStreamListenerSocket *lis,
                                                             guint backlog);
    GskStreamListener * gsk_stream_listener_socket_new_from_fd
                                                            (int fd,
                                                             GError **error);
    #define             GSK_STREAM_LISTENER_SOCKET_USE_GLIB_MAIN_LOOP

## Object Hierarchy

      GObject
       +----GskStreamListener
             +----GskStreamListenerSocket

## Properties

      "file-descriptor"          GskFd                 : Read / Write / Construct Only
      "listening-address"        GskSocketAddress*     : Read / Write / Construct Only
      "may-reuse-address"        gboolean              : Read / Write / Construct Only
      "unlink-when-done"         gboolean              : Read / Write

## Description

This is a GskStreamListener that takes new input streams from a raw socket.

## Details

### GskStreamListenerSocket

    typedef struct _GskStreamListenerSocket GskStreamListenerSocket;

An instance of a socket-based GskStreamListener.

### gsk_stream_listener_socket_new_bind ()

    GskStreamListener * gsk_stream_listener_socket_new_bind (GskSocketAddress *address,
                                                             GError **error);

Create a new listener bound to a specific socket-address.

`address` : | the address that the listener should be bound to.
`error` : | optional location to store error at.
Returns : | the newly created stream-listener.

### gsk_stream_listener_socket_new_bind_full ()

    GskStreamListener * gsk_stream_listener_socket_new_bind_full
                                                            (GskSocketAddress *address,
                                                             GskStreamListenerSocketFlags flags,
                                                             GError **error);

Create a new listener bound to a specific socket-address.

If `flags` suggests `GSK_SOCKET_LISTENER_STREAM_DONT_REUSE_ADDRESS`, then the usual timeout rules about how often a port may be bound are ignored. This only really affects TCP/IP socket listeners.

`address` : | the address that the listener should be bound to.
`flags` : | flags controlling the operation of the listener.
`error` : | optional location to store error at.
Returns : | the newly created stream-listener.

### gsk_stream_listener_socket_set_backlog ()

    void                gsk_stream_listener_socket_set_backlog
                                                            (GskStreamListenerSocket *lis,
                                                             guint backlog);

Set the number of incoming connections that can be accepted before they are rejected outright.

`lis` : | the listener whose backlog quota should be affected.
`backlog` : | the number of incoming connections to accept before refusing them.

### gsk_stream_listener_socket_new_from_fd ()

    GskStreamListener * gsk_stream_listener_socket_new_from_fd
                                                            (int fd,
                                                             GError **error);

`fd`: The bound socket. `error`: optional location to store error at. `returns`: The newly created stream-listener.

Create a new listener for an already bound socket.

`fd` : |
`error` : |
Returns : |

### GSK_STREAM_LISTENER_SOCKET_USE_GLIB_MAIN_LOOP

    #define             GSK_STREAM_LISTENER_SOCKET_USE_GLIB_MAIN_LOOP

## Property Details

### The `"file-descriptor"` property

      "file-descriptor"          GskFd                 : Read / Write / Construct Only

whence to accept new connections on.

### The `"listening-address"` property

      "listening-address"        GskSocketAddress*     : Read / Write / Construct Only

The name others will use to connect.

### The `"may-reuse-address"` property

      "may-reuse-address"        gboolean              : Read / Write / Construct Only

Whether a listening address may be reused as soon as it's closed.

Default value: TRUE

### The `"unlink-when-done"` property

      "unlink-when-done"         gboolean              : Read / Write

Unlink the file from the file-system (only for local socket-listeners).

Default value: FALSE