#[repr(C)]pub struct aws_io_message {
pub allocator: *mut aws_allocator,
pub message_data: aws_byte_buf,
pub message_type: aws_io_message_type,
pub message_tag: c_int,
pub copy_mark: usize,
pub owning_channel: *mut aws_channel,
pub on_completion: aws_channel_on_message_write_completed_fn,
pub user_data: *mut c_void,
pub queueing_handle: aws_linked_list_node,
}
Fields
allocator: *mut aws_allocator
Allocator used for the message and message data. If this is null, the message belongs to a pool or some other message manager.
message_data: aws_byte_buf
Buffer containing the data for message
message_type: aws_io_message_type
type of the message. This is used for framework control messages. Currently the only type is AWS_IO_MESSAGE_APPLICATION_DATA
message_tag: c_int
Conveys information about the contents of message_data (e.g. cast the ptr to some type). If 0, it’s just opaque data.
copy_mark: usize
In order to avoid excess allocations/copies, on a partial read or write, the copy mark is set to indicate how much of this message has already been processed or copied.
owning_channel: *mut aws_channel
The channel that the message is bound to.
on_completion: aws_channel_on_message_write_completed_fn
Invoked by the channel once the entire message has been written to the data sink.
user_data: *mut c_void
arbitrary user data for the on_completion callback
queueing_handle: aws_linked_list_node
it’s incredibly likely something is going to need to queue this, go ahead and make sure the list info is part of the original allocation.
Trait Implementations
sourceimpl Clone for aws_io_message
impl Clone for aws_io_message
sourcefn clone(&self) -> aws_io_message
fn clone(&self) -> aws_io_message
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more