class TxIoBufferRing

Defined at line 150 of file ../../src/devices/misc/drivers/virtio-socket/socket.h

Public Methods

void SetHeader (uint16_t id, const virtio_vsock_hdr_t & hdr)

Defined at line 166 of file ../../src/devices/misc/drivers/virtio-socket/socket.h

void TxIoBufferRing (virtio::Device * device, uint16_t count, uint32_t buf_size)

Defined at line 694 of file ../../src/devices/misc/drivers/virtio-socket/socket.cc

void * AllocInPlace (uint16_t * id)

Allocates a descriptor returning a pointer to the location to fill with

data.

Defined at line 698 of file ../../src/devices/misc/drivers/virtio-socket/socket.cc

bool AllocIndirect (const ConnectionKey & key, uint16_t * id)

Allocate a descriptor chain for sending an indirect payload. The

chain should have SetIndirectPayload and SetHeader called on it

prior to being given to SubmitChain.

Defined at line 707 of file ../../src/devices/misc/drivers/virtio-socket/socket.cc

void SetIndirectPayload (uint16_t id, uintptr_t payload)

Attaches the indirect payload to the descriptor chain allocated by

AllocIndirect.

Defined at line 718 of file ../../src/devices/misc/drivers/virtio-socket/socket.cc

void SubmitChain (uint16_t id, uint32_t data_len)

Submit a chain for TX. Does not kick the ring.

Defined at line 723 of file ../../src/devices/misc/drivers/virtio-socket/socket.cc

void FreeChain (uint16_t id)

Defined at line 735 of file ../../src/devices/misc/drivers/virtio-socket/socket.cc

template <typename F>
void ProcessDescriptors (F func)

Processes the completed tx descriptors and calls the provided function

with the key and indirect payload for any indirect descriptors.

Defined at line 744 of file ../../src/devices/misc/drivers/virtio-socket/socket.cc