Skip to content

C++ common types

These type-safe values correspond directly to the C11 contracts.

Status

cpp
enum class corelib::Status;

Type-safe Corelib operation status.

Values: Ok, InvalidArgument, InvalidState, InvalidFrame, Unsupported, CapacityExceeded, Busy, NotFound, Expired, Reentrant.

SendResult

cpp
enum class corelib::SendResult;

Type-safe transport send result.

Values: Accepted, Busy, Failed.

Action

cpp
enum class corelib::Action;

Generic transaction action.

Values: CommonRequest, CommonPublish, CommonResponse, ShareRequest, SharePublish, ShareResponse.

Result

cpp
enum class corelib::Result;

Application transaction result.

Values: Success, Unsupported, Busy, InvalidRequest, InternalError.

SessionState

cpp
enum class corelib::SessionState;

Endpoint session state.

Values: Inactive, Active, Stale.

Diagnostic

cpp
enum class corelib::Diagnostic;

Recoverable Corelib diagnostic category.

Values: InvalidFrame, InvalidMessage, ResourceLimit, SendFailed, RequestExpired, TimeReversed.

PayloadKind

cpp
enum class corelib::PayloadKind;

Selects the application payload namespace.

Values: Common, Share.

ControlStatus

cpp
enum class corelib::ControlStatus;

Type-safe PFP control completion status.

Values: Success, Malformed, Unsupported, Conflict, DuplicateIdentity, NoRoute, HopLimit, SessionRejected, ResourceLimit.

LinkRole

cpp
enum class corelib::LinkRole;

Direction of a dedicated gateway link.

Values: Upstream, Downstream.

LinkId

cpp
using corelib::LinkId = corelib_link_id_t;

Application link identifier.

Version

cpp
using corelib::Version = corelib_version_t;

Corelib and protocol version information.

Usage

cpp
using corelib::Usage = corelib_usage_t;

Endpoint resource-usage snapshot.

Limits

cpp
using corelib::Limits = corelib_limits_t;

Endpoint fixed-capacity limits.

ByteView

cpp
using corelib::ByteView = etl::span<const uint8_t>;

Borrowed dynamically sized byte view.

FrameView

cpp
using corelib::FrameView = etl::span<const uint8_t, CORELIB_FRAME_SIZE>;

Borrowed view of one complete PFP frame.

Uuid

cpp
using corelib::Uuid = etl::array<uint8_t, 16>;

Owning 16-byte UUID value.

UuidView

cpp
using corelib::UuidView = etl::span<const uint8_t, 16>;

Borrowed 16-byte UUID view.

LinkProfileId

cpp
using corelib::LinkProfileId = corelib_link_profile_id_t;

Downstream transport profile identifier.

GatewayUsage

cpp
using corelib::GatewayUsage = corelib_gateway_usage_t;

Gateway resource-usage snapshot.

GatewayLimits

cpp
using corelib::GatewayLimits = corelib_gateway_limits_t;

Gateway fixed-capacity limits.

corelib::TransactionId

cpp
struct corelib::TransactionId;

Retainable transaction correlation identity.

Fields: token, shareId, action.

corelib::TransactionView

cpp
struct corelib::TransactionView;

Transaction callback value with borrowed application bytes.

Fields: id, data.

corelib::Config

cpp
struct corelib::Config;

High-level endpoint configuration with safe defaults.

Fields: nodeUuid, capabilities, heartbeatIntervalMs, applicationResponseTimeoutMs, maximumTransactionDataSize.

corelib::LinkConfig

cpp
struct corelib::LinkConfig;

High-level configuration for one gateway link.

Fields: id, profileId, role, transportContext, available.

corelib::GatewayConfig

cpp
struct corelib::GatewayConfig;

Gateway configuration extending local endpoint settings.

Fields: discoveryTimeoutMs, assignmentTimeoutMs, candidateRetentionTimeoutMs.

Released under the MIT Licence.