UnixInputStream

gio.UnixInputStream implements gio.InputStream 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 gio.UnixInputStream 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.

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 InputStream.closeFinish to get the result of the operation.

closeFinish
bool closeFinish(AsyncResultIF result)

Finishes closing a stream asynchronously, started from InputStream.closeAsync.

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 InputStream.readAllAsync.

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 InputStream.readFinish to get the result of the operation.

readBytes
Bytes readBytes(size_t count, Cancellable cancellable)

Like InputStream.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 glib.Bytes 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 glib.Bytes When the operation is finished callback will be called. You can then call InputStream.readBytesFinish to get the result of the operation.

readBytesFinish
Bytes readBytesFinish(AsyncResultIF result)

Finishes an asynchronous stream read-into-glib.Bytes 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 InputStream.skipFinish 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 glib.Source 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 InputStream.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 glib.Source that will be triggered when stream is readable.