UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::ParkingLot::Private::FBucket Class Referencefinal

Public Member Functions

TDynamicUniqueLock< FWordMutexLockDynamic ()
 
void Lock ()
 
void Unlock ()
 
bool IsEmpty () const
 
void Enqueue (FThread *Thread)
 
FThreadDequeue ()
 
template<typename VisitorType >
void DequeueIf (VisitorType &&Visitor)
 
 FBucket ()=default
 
 ~FBucket ()=default
 

Detailed Description

A bucket in the hash table keyed by memory address.

Buckets must be locked to access the list of waiting threads. Buckets are aligned to a cache line to reduce false sharing.

Constructor & Destructor Documentation

◆ FBucket()

UE::ParkingLot::Private::FBucket::FBucket ( )
default

◆ ~FBucket()

UE::ParkingLot::Private::FBucket::~FBucket ( )
default

Member Function Documentation

◆ Dequeue()

FThread * UE::ParkingLot::Private::FBucket::Dequeue ( )

◆ DequeueIf()

template<typename VisitorType >
void UE::ParkingLot::Private::FBucket::DequeueIf ( VisitorType &&  Visitor)

Dequeues threads based on a visitor.

Visitor signature is EQueueAction (FThread&). Visitor is called for every thread in the bucket, from head to tail. Threads are dequeued if the returned action contains Remove. Visiting stops if the returned action contains Stop.

◆ Enqueue()

void UE::ParkingLot::Private::FBucket::Enqueue ( FThread Thread)

◆ IsEmpty()

bool UE::ParkingLot::Private::FBucket::IsEmpty ( ) const
inline

◆ Lock()

void UE::ParkingLot::Private::FBucket::Lock ( )
inline

◆ LockDynamic()

TDynamicUniqueLock< FWordMutex > UE::ParkingLot::Private::FBucket::LockDynamic ( )
inline

◆ Unlock()

void UE::ParkingLot::Private::FBucket::Unlock ( )
inline

The documentation for this class was generated from the following file: