|
The Pedigree Project 0.1
|
#include <advisory-lock-table.h>
Collaboration diagram for PosixAdvisory::Table:Public Member Functions | |
| Table (Grant *current, Grant *scratch, size_t capacity) | |
| bool | conflict (const Grant &request, Grant &result) const |
| bool | query (const Grant &request, Grant &result) const |
| Result | apply (const Grant &request) |
| bool | removeOwner (uint64_t owner, uintptr_t inode=0) |
| bool | wouldDeadlock (const Grant &request, const Grant *const *waiters, size_t waiterCount) const |
| size_t | count () const |
| const Grant & | at (size_t index) const |
Private Member Functions | |
| bool | append (const Grant &grant, size_t &count) |
Private Attributes | |
| Grant * | m_Current |
| Grant * | m_Scratch |
| const size_t | m_Capacity |
| size_t | m_Count = 0 |
Caller supplies two equal-capacity buffers and serializes every operation.
Definition at line 38 of file advisory-lock-table.h.
Definition at line 58 of file advisory-lock-table.cc.
|
private |
Definition at line 93 of file advisory-lock-table.cc.
Definition at line 100 of file advisory-lock-table.cc.
|
inline |
Definition at line 49 of file advisory-lock-table.h.
Definition at line 61 of file advisory-lock-table.cc.
|
inline |
Definition at line 46 of file advisory-lock-table.h.
Definition at line 73 of file advisory-lock-table.cc.
| bool Table::removeOwner | ( | uint64_t | owner, |
| uintptr_t | inode = 0 |
||
| ) |
Definition at line 158 of file advisory-lock-table.cc.
| bool Table::wouldDeadlock | ( | const Grant & | request, |
| const Grant *const * | waiters, | ||
| size_t | waiterCount | ||
| ) | const |
Definition at line 171 of file advisory-lock-table.cc.
|
private |
Definition at line 57 of file advisory-lock-table.h.
|
private |
Definition at line 58 of file advisory-lock-table.h.
|
private |
Definition at line 55 of file advisory-lock-table.h.
|
private |
Definition at line 56 of file advisory-lock-table.h.