class RxQueue
Defined at line 24 of file ../../src/connectivity/network/drivers/network-device/device/rx_queue.h
Public Members
static const uint64_t kTriggerRxKey
static const uint64_t kSessionSwitchKey
static const uint64_t kFifoWatchKey
static const uint64_t kQuitWatchKey
Public Methods
zx::result<std::unique_ptr<RxQueue>> Create (DeviceInterface * parent)
Defined at line 27 of file ../../src/connectivity/network/drivers/network-device/device/rx_queue.cc
void ~RxQueue ()
Defined at line 20 of file ../../src/connectivity/network/drivers/network-device/device/rx_queue.cc
void AssertParentRxLocked (DeviceInterface & parent)
Helper function with TA annotations that bridges the gap between parent's locks and local
locking requirements; TA is not otherwise able to tell that the |parent| and |parent_| are the
same entity.
Defined at line 37 of file ../../src/connectivity/network/drivers/network-device/device/rx_queue.h
void Reclaim ()
Reclaims all buffers currently held by the device.
void PurgeSession ()
Drops all queued buffers attributed to the given session, and marks the session as rx-disabled.
Called by the DeviceInterface parent when the session is marked as dead.
Defined at line 148 of file ../../src/connectivity/network/drivers/network-device/device/rx_queue.cc
void CompleteRxList (const fidl::VectorView< ::fuchsia_hardware_network_driver::wire::RxBuffer> & rx_buffer_list)
Returns rx buffers to their respective sessions.
Defined at line 209 of file ../../src/connectivity/network/drivers/network-device/device/rx_queue.cc
void TriggerSessionChanged ()
Notifies watcher thread that the session changed.
Defined at line 116 of file ../../src/connectivity/network/drivers/network-device/device/rx_queue.cc
void TriggerRxWatch ()
Poke watcher thread to try to fetch more rx descriptors.
Defined at line 101 of file ../../src/connectivity/network/drivers/network-device/device/rx_queue.cc
void JoinThread ()
Kills and joins the watcher thread.
Defined at line 130 of file ../../src/connectivity/network/drivers/network-device/device/rx_queue.cc
void MaybeDelegateRxLease ()
Helper function to verify if a pending rx lease can be delegated to the
session.
void SetSession (Session * session)
Defined at line 61 of file ../../src/connectivity/network/drivers/network-device/device/rx_queue.h
uint64_t rx_completed_frame_index ()
Defined at line 62 of file ../../src/connectivity/network/drivers/network-device/device/rx_queue.h