OpenNet
SpinLock.h
Aller à la documentation de ce fichier.
1 
2 // Product OpenNet
3 
8 
9 #pragma once
10 
11 // Includes
13 
14 // ===== Includes ===========================================================
15 #include <OpenNetK/OSDep.h>
16 
17 namespace OpenNetK
18 {
19 
20  // Class
22 
36  class SpinLock
37  {
38 
39  public:
40 
50  void SetLock(void * aLock);
51 
61  void SetOSDep(OpenNetK_OSDep * aOSDep);
62 
70  void Lock();
71 
81  uint32_t LockFromThread();
82 
90  void Unlock();
91 
101  void UnlockFromThread( uint32_t aFlags );
102 
103  private:
104 
105  void * mLock ;
106  OpenNetK_OSDep * mOSDep;
107 
108  };
109 
110  // Public
112 
113  inline void SpinLock::Lock()
114  {
115  mOSDep->LockSpinlock(mLock);
116  }
117 
118  inline void SpinLock::Unlock()
119  {
120  mOSDep->UnlockSpinlock(mLock);
121  }
122 
123 }
Cette structure contient des pointeurs vers les fonctions qui dependes du systeme d'exploitation...
Definition: OSDep.h:178
OpenNetK_OSDep.
void UnlockFromThread(uint32_t aFlags)
Déverouiller.
void Unlock()
Déverouiller.
Definition: SpinLock.h:118
void SetLock(void *aLock)
Initialiser l'instance de verrou dépendant du système d'exploitation.
Interface d'un spinlock.
Definition: SpinLock.h:36
Definition: Adapter.h:26
uint32_t LockFromThread()
Verouiller.
void Lock()
Verouiller.
Definition: SpinLock.h:113
void SetOSDep(OpenNetK_OSDep *aOSDep)
Initialiser la table de fonctions dépendantes du système d'exploitation.