class Gio::InputMessage
- Gio::InputMessage
- Reference
- Object
Overview
Structure used for scatter/gather data input when receiving multiple messages or packets in one go. You generally pass in an array of empty #GInputVectors 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 #GInputVectors.
This structure closely mirrors struct mmsghdr
and struct msghdr
from
the POSIX sockets API (see man 2 recvmmsg
).
If @address is non-nil
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-nil
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
.
Defined in:
lib/gi-crystal/src/auto/gio-2.0/input_message.crConstructors
- .new(pointer : Pointer(Void), transfer : GICrystal::Transfer)
- .new(data : LibGio::InputMessage, transfer : GICrystal::Transfer)
- .new(num_vectors : UInt32? = nil, bytes_received : UInt64? = nil, flags : Int32? = nil)
Instance Method Summary
-
#==(other : self) : Bool
Returns
true
if this reference is the same as other. - #address : Gio::SocketAddress?
- #address!
- #bytes_received : UInt64
- #bytes_received=(value : UInt64)
- #control_messages : Enumerable(Gio::SocketControlMessage)?
- #control_messages!
- #flags : Int32
- #flags=(value : Int32)
- #num_control_messages : Pointer(UInt32)?
- #num_control_messages!
- #num_vectors : UInt32
- #num_vectors=(value : UInt32)
- #to_unsafe
- #vectors : Enumerable(Gio::InputVector)?
- #vectors!
Constructor Detail
Instance Method Detail
Returns true
if this reference is the same as other. Invokes same?
.