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 26 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 (Session & session)
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 147 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 214 of file ../../src/connectivity/network/drivers/network-device/device/rx_queue.cc
void TriggerSessionChanged ()
Notifies watcher thread that the primary session changed.
Defined at line 115 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 100 of file ../../src/connectivity/network/drivers/network-device/device/rx_queue.cc
void JoinThread ()
Kills and joins the watcher thread.
Defined at line 129 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
primary session.
uint64_t rx_completed_frame_index ()
Defined at line 61 of file ../../src/connectivity/network/drivers/network-device/device/rx_queue.h