proxygen
folly::coro::Mutex::LockOperation Class Reference
Inheritance diagram for folly::coro::Mutex::LockOperation:
folly::coro::Mutex::ScopedLockOperation

Public Member Functions

bool await_ready () noexcept
 
bool await_suspend (std::experimental::coroutine_handle<> awaitingCoroutine) noexcept
 
void await_resume () noexcept
 

Protected Member Functions

 LockOperation (Mutex &mutex) noexcept
 

Protected Attributes

Mutexmutex_
 
std::experimental::coroutine_handle awaitingCoroutine_
 
LockOperationnext_
 

Friends

class Mutex
 

Detailed Description

Definition at line 154 of file Mutex.h.

Constructor & Destructor Documentation

folly::coro::Mutex::LockOperation::LockOperation ( Mutex mutex)
inlineexplicitprotectednoexcept

Definition at line 171 of file Mutex.h.

171 : mutex_(mutex) {}
std::mutex mutex

Member Function Documentation

bool folly::coro::Mutex::LockOperation::await_ready ( )
inlinenoexcept

Definition at line 156 of file Mutex.h.

References mutex_, and folly::coro::Mutex::try_lock().

156  {
157  return mutex_.try_lock();
158  }
bool try_lock() noexcept
Definition: Mutex.h:106
void folly::coro::Mutex::LockOperation::await_resume ( )
inlinenoexcept

Definition at line 166 of file Mutex.h.

166 {}
bool folly::coro::Mutex::LockOperation::await_suspend ( std::experimental::coroutine_handle<>  awaitingCoroutine)
inlinenoexcept

Definition at line 160 of file Mutex.h.

References awaitingCoroutine_, folly::coro::Mutex::lockAsyncImpl(), and mutex_.

161  {
162  awaitingCoroutine_ = awaitingCoroutine;
163  return mutex_.lockAsyncImpl(this);
164  }
bool lockAsyncImpl(LockOperation *awaiter)
std::experimental::coroutine_handle awaitingCoroutine_
Definition: Mutex.h:174

Friends And Related Function Documentation

friend class Mutex
friend

Definition at line 169 of file Mutex.h.

Member Data Documentation

std::experimental::coroutine_handle folly::coro::Mutex::LockOperation::awaitingCoroutine_
protected

Definition at line 174 of file Mutex.h.

Referenced by await_suspend().

Mutex& folly::coro::Mutex::LockOperation::mutex_
protected
LockOperation* folly::coro::Mutex::LockOperation::next_
protected

Definition at line 175 of file Mutex.h.


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