Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
_GPollableOutputStreamInterface Struct Reference

#include <gpollableoutputstream.h>

Data Fields

GTypeInterface g_iface
 
gboolean(* can_poll )(GPollableOutputStream *stream)
 
gboolean(* is_writable )(GPollableOutputStream *stream)
 
GSource *(* create_source )(GPollableOutputStream *stream, GCancellable *cancellable)
 
gssize(* write_nonblocking )(GPollableOutputStream *stream, const void *buffer, gsize count, GError **error)
 
GPollableReturn(* writev_nonblocking )(GPollableOutputStream *stream, const GOutputVector *vectors, gsize n_vectors, gsize *bytes_written, GError **error)
 

Detailed Description

GPollableOutputStreamInterface: @g_iface: The parent interface. @can_poll: Checks if the GPollableOutputStream instance is actually pollable @is_writable: Checks if the stream is writable @create_source: Creates a GSource to poll the stream @write_nonblocking: Does a non-blocking write or returns G_IO_ERROR_WOULD_BLOCK @writev_nonblocking: Does a vectored non-blocking write, or returns G_POLLABLE_RETURN_WOULD_BLOCK

The interface for pollable output streams.

The default implementation of @can_poll always returns TRUE.

The default implementation of @write_nonblocking calls g_pollable_output_stream_is_writable(), and then calls g_output_stream_write() if it returns TRUE. This means you only need to override it if it is possible that your @is_writable implementation may return TRUE when the stream is not actually writable.

The default implementation of @writev_nonblocking calls g_pollable_output_stream_write_nonblocking() for each vector, and converts its return value and error (if set) to a GPollableReturn. You should override this where possible to avoid having to allocate a #GError to return G_IO_ERROR_WOULD_BLOCK.

Since: 2.28

Definition at line 69 of file gpollableoutputstream.h.

Field Documentation

◆ can_poll

gboolean(* _GPollableOutputStreamInterface::can_poll) (GPollableOutputStream *stream)

Definition at line 74 of file gpollableoutputstream.h.

◆ create_source

GSource *(* _GPollableOutputStreamInterface::create_source) (GPollableOutputStream *stream, GCancellable *cancellable)

Definition at line 77 of file gpollableoutputstream.h.

◆ g_iface

GTypeInterface _GPollableOutputStreamInterface::g_iface

Definition at line 71 of file gpollableoutputstream.h.

◆ is_writable

gboolean(* _GPollableOutputStreamInterface::is_writable) (GPollableOutputStream *stream)

Definition at line 76 of file gpollableoutputstream.h.

◆ write_nonblocking

gssize(* _GPollableOutputStreamInterface::write_nonblocking) (GPollableOutputStream *stream, const void *buffer, gsize count, GError **error)

Definition at line 79 of file gpollableoutputstream.h.

◆ writev_nonblocking

GPollableReturn(* _GPollableOutputStreamInterface::writev_nonblocking) (GPollableOutputStream *stream, const GOutputVector *vectors, gsize n_vectors, gsize *bytes_written, GError **error)

Definition at line 83 of file gpollableoutputstream.h.


The documentation for this struct was generated from the following file: