EntropyEngine::Networking::SharedMemory::DiscoveryControlBlock
EntropyEngine::Networking::SharedMemory::DiscoveryControlBlock
Section titled “EntropyEngine::Networking::SharedMemory::DiscoveryControlBlock”Control block for the discovery/handshake region. More…
#include <SharedMemoryPlatform.h>
Public Functions
Section titled “Public Functions”| Name | |
|---|---|
| bool | validate() const Validate discovery block. |
| void | initializeServer() Initialize discovery block for server. |
Public Attributes
Section titled “Public Attributes”| Name | |
|---|---|
| uint32_t | version Must be SHM_VERSION. |
| std::atomic< uint32_t > | serverResponded Server has assigned a region. |
| std::atomic< uint32_t > | serverListening Server is ready for connections. |
| uint32_t | reserved Reserved for alignment. |
| uint32_t | magic Must be SHM_MAGIC. |
| std::atomic< uint32_t > | connectionCounter Monotonic counter for region names. |
| std::atomic< uint32_t > | clientWaiting Client is waiting for assignment. |
| std::atomic< uint32_t > | clientAcknowledged Client has opened assigned region. |
| uint64_t | assignedToken Validation token for assigned region. |
| char[MAX_REGION_NAME_LENGTH] | assignedRegionName Assigned region name (written by server after clientWaiting=1). |
Detailed Description
Section titled “Detailed Description”struct EntropyEngine::Networking::SharedMemory::DiscoveryControlBlock;Control block for the discovery/handshake region.
Server creates a discovery region that clients use to initiate connections. The handshake flow:
- Server creates discovery region with baseName_discovery
- Client opens discovery region, sets clientWaiting=1
- Server detects waiting client, creates per-connection region
- Server writes region name to assignedRegionName, sets serverResponded=1
- Client reads assignedRegionName, opens that region
- Client sets clientAcknowledged=1, both proceed with ring buffer protocol
Public Functions Documentation
Section titled “Public Functions Documentation”function validate
Section titled “function validate”inline bool validate() constValidate discovery block.
Return: true if magic and version are valid
function initializeServer
Section titled “function initializeServer”inline void initializeServer()Initialize discovery block for server.
Public Attributes Documentation
Section titled “Public Attributes Documentation”variable version
Section titled “variable version”uint32_t version;Must be SHM_VERSION.
variable serverResponded
Section titled “variable serverResponded”std::atomic< uint32_t > serverResponded;Server has assigned a region.
variable serverListening
Section titled “variable serverListening”std::atomic< uint32_t > serverListening;Server is ready for connections.
variable reserved
Section titled “variable reserved”uint32_t reserved;Reserved for alignment.
variable magic
Section titled “variable magic”uint32_t magic;Must be SHM_MAGIC.
variable connectionCounter
Section titled “variable connectionCounter”std::atomic< uint32_t > connectionCounter;Monotonic counter for region names.
variable clientWaiting
Section titled “variable clientWaiting”std::atomic< uint32_t > clientWaiting;Client is waiting for assignment.
variable clientAcknowledged
Section titled “variable clientAcknowledged”std::atomic< uint32_t > clientAcknowledged;Client has opened assigned region.
variable assignedToken
Section titled “variable assignedToken”uint64_t assignedToken;Validation token for assigned region.
variable assignedRegionName
Section titled “variable assignedRegionName”char[MAX_REGION_NAME_LENGTH] assignedRegionName;Assigned region name (written by server after clientWaiting=1).
Updated on 2026-01-26 at 17:14:35 -0500