#[doc(hidden)]
pub type TransmitQueue = XskRingQueue<ProducerXskRingQueueKind, FrameDescriptor>;
impl TransmitQueue
{
#[inline(always)]
pub(super) fn from_transmit_memory_map_offsets(express_data_path_socket_file_descriptor: &ExpressDataPathSocketFileDescriptor, memory_map_offsets: &xdp_mmap_offsets, transmit_ring_queue_depth: RingQueueDepth) -> Self
{
Self::from_ring_queue_offsets(express_data_path_socket_file_descriptor, memory_map_offsets.transmit_ring_offsets(), transmit_ring_queue_depth, XDP_PGOFF_TX_RING)
}
#[inline(always)]
pub(super) fn set_transmit_descriptor_from_frame(&self, transmit_queue_index: RingQueueIndex, relative_frame_index: RelativeFrameIndex, transmit_frame_descriptor_bitfield: FrameDescriptorBitfield, length_of_packet: usize)
{
let transmit_descriptor = self.transmit_descriptor(transmit_queue_index + relative_frame_index);
FrameDescriptor::write(transmit_descriptor, transmit_frame_descriptor_bitfield, length_of_packet)
}
#[inline(always)]
fn transmit_descriptor(&self, index: RingQueueEntryIndex) -> NonNull<FrameDescriptor>
{
self.ring_entry_mut(index)
}
}