Twitch SDK (Internal)
Public Member Functions | List of all members
ttv::IConditionMutex Class Referenceabstract

#include <mutex.h>

Inheritance diagram for ttv::IConditionMutex:
ttv::IMutex ttv::StandardConditionMutex ttv::WinConditionMutex

Public Member Functions

virtual ~IConditionMutex ()
 
virtual TTV_ErrorCode Wait ()=0
 
virtual TTV_ErrorCode WaitFor (uint64_t timeoutMilliseconds)=0
 
virtual TTV_ErrorCode Signal ()=0
 
virtual TTV_ErrorCode Broadcast ()=0
 
virtual TTV_ErrorCode Lock ()=0
 
virtual TTV_ErrorCode TryLock ()=0
 
virtual TTV_ErrorCode Unlock ()=0
 

Constructor & Destructor Documentation

◆ ~IConditionMutex()

virtual ttv::IConditionMutex::~IConditionMutex ( )
virtual

Member Function Documentation

◆ Broadcast()

virtual TTV_ErrorCode ttv::IConditionMutex::Broadcast ( )
pure virtual

◆ Lock()

virtual TTV_ErrorCode ttv::IMutex::Lock ( )
pure virtualinherited

Block/wait until the mutex is free to take, and then acquire the mutex.

Returns
  • TTV_EC_SUCCESS: Mutex has been successfully acquired.

Implemented in ttv::WinConditionMutex, ttv::StandardConditionMutex, ttv::WinMutex, and ttv::StandardMutex.

◆ Signal()

virtual TTV_ErrorCode ttv::IConditionMutex::Signal ( )
pure virtual

◆ TryLock()

virtual TTV_ErrorCode ttv::IMutex::TryLock ( )
pure virtualinherited

Attempt to acquire the mutex, without waiting for the lock to be available.

Returns
  • TTV_EC_SUCCESS: Mutex has been successfully acquired.
  • TTV_WRN_MUTEX_NOT_ACQUIRED: Lock has failed and mutex has not been acquired.

Implemented in ttv::WinConditionMutex, ttv::StandardConditionMutex, ttv::WinMutex, and ttv::StandardMutex.

◆ Unlock()

virtual TTV_ErrorCode ttv::IMutex::Unlock ( )
pure virtualinherited

Release the previously acquired mutex (through Lock()).

Returns
  • TTV_EC_SUCCESS: Mutex has been sucessfully released.

Implemented in ttv::WinConditionMutex, ttv::StandardConditionMutex, ttv::WinMutex, and ttv::StandardMutex.

◆ Wait()

virtual TTV_ErrorCode ttv::IConditionMutex::Wait ( )
pure virtual

Wait on the IConditionMutex until notified to wake up (through Signal()/Broadcast()).

Returns
  • TTV_EC_SUCCESS: Waited sucessfully on the IConditionMutex.
  • TTV_WRN_CONDITION_WAIT_FAILED: Wait was not successful.

Implemented in ttv::WinConditionMutex, and ttv::StandardConditionMutex.

◆ WaitFor()

virtual TTV_ErrorCode ttv::IConditionMutex::WaitFor ( uint64_t  timeoutMilliseconds)
pure virtual

Wait on the IConditionMutex until notified to wake up OR the timeout is reached.

Parameters
[in]timeoutMillisecondsThe timeout to wait in milliseconds.
Returns
  • TTV_EC_SUCCESS: Waited sucessfully on the IConditionMutex (and was notified through Signal()/Broadcast()).
  • TTV_WRN_WAIT_TIMEOUT: The timeout was hit while waiitng on IConditionMutex.
  • TTV_WRN_CONDITION_WAIT_FAILED: Wait was not successful.

Implemented in ttv::WinConditionMutex, and ttv::StandardConditionMutex.


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