YACLib
C++ library for concurrent tasks execution
Loading...
Searching...
No Matches
yaclib::detail::fiber::RecursiveTimedMutex Class Reference

#include <recursive_timed_mutex.hpp>

Inheritance diagram for yaclib::detail::fiber::RecursiveTimedMutex:
[legend]
Collaboration diagram for yaclib::detail::fiber::RecursiveTimedMutex:
[legend]

Public Member Functions

template<typename Rep , typename Period >
bool try_lock_for (const std::chrono::duration< Rep, Period > &timeout_duration)
 
template<typename Clock , typename Duration >
bool try_lock_until (const std::chrono::time_point< Clock, Duration > &timeout_time)
 
- Public Member Functions inherited from yaclib::detail::fiber::RecursiveMutex
 RecursiveMutex ()=default
 
 ~RecursiveMutex () noexcept=default
 
 RecursiveMutex (const RecursiveMutex &)=delete
 
RecursiveMutexoperator= (const RecursiveMutex &)=delete
 
void lock ()
 
bool try_lock () noexcept
 
void unlock () noexcept
 
native_handle_type native_handle ()
 

Additional Inherited Members

- Public Types inherited from yaclib::detail::fiber::RecursiveMutex
using native_handle_type = void *
 
- Protected Member Functions inherited from yaclib::detail::fiber::RecursiveMutex
void LockHelper ()
 
- Protected Attributes inherited from yaclib::detail::fiber::RecursiveMutex
FiberQueue _queue
 
FiberBase::Id _owner_id {0}
 
std::uint32_t _occupied_count {0}
 

Detailed Description

Definition at line 8 of file recursive_timed_mutex.hpp.

Member Function Documentation

◆ try_lock_for()

template<typename Rep , typename Period >
bool yaclib::detail::fiber::RecursiveTimedMutex::try_lock_for ( const std::chrono::duration< Rep, Period > &  timeout_duration)
inline

Definition at line 15 of file recursive_timed_mutex.hpp.

References yaclib::MakeContract().

◆ try_lock_until()

bool yaclib::detail::fiber::RecursiveTimedMutex::try_lock_until ( const std::chrono::time_point< Clock, Duration > &  timeout_time)
inline

Definition at line 20 of file recursive_timed_mutex.hpp.

References yaclib::MakeContract().


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