CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
OdApcDataReadWriteDispatcher Class Referenceabstract

#include <RxThreadPoolService.h>

Inheritance diagram for OdApcDataReadWriteDispatcher:
OdRxObject

Public Member Functions

virtual void enter ()=0
 
virtual void leave ()=0
 
virtual void lock ()=0
 
virtual void unlock ()=0
 
virtual void lockFromInside ()=0
 
virtual void unlockFromInside ()=0
 
- Public Member Functions inherited from OdRxObject
 ODRX_HEAP_OPERATORS ()
 
 OdRxObject ()
 
virtual ~OdRxObject ()
 
virtual OdRxObjectqueryX (const OdRxClass *pClass) const
 
virtual OdRxObjectx (const OdRxClass *pClass) const
 
virtual OdRxClassisA () const
 
virtual void addRef ()=0
 
virtual void release ()=0
 
virtual long numRefs () const
 
bool isKindOf (const OdRxClass *pClass) const
 
virtual OdRxObjectPtr clone () const
 
virtual void copyFrom (const OdRxObject *pSource)
 
virtual OdRx::Ordering comparedTo (const OdRxObject *pOther) const
 
virtual bool isEqualTo (const OdRxObject *pOther) const
 

Additional Inherited Members

- Static Public Member Functions inherited from OdRxObject
static OdRxObjectPtr cast (const OdRxObject *pointer)
 
static OdRxClassdesc ()
 

Detailed Description

This interface represents APC framework gateway. It provides functionality used for protecting data that usually is being accessed by many reading threads and few writing threads. It allows access to protecting data simultaneously by reading threads until no thread gains write access. Corresponding C++ library: TD_DbRoot <group OdApc_Classes>

Definition at line 211 of file RxThreadPoolService.h.

Member Function Documentation

◆ enter()

virtual void OdApcDataReadWriteDispatcher::enter ( )
pure virtual

A calling thread waits until area is unlocked and enters it to read only.

◆ leave()

virtual void OdApcDataReadWriteDispatcher::leave ( )
pure virtual

A calling thread leaves protected area.

◆ lock()

virtual void OdApcDataReadWriteDispatcher::lock ( )
pure virtual
  1. Locks the entrance.
  2. Waits until all threads exit read state.
  3. Returns.
    Remarks
    IMPORTANT: If calling thread calls enter() without leave(), it should call lockFromInside() to be not deadlocked.

◆ lockFromInside()

virtual void OdApcDataReadWriteDispatcher::lockFromInside ( )
pure virtual

Locks the entrance while being in read state.

Remarks
To unlock protected area, the calling thread may either call unlock() or unlockFromInside() to stay in read state.

◆ unlock()

virtual void OdApcDataReadWriteDispatcher::unlock ( )
pure virtual

Unlocks the entrance.

◆ unlockFromInside()

virtual void OdApcDataReadWriteDispatcher::unlockFromInside ( )
pure virtual

Unlocks the entrance while staying in read state.


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