Gio.InputMessage

Fields

Name

Type

Access

Description

address

Gio.SocketAddress

r/w

return location for a Gio.SocketAddress, or None

bytes_received

int

r/w

will be set to the number of bytes that have been received

control_messages

[Gio.SocketControlMessage]

r/w

return location for a caller-allocated array of Gio.SocketControlMessages, or None

flags

int

r/w

collection of Gio.SocketMsgFlags for the received message, outputted by the call

num_control_messages

int

r/w

return location for the number of elements in control_messages

num_vectors

int

r/w

the number of input vectors pointed to by vectors

vectors

[Gio.InputVector]

r/w

pointer to an array of input vectors

Methods

None

Details

class Gio.InputMessage

Structure used for scatter/gather data input when receiving multiple messages or packets in one go. You generally pass in an array of empty Gio.InputVectors and the operation will use all the buffers as if they were one buffer, and will set bytes_received to the total number of bytes received across all Gio.InputVectors.

This structure closely mirrors struct mmsghdr and struct msghdr from the POSIX sockets API (see man 2 recvmmsg).

If address is non-None then it is set to the source address the message was received from, and the caller must free it afterwards.

If control_messages is non-None then it is set to an array of control messages received with the message (if any), and the caller must free it afterwards. num_control_messages is set to the number of elements in this array, which may be zero.

Flags relevant to this message will be returned in flags. For example, MSG_EOR or MSG_TRUNC.

New in version 2.48.