#include <SegmentHeader.h>
Collaboration diagram for Share::SegmentHeader:

Public Types | |
| typedef RelocPtr< char > | TStringZ |
| Pointer to zero-ended string. | |
Public Member Functions | |
| SegmentHeader (const char *name, size_t dataSize) | |
| void * | alloc (size_t size) throw (ShareException) |
| void | free (void *addr) throw () |
| size_t | size () |
| size_t | available () |
| void | notifyAttach () |
| void | notifyDetach () |
| int | refCount () |
| void | unlink () |
| bool | isUnlinked () |
| bool | shouldBeDestroyed () |
Static Public Member Functions | |
| static size_t | sizeNeeded (const char *name, size_t dataSize) |
Protected Attributes | |
| TSegmentAllocator | allocator_ |
| allocator | |
| TSegmentRefCounter | refCounter_ |
| reference counter | |
| TStringZ | mutexName_ |
| Pointer to mutex name (stored inside shared segment). | |
| Mutex | mutex_ |
| Mutex used to access members. | |
It takes care about allocating blocks inside shared segment and counting references to shared segment.
Definition at line 27 of file SegmentHeader.h.
| typedef RelocPtr<char> Share::SegmentHeader::TStringZ |
| Share::SegmentHeader::SegmentHeader | ( | const char * | name, | |
| size_t | dataSize | |||
| ) |
| name | Name of shared segment. | |
| dataSize | Desired size of memory for data inside shared segment. |
| static size_t Share::SegmentHeader::sizeNeeded | ( | const char * | name, | |
| size_t | dataSize | |||
| ) | [static] |
| name | Name of shared segment. | |
| dataSize | Desired size of memory for data inside shared segment. |
| void* Share::SegmentHeader::alloc | ( | size_t | size | ) | throw (ShareException) |
Allocate block of memory inside shared segment. ShareException is thrown if not success.
| size | Desired size of block to allocate. |
| ShareException | Library-specific exception derived from std::bad_alloc |
| void Share::SegmentHeader::free | ( | void * | addr | ) | throw () |
| size_t Share::SegmentHeader::size | ( | ) |
| size_t Share::SegmentHeader::available | ( | ) |
| void Share::SegmentHeader::notifyAttach | ( | ) |
Client attach notification. This increase reference count.
| void Share::SegmentHeader::notifyDetach | ( | ) |
Client detach notification. This decrease reference count.
| int Share::SegmentHeader::refCount | ( | ) |
| void Share::SegmentHeader::unlink | ( | ) |
Mark segment to be destroyed.
| bool Share::SegmentHeader::isUnlinked | ( | ) |
| bool Share::SegmentHeader::shouldBeDestroyed | ( | ) |
TSegmentAllocator Share::SegmentHeader::allocator_ [protected] |
TSegmentRefCounter Share::SegmentHeader::refCounter_ [protected] |
TStringZ Share::SegmentHeader::mutexName_ [protected] |
Pointer to mutex name (stored inside shared segment).
Definition at line 112 of file SegmentHeader.h.
Mutex Share::SegmentHeader::mutex_ [protected] |
1.5.2