方法

GioSocketcondition_timed_wait

since: 2.32

声明 [src]

gboolean
g_socket_condition_timed_wait (
  GSocket* socket,
  GIOCondition condition,
  gint64 timeout_us,
  GCancellable* cancellable,
  GError** error
)

描述 [src]

等待最多 timeout_us 纳秒,直到在 socketcondition 变为真。如果条件满足,则返回 TRUE

如果在此条件满足之前取消 cancellable,或者如果在此条件满足之前达到 timeout_us(或套接字的 GSocket:timeout),则返回 FALSE,并且如果非 NULL,则将 error 设置为适当的值(G_IO_ERROR_CANCELLEDG_IO_ERROR_TIMED_OUT)。

如果您不想设置超时,请使用 g_socket_condition_wait()。另可传递 -1 给 timeout_us

注意,尽管 timeout_us 以微秒为单位,以保持与其他 GLib API 的一致性,但此函数实际上只具有毫秒级别的分辨率。如果 timeout_us 不是完全的毫秒数,则其行为是未定义的。

提供自:2.32

参数

condition

类型: GIOCondition

一个等待的 GIOCondition 掩码。

timeout_us

类型: gint64

等待的最大时间(微秒),或 -1。

cancellable

类型: GCancellable

一个 GCancellableNULL

该参数可以是 NULL
数据由方法调用者拥有。
error

类型: GError **

用于可恢复错误的返回位置。

该参数可以是 NULL
如果返回位置不是 NULL,则必须将其初始化为空 GError*
如果没有错误,该方法将保留初始化为 NULL
在出错的情况下,该参数将被设置为新颖分配的 GError;调用者将负责数据的所有权和释放。

返回值

类型: gboolean

TRUE 如果条件满足,否则 FALSE