类
GioUnixInputStream
描述 [源代码]
class GioUnix.InputStream : Gio.InputStream
implements Gio.PollableInputStream, GioUnix.FileDescriptorBased {
/* No available fields */
}
GUnixInputStream
实现了从 UNIX 文件描述符读取的功能,支持异步操作。(如果文件描述符是指向套接字或管道,这将会使用 poll()
来进行异步 I/O。如果它是指向普通文件,它将回退到在另一个线程中进行异步 I/O。)
注意,<gio/gunixinputstream.h>
属于特定于 UNIX 的 GIO
接口,因此你必须在使用它时使用 gio-unix-2.0.pc
pkg-config 文件或 GioUnix-2.0
GIR
命名空间。
实例方法
从 GInputStream 继承的方法(19个)
g_input_stream_clear_pending
清除 stream
上的挂起标志。
g_input_stream_close
关闭流,释放相关资源。
g_input_stream_close_async
请求异步关闭流,释放相关资源。当操作完成后,将调用 callback
。然后你可以调用 g_input_stream_close_finish()
来获取操作的结果。
g_input_stream_close_finish
完成从 g_input_stream_close_async() 开始的流的异步关闭。
g_input_stream_has_pending
检查输入流是否有挂起操作。
g_input_stream_is_closed
检查输入流是否已关闭。
g_input_stream_read
尝试从流中读取 count
字节到从 buffer
开始的缓冲区。在这个读取期间将会阻塞。
g_input_stream_read_all
尝试从流中读取 count
字节到从 buffer
开始的缓冲区。在这个读取期间将会阻塞。
g_input_stream_read_all_async
请求异步读取 count
字节到从 buffer
开始的流缓冲区。
g_input_stream_read_all_finish
完成从 g_input_stream_read_all_async() 开始的异步流读取操作。
g_input_stream_read_async
请求异步读取 count
字节到从 buffer
开始的流缓冲区。当操作完成后,将调用 callback
。然后你可以调用 g_input_stream_read_finish()
来获取操作的结果。
g_input_stream_read_bytes
类似于g_input_stream_read(),这个函数尝试以阻塞方式从流中读取count
个字节。然而,与读取到用户提供的缓冲区不同,这个函数会创建一个新的GBytes
对象,其中包含读取的数据。这可能会让语言绑定更容易使用。
g_input_stream_read_bytes_async
请求从流中异步读取count
个字节到新的GBytes
。当操作完成时,将调用callback
。然后您可以调用g_input_stream_read_bytes_finish()
以获取操作的结果。
g_input_stream_read_bytes_finish
完成异步流读取到GBytes
的操作。
g_input_stream_read_finish
完成异步流读取操作。
g_input_stream_set_pending
将stream
设置为有挂起的操作。如果挂起标志已设置或stream
已关闭,它将返回FALSE
并设置error
。
g_input_stream_skip
尝试从流中跳过count
个字节。在操作过程中会阻塞。
g_input_stream_skip_async
请求从流中异步跳过count
个字节。当操作完成时,将调用callback
。然后您可以调用g_input_stream_skip_finish()
以获取操作的结果。
g_input_stream_skip_finish
完成流跳过操作。
从GPollableInputStream继承的方法(4个)
g_pollable_input_stream_can_poll
检查stream
是否实际上是可轮询的。某些类可能实现了GPollableInputStream
,但仅有该类的一些实例是可轮询的。如果此方法返回FALSE
,则其他GPollableInputStream
方法的行为是未定义的。
g_pollable_input_stream_create_source
创建一个在stream
可读、cancellable
被触发或发生错误时触发的GSource
。该源的回调是GPollableSourceFunc
类型。
g_pollable_input_stream_is_readable
检查stream
是否可读。
g_pollable_input_stream_read_nonblocking
尝试以与g_input_stream_read()相同的方式读取最多count
字节到buffer
中。如果stream
当前不可读,此函数将立即返回G_IO_ERROR_WOULD_BLOCK
,您可以使用g_pollable_input_stream_create_source()
创建一个当stream
可读时将触发的GSource
。
信号
从GObject继承的信号(1个)
GObject::notify
当使用g_object_set_property()、g_object_set()等设置对象属性值时,此信号在对象上发出。
类结构
struct GioUnixInputStreamClass {
GInputStreamClass parent_class;
void (* _g_reserved1) (
void
);
void (* _g_reserved2) (
void
);
void (* _g_reserved3) (
void
);
void (* _g_reserved4) (
void
);
void (* _g_reserved5) (
void
);
}
无描述可用。
类成员
parent_class: GInputStreamClass
无描述可用。
_g_reserved1: void (* _g_reserved1) ( void )
无描述可用。
_g_reserved2: void (* _g_reserved2) ( void )
无描述可用。
_g_reserved3: void (* _g_reserved3) ( void )
无描述可用。
_g_reserved4: void (* _g_reserved4) ( void )
无描述可用。
_g_reserved5: void (* _g_reserved5) ( void )
无描述可用。