Classes | Public Member Functions | Private Attributes | List of all members
grpc_core::MultiProducerSingleConsumerQueue Class Reference

#include <mpscq.h>

Classes

struct  Node
 

Public Member Functions

 MultiProducerSingleConsumerQueue ()
 
NodePop ()
 
NodePopAndCheckEnd (bool *empty)
 
bool Push (Node *node)
 
 ~MultiProducerSingleConsumerQueue ()
 

Private Attributes

union {
   std::atomic< Node * >   head_ {nullptr}
 
   char   padding_ [GPR_CACHELINE_SIZE]
 
}; 
 
Node stub_
 
Nodetail_
 

Detailed Description

Definition at line 35 of file mpscq.h.

Constructor & Destructor Documentation

◆ MultiProducerSingleConsumerQueue()

grpc_core::MultiProducerSingleConsumerQueue::MultiProducerSingleConsumerQueue ( )
inline

Definition at line 42 of file mpscq.h.

◆ ~MultiProducerSingleConsumerQueue()

grpc_core::MultiProducerSingleConsumerQueue::~MultiProducerSingleConsumerQueue ( )
inline

Definition at line 43 of file mpscq.h.

Member Function Documentation

◆ Pop()

MultiProducerSingleConsumerQueue::Node * grpc_core::MultiProducerSingleConsumerQueue::Pop ( )

Definition at line 37 of file mpscq.cc.

◆ PopAndCheckEnd()

MultiProducerSingleConsumerQueue::Node * grpc_core::MultiProducerSingleConsumerQueue::PopAndCheckEnd ( bool empty)

Definition at line 43 of file mpscq.cc.

◆ Push()

bool grpc_core::MultiProducerSingleConsumerQueue::Push ( Node node)

Definition at line 29 of file mpscq.cc.

Member Data Documentation

◆ @12

union { ... }

◆ head_

std::atomic<Node*> grpc_core::MultiProducerSingleConsumerQueue::head_ {nullptr}

Definition at line 65 of file mpscq.h.

◆ padding_

char grpc_core::MultiProducerSingleConsumerQueue::padding_[GPR_CACHELINE_SIZE]

Definition at line 64 of file mpscq.h.

◆ stub_

Node grpc_core::MultiProducerSingleConsumerQueue::stub_
private

Definition at line 68 of file mpscq.h.

◆ tail_

Node* grpc_core::MultiProducerSingleConsumerQueue::tail_
private

Definition at line 67 of file mpscq.h.


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


grpc
Author(s):
autogenerated on Fri May 16 2025 03:03:36