方法
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 纳秒,直到在 socket 上 condition 变为真。如果条件满足,则返回 TRUE。
如果在此条件满足之前取消 cancellable,或者如果在此条件满足之前达到 timeout_us(或套接字的 GSocket:timeout),则返回 FALSE,并且如果非 NULL,则将 error 设置为适当的值(G_IO_ERROR_CANCELLED 或 G_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一个
GCancellable或NULL。该参数可以是 NULL。数据由方法调用者拥有。 error-
类型:
GError **用于可恢复错误的返回位置。
该参数可以是 NULL。如果返回位置不是 NULL,则必须将其初始化为空GError*。如果没有错误,该方法将保留初始化为 NULL。在出错的情况下,该参数将被设置为新颖分配的 GError;调用者将负责数据的所有权和释放。