结构体
gioInputMessage
自:2.48
描述 [源]
struct GInputMessage {
GSocketAddress** address;
GInputVector* vectors;
guint num_vectors;
gsize bytes_received;
gint flags;
GSocketControlMessage*** control_messages;
guint* num_control_messages;
}
用于在接收多个消息或数据包时进行 gather/scatter 数据输入的结构体。通常传递一个空的 GInputVectors 数组,操作将使用所有缓冲区作为一个缓冲区,并将 bytes_received 设置为所有 GInputVectors 收到的总字节数。
此结构体与 POSIX 套接字 API 中的 struct mmsghdr 和 struct msghdr 领域非常相似(参见 man 2 recvmmsg)。
如果 address 不为 NULL,则它将被设置为接收消息的源地址,调用者必须之后释放它。
如果 control_messages 不为 NULL,则它将被设置为一个数组,该数组包含与消息一起接收到的控制消息(如果有),调用者必须之后释放它。 num_control_messages 被设置为该数组的元素数量,该数量可能为零。
与此消息相关的标志将返回到 flags。例如,MSG_EOR 或 MSG_TRUNC。
结构体成员
addressGSocketAddress的返回位置,或NULL。vectors指向输入向量的数组的指针。
vectors 的数量vectors指向的输入向量的数量。bytes_received将设置为已接收的字节数。
flags返回由调用产生的接收消息的
GSocketMsgFlags集合。control_messagesGSocketControlMessages调用者分配的数组的返回位置,或NULL。num_control_messages返回
control_messages中的元素数量。
自:2.48