### Virtual Method

# Gio IOStream close_async

since: 2.22

#### Declaration

    void
    close_async (
      GIOStream* stream,
      int io_priority,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description

Requests an asynchronous close of the stream, releasing resources related to it. When the operation is finished `callback` will be called. You can then call `g_io_stream_close_finish()` to get the result of the operation.

For behaviour details see g_io_stream_close().

The asynchronous methods have a default fallback that uses threads to implement asynchronicity, so they are optional for inheriting classes. However, if you override one you must override all.

Available since: 2.22

#### Parameters

`io_priority`

  Type: `int`

  The io priority of the request.

`cancellable`

  Type: `GCancellable`

  Optional cancellable object.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`callback`

  Type: `GAsyncReadyCallback`

  A `GAsyncReadyCallback` to call when the request is satisfied.

`user_data`

  Type: `gpointer`

  The data to pass to callback function.

  The argument can be `NULL`.
  The data is owned by the caller of the function.