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.