class IoBufferDispatcher

Defined at line 36 of file ../../zircon/kernel/object/include/object/io_buffer_dispatcher.h

Public Methods

zx_obj_type_t get_type ()

Defined at line 49 of file ../../zircon/kernel/object/include/object/io_buffer_dispatcher.h

IobEndpointId GetEndpointId ()

Defined at line 51 of file ../../zircon/kernel/object/include/object/io_buffer_dispatcher.h

zx_status_t Create (uint64_t options, const RegionArray & region_configs, KernelHandle<IoBufferDispatcher> * handle0, KernelHandle<IoBufferDispatcher> * handle1, zx_rights_t * rights)

Create a pair of IoBufferDispatchers

Defined at line 175 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

void ~IoBufferDispatcher ()

Defined at line 289 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

zx_rights_t GetMapRights (zx_rights_t iob_rights, size_t region_index)

Defined at line 240 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

zx_rights_t GetMediatedRights (size_t region_index)

Defined at line 247 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

const fbl::RefPtr<VmObject> & GetVmo (size_t region_index)

Defined at line 251 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

zx::result<fbl::RefPtr<VmObject>> CreateMappableVmoForRegion (size_t region_index)

Defined at line 366 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

zx_iob_region_t GetRegion (size_t region_index)

Defined at line 255 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

size_t RegionCount ()

Defined at line 259 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

zx_info_iob_t GetInfo ()

Defined at line 326 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

zx_iob_region_info_t GetRegionInfo (size_t index)

Defined at line 332 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

zx::result<uint32_t> AllocateId (size_t region_index, user_in_ptr<const ktl::byte> blob_ptr, size_t blob_size)

Allocates an ID out of a ZX_IOB_DISCIPLINE_ID_ALLOCATOR region.

Defined at line 397 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

zx::result<> Write (size_t region_index, user_in_iovec_t message)

Performs a mediated write to a region.

May block on page requests and must be called without locks held.

Defined at line 555 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

void on_zero_handles_locked ()

PeeredDispatcher implementation

Defined at line 265 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

void OnPeerZeroHandlesLocked ()

Defined at line 267 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

zx_status_t set_name (const char * name, size_t len)

Defined at line 342 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

zx_status_t get_name (char (&)[32] out_name)

Defined at line 337 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

void OnZeroChild ()

VmObjectChildObserver implementation

Defined at line 275 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

Protected Methods

zx::result<IobRegionVariant> CreateIobRegionVariant (fbl::RefPtr<VmObject> ep0_vmo, fbl::RefPtr<VmObject> ep1_vmo, fbl::RefPtr<VmObject> kernel_vmo, const zx_iob_region_t & region, zx_koid_t vmo_user_id, fbl::RefPtr<IoBufferSharedRegionDispatcher> shared_region)

static

Defined at line 410 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

zx::result<fbl::Array<IobRegionVariant>> CreateRegions (const IoBufferDispatcher::RegionArray & region_configs, VmObjectChildObserver * ep0, VmObjectChildObserver * ep1)

static

Defined at line 47 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

void IoBufferDispatcher (fbl::RefPtr<PeerHolder<IoBufferDispatcher>> holder, IobEndpointId endpoint_id, fbl::RefPtr<SharedIobState> shared_state)

Defined at line 231 of file ../../zircon/kernel/object/io_buffer_dispatcher.cc

Records

Friends

class IoBufferWriterDispatcher