ipcq 0.12.0
Loading...
Searching...
No Matches
ipcq::detail::ShmControlBlock Struct Reference

Control block residing in shared memory shared by readers and writers. More...

#include <shm.hpp>

Public Attributes

std::array< uint8_t, 7 > magic
 Magic number that identifies ipcq files.
 
uint8_t version
 IPCQ protocol version number (not IPCQ version number)
 
std::atomic< unsigned long long > range
 Range contains the compressed information about begin, end of queue.
 
size_t element_type_hash
 std::hash of element type T
 
size_t condition_type_hash
 std::hash of ConditionPolicy
 
QueueInfo queue_spec
 
std::atomic< pid_t > owner_pid
 Non-zero process id of owner if owner is available or 0 if owner gracefully destructed itself but could not free shared memory because it is still allocated by readers.
 
Parameters used by ipcq-spy
char element_type_name [config::TYPENAME_SEQ_LEN]
 
char condition_type_name [config::TYPENAME_SEQ_LEN]
 

Detailed Description

Control block residing in shared memory shared by readers and writers.

The control block only uses offsets since base address for each user is different.

Definition at line 178 of file shm.hpp.

Member Data Documentation

◆ condition_type_hash

size_t ipcq::detail::ShmControlBlock::condition_type_hash

std::hash of ConditionPolicy

Definition at line 188 of file shm.hpp.

◆ condition_type_name

char ipcq::detail::ShmControlBlock::condition_type_name[config::TYPENAME_SEQ_LEN]

Definition at line 200 of file shm.hpp.

◆ element_type_hash

size_t ipcq::detail::ShmControlBlock::element_type_hash

std::hash of element type T

Definition at line 187 of file shm.hpp.

◆ element_type_name

char ipcq::detail::ShmControlBlock::element_type_name[config::TYPENAME_SEQ_LEN]

Definition at line 199 of file shm.hpp.

◆ magic

std::array<uint8_t, 7> ipcq::detail::ShmControlBlock::magic

Magic number that identifies ipcq files.

Definition at line 180 of file shm.hpp.

◆ owner_pid

std::atomic<pid_t> ipcq::detail::ShmControlBlock::owner_pid

Non-zero process id of owner if owner is available or 0 if owner gracefully destructed itself but could not free shared memory because it is still allocated by readers.

Definition at line 195 of file shm.hpp.

◆ queue_spec

QueueInfo ipcq::detail::ShmControlBlock::queue_spec

Definition at line 189 of file shm.hpp.

◆ range

std::atomic<unsigned long long> ipcq::detail::ShmControlBlock::range

Range contains the compressed information about begin, end of queue.

Definition at line 186 of file shm.hpp.

◆ version

uint8_t ipcq::detail::ShmControlBlock::version

IPCQ protocol version number (not IPCQ version number)

Definition at line 182 of file shm.hpp.


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