UnixInputStream

#GUnixInputStream implements #GInputStream for reading from a UNIX file descriptor, including asynchronous operations. (If the file descriptor refers to a socket or pipe, this will use poll() to do asynchronous I/O. If it refers to a regular file, it will fall back to doing asynchronous I/O in another thread.)

Note that <gio/gunixinputstream.h> belongs to the UNIX-specific GIO interfaces, thus you have to use the gio-unix-2.0.pc pkg-config file when using it.

Constructors

this
this(GUnixInputStream* gUnixInputStream, bool ownedRef)

Sets our main struct and passes it to the parent class.

this
this(int fd, bool closeFd)

Creates a new #GUnixInputStream for the given @fd.

Members

Functions

getCloseFd
bool getCloseFd()

Returns whether the file descriptor of @stream will be closed when the stream is closed.

getFd
int getFd()

Return the UNIX file descriptor that the stream reads from.

getStruct
void* getStruct()

the main Gtk struct as a void*

getUnixInputStreamStruct
GUnixInputStream* getUnixInputStreamStruct(bool transferOwnership)

Get the main Gtk struct

setCloseFd
void setCloseFd(bool closeFd)

Sets whether the file descriptor of @stream shall be closed when the stream is closed.

Mixins

__anonymous
mixin FileDescriptorBasedT!(GUnixInputStream)
Undocumented in source.
__anonymous
mixin PollableInputStreamT!(GUnixInputStream)
Undocumented in source.

Static functions

getType
GType getType()

Variables

gUnixInputStream
GUnixInputStream* gUnixInputStream;

the main Gtk struct

Inherited Members

From InputStream

gInputStream
GInputStream* gInputStream;

the main Gtk struct

getInputStreamStruct
GInputStream* getInputStreamStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

getType
GType getType()
clearPending
void clearPending()

Clears the pending flag on @stream.

close
bool close(Cancellable cancellable)

Closes the stream, releasing resources related to it.

closeAsync
void closeAsync(int ioPriority, Cancellable cancellable, GAsyncReadyCallback callback, void* userData)

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

closeFinish
bool closeFinish(AsyncResultIF result)

Finishes closing a stream asynchronously, started from g_input_stream_close_async().

hasPending
bool hasPending()

Checks if an input stream has pending actions.

isClosed
bool isClosed()

Checks if an input stream is closed.

read
ptrdiff_t read(ubyte[] buffer, Cancellable cancellable)

Tries to read @count bytes from the stream into the buffer starting at @buffer. Will block during this read.

readAll
bool readAll(ubyte[] buffer, size_t bytesRead, Cancellable cancellable)

Tries to read @count bytes from the stream into the buffer starting at @buffer. Will block during this read.

readAllAsync
void readAllAsync(ubyte[] buffer, int ioPriority, Cancellable cancellable, GAsyncReadyCallback callback, void* userData)

Request an asynchronous read of @count bytes from the stream into the buffer starting at @buffer.

readAllFinish
bool readAllFinish(AsyncResultIF result, size_t bytesRead)

Finishes an asynchronous stream read operation started with g_input_stream_read_all_async().

readAsync
void readAsync(ubyte[] buffer, int ioPriority, Cancellable cancellable, GAsyncReadyCallback callback, void* userData)

Request an asynchronous read of @count bytes from the stream into the buffer starting at @buffer. When the operation is finished @callback will be called. You can then call g_input_stream_read_finish() to get the result of the operation.

readBytes
Bytes readBytes(size_t count, Cancellable cancellable)

Like g_input_stream_read(), this tries to read @count bytes from the stream in a blocking fashion. However, rather than reading into a user-supplied buffer, this will create a new #GBytes containing the data that was read. This may be easier to use from language bindings.

readBytesAsync
void readBytesAsync(size_t count, int ioPriority, Cancellable cancellable, GAsyncReadyCallback callback, void* userData)

Request an asynchronous read of @count bytes from the stream into a new #GBytes. When the operation is finished @callback will be called. You can then call g_input_stream_read_bytes_finish() to get the result of the operation.

readBytesFinish
Bytes readBytesFinish(AsyncResultIF result)

Finishes an asynchronous stream read-into-#GBytes operation.

readFinish
ptrdiff_t readFinish(AsyncResultIF result)

Finishes an asynchronous stream read operation.

setPending
bool setPending()

Sets @stream to have actions pending. If the pending flag is already set or @stream is closed, it will return %FALSE and set @error.

skip
ptrdiff_t skip(size_t count, Cancellable cancellable)

Tries to skip @count bytes from the stream. Will block during the operation.

skipAsync
void skipAsync(size_t count, int ioPriority, Cancellable cancellable, GAsyncReadyCallback callback, void* userData)

Request an asynchronous skip of @count bytes from the stream. When the operation is finished @callback will be called. You can then call g_input_stream_skip_finish() to get the result of the operation.

skipFinish
ptrdiff_t skipFinish(AsyncResultIF result)

Finishes a stream skip operation.

From FileDescriptorBasedIF

getFileDescriptorBasedStruct
GFileDescriptorBased* getFileDescriptorBasedStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

getType
GType getType()
getFd
int getFd()

Gets the underlying file descriptor.

From PollableInputStreamIF

getPollableInputStreamStruct
GPollableInputStream* getPollableInputStreamStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

getType
GType getType()
canPoll
bool canPoll()

Checks if @stream is actually pollable. Some classes may implement #GPollableInputStream but have only certain instances of that class be pollable. If this method returns %FALSE, then the behavior of other #GPollableInputStream methods is undefined.

createSource
Source createSource(Cancellable cancellable)

Creates a #GSource that triggers when @stream can be read, or @cancellable is triggered or an error occurs. The callback on the source is of the #GPollableSourceFunc type.

isReadable
bool isReadable()

Checks if @stream can be read.

readNonblocking
ptrdiff_t readNonblocking(ubyte[] buffer, Cancellable cancellable)

Attempts to read up to @count bytes from @stream into @buffer, as with g_input_stream_read(). If @stream is not currently readable, this will immediately return %G_IO_ERROR_WOULD_BLOCK, and you can use g_pollable_input_stream_create_source() to create a #GSource that will be triggered when @stream is readable.

Meta