nnrp-core 1.0.0-preview.4.8

Canonical NNRP wire codecs, protocol validation, state machines, and preview3 core types.
Documentation
pub mod cache;
pub mod capability;
pub mod codes;
pub mod control;
pub mod data;
pub mod enums;
pub mod error;
pub mod flow;
pub mod header;
pub mod lifecycle;
pub mod object;
pub mod operation;
pub mod recovery;
pub mod schema;
pub mod session;
pub mod version;

pub use cache::{
    validate_cache_dependencies, CacheAckMetadata, CacheAckStatus, CacheDependency,
    CacheDependencyState, CacheInvalidateMetadata, CacheInvalidateScope, CacheLease,
    CacheLeaseOwnerScope, CacheObjectId, CacheObjectKind, CachePutMetadata, CacheValidationFailure,
    CACHE_ACK_METADATA_LEN, CACHE_INVALIDATE_METADATA_LEN, CACHE_PUT_FLAGS_KNOWN_MASK,
    CACHE_PUT_METADATA_LEN,
};
pub use capability::{
    CACHE_REFERENCE, CONTROL_BUDGET_UPDATE, CONTROL_CANCEL_ABORT, CONTROL_CAPABILITY_COSTS,
    CONTROL_CREDIT_BACKPRESSURE, CONTROL_DEADLINE_EXPIRE, CONTROL_DEGRADE_PROFILE,
    CONTROL_PRIORITY_UPDATE, CONTROL_PROGRESS_PARTIAL, CONTROL_RECOVERABLE_ERROR,
    CONTROL_RESULT_DROP_REASON, CONTROL_RETRY_AFTER, CONTROL_ROUTE_EXECUTION_HINT,
    CONTROL_SUPERSEDE, CONTROL_TRACE_CONTEXT, OBJECT_COST, OBJECT_DELTA, OBJECT_LIFECYCLE,
    OBJECT_OWNERSHIP, PREVIEW4_CONTROL_CAPABILITY_TOKENS, PREVIEW4_OBJECT_CAPABILITY_TOKENS,
    PREVIEW4_TRANSPORT_NAMES, TRANSPORT_IPC, TRANSPORT_QUIC, TRANSPORT_TCP, TRANSPORT_WEBSOCKET,
};
pub use codes::{
    CACHE_ERROR_DEPENDENCY_INVALID, CACHE_ERROR_LEASE_EXPIRED, CACHE_ERROR_MISS, CACHE_ERROR_NONE,
    CACHE_ERROR_SCHEMA_MISMATCH, CACHE_ERROR_VERSION_MISMATCH, SCHEMA_ERROR_DEPENDENCY_MISSING,
    SCHEMA_ERROR_HASH_CONFLICT, SCHEMA_ERROR_INCOMPATIBLE, SCHEMA_ERROR_NONE, SCHEMA_ERROR_UNKNOWN,
    SCHEMA_ERROR_UPDATE_REJECTED, SCHEMA_ERROR_VERSION_UNKNOWN, SESSION_ERROR_AUTH_FAILED,
    SESSION_ERROR_LEASE_POLICY_REJECTED, SESSION_ERROR_LIMIT_REACHED, SESSION_ERROR_NONE,
    SESSION_ERROR_PRIORITY_REJECTED, SESSION_ERROR_PROFILE_UNSUPPORTED,
    SESSION_ERROR_RESUME_REJECTED, SESSION_ERROR_SCHEMA_UNSUPPORTED,
};
pub use control::{
    validate_close_header, validate_control_request_semantics, validate_empty_control_header,
    validate_partial_result_semantics, validate_pressure_semantics, validate_progress_semantics,
    validate_result_drop_reason_semantics, validate_scheduling_semantics,
    validate_trace_context_semantics, BudgetMetadata, CapabilityMetadata, ClientHelloMetadata,
    ControlRequestMetadata, ErrorMetadata, ErrorScope, PartialResultMetadata, PressureMetadata,
    ProgressMetadata, RecoverableErrorMetadata, ResultDropReasonMetadata, ResultHintBudgetPolicy,
    ResultHintCongestionState, ResultHintMetadata, ResultHintReason, RetryAfterMetadata,
    RouteHintMetadata, SchedulingMetadata, ServerHelloAckMetadata, SessionMigrateAckMetadata,
    SessionMigrateMetadata, SessionPatchAckMetadata, SessionPatchAckStatus, SessionPatchMetadata,
    SessionPatchRejectReason, SupersedeMetadata, TraceContextDecodeError, TraceContextIds,
    TraceContextMetadata, TransportId, TransportProbeAckMetadata, TransportProbeMetadata,
    BUDGET_FLAGS_KNOWN_MASK, BUDGET_METADATA_LEN, CAPABILITY_FLAGS_KNOWN_MASK,
    CAPABILITY_METADATA_LEN, CLIENT_HELLO_METADATA_LEN, CONTROL_REQUEST_FLAGS_KNOWN_MASK,
    CONTROL_REQUEST_FLAG_COOPERATIVE_ALLOWED, CONTROL_REQUEST_FLAG_HARD_ABORT_ALLOWED,
    CONTROL_REQUEST_METADATA_LEN, ERROR_METADATA_LEN, PARTIAL_RESULT_FLAGS_KNOWN_MASK,
    PARTIAL_RESULT_METADATA_LEN, PRESSURE_FLAGS_KNOWN_MASK, PRESSURE_METADATA_LEN,
    PROGRESS_METADATA_LEN, RECOVERABLE_ERROR_FLAGS_KNOWN_MASK, RECOVERABLE_ERROR_METADATA_LEN,
    RESULT_DROP_FLAGS_KNOWN_MASK, RESULT_DROP_REASON_DEADLINE_EXPIRED,
    RESULT_DROP_REASON_METADATA_LEN, RESULT_HINT_METADATA_LEN, RETRY_AFTER_FLAGS_KNOWN_MASK,
    RETRY_AFTER_METADATA_LEN, ROUTE_HINT_FLAGS_KNOWN_MASK, ROUTE_HINT_METADATA_LEN,
    SCHEDULING_FLAGS_KNOWN_MASK, SCHEDULING_FLAG_DISCARD_STALE, SCHEDULING_FLAG_EMIT_DROP_REASON,
    SCHEDULING_METADATA_LEN, SERVER_HELLO_ACK_FLAGS_KNOWN_MASK, SERVER_HELLO_ACK_METADATA_LEN,
    SESSION_MIGRATE_ACK_METADATA_LEN, SESSION_MIGRATE_METADATA_LEN, SESSION_PATCH_ACK_METADATA_LEN,
    SESSION_PATCH_FIELD_KNOWN_MASK, SESSION_PATCH_METADATA_LEN, SUPERSEDE_FLAGS_KNOWN_MASK,
    SUPERSEDE_METADATA_LEN, TRACE_CONTEXT_FLAGS_KNOWN_MASK, TRACE_CONTEXT_METADATA_LEN,
    TRANSPORT_PROBE_ACK_METADATA_LEN, TRANSPORT_PROBE_METADATA_LEN,
};
pub use data::{
    validate_result_drop_header, validate_submit_object_ref_mask, BodyRegionPrelude,
    FrameSubmitMetadata, InputProfile, ObjectReferenceBlock, ObjectReferenceRegion, PayloadFamily,
    PayloadKindBitmap, ResultClass, ResultPushMetadata, SubmitMode, TileIndexMode,
    TypedPayloadFrameView, TypedPayloadRegion, BODY_REGION_PRELUDE_LEN, BUDGET_POLICY_KNOWN_MASK,
    FRAME_SUBMIT_METADATA_LEN, OBJECT_REFERENCE_BLOCK_LEN, PAYLOAD_KIND_KNOWN_MASK,
    RESULT_FLAGS_KNOWN_MASK, RESULT_PUSH_METADATA_LEN, STANDARD_PROFILE_TENSOR,
    STANDARD_PROFILE_TOKEN, STANDARD_PROFILE_UNSPECIFIED, SUBMIT_OBJECT_REF_MASK_KNOWN_BITS,
};
pub use enums::{
    BackpressureLevel, CancelScope, FlowScopeKind, FlowUpdateReason, HeaderFlags, InFlightPolicy,
    MessageType, OperationState, ResultTerminalState, SessionCloseReason, SessionCloseStatus,
    SessionPriorityClass, SessionStatus,
};
pub use error::NnrpError;
pub use flow::{
    FlowUpdateMetadata, FLOW_UPDATE_FLAGS_KNOWN_MASK, FLOW_UPDATE_FLAG_BACKGROUND_ONLY,
    FLOW_UPDATE_FLAG_CREDIT_VALID, FLOW_UPDATE_FLAG_DRAIN_IN_FLIGHT_ONLY,
    FLOW_UPDATE_FLAG_RETRY_AFTER_VALID, FLOW_UPDATE_METADATA_LEN,
};
pub use header::{CommonHeader, ALPN, COMMON_HEADER_LEN, CURRENT_VERSION_MAJOR};
pub use lifecycle::{
    ConnectionLifecycle, ConnectionLifecycleState, SessionLifecycle, SessionLifecycleState,
};
pub use object::{
    CacheMissMetadata, CacheMissReason, CacheReferenceMetadata, CacheReuseScope,
    MemoryLocationHint, ObjectDeltaMetadata, ObjectDescriptorMetadata, ObjectReferenceMetadata,
    ObjectReleaseMetadata, ObjectReleaseReason, OwnershipHint, RuntimeObjectKind, RuntimeRole,
    CACHE_MISS_METADATA_LEN, CACHE_REFERENCE_FLAGS_KNOWN_MASK, CACHE_REFERENCE_METADATA_LEN,
    OBJECT_DELTA_FLAGS_KNOWN_MASK, OBJECT_DELTA_METADATA_LEN, OBJECT_DESCRIPTOR_METADATA_LEN,
    OBJECT_REFERENCE_FLAGS_KNOWN_MASK, OBJECT_REFERENCE_METADATA_LEN,
    OBJECT_RELEASE_FLAGS_KNOWN_MASK, OBJECT_RELEASE_METADATA_LEN,
};
pub use operation::{
    OperationCancelRequest, OperationDescriptor, OperationRecord, OperationRegistry,
};
pub use recovery::{
    should_replay_frame_after_migration, validate_migration_recovery,
    validate_session_recovery_ack, validate_session_recovery_request, SessionRecoveryIntent,
    SessionRecoveryOutcome, SESSION_ACK_FLAG_RESUME_ENABLED, SESSION_FLAG_ALLOW_RESUME,
};
pub use schema::{
    token_delta_schema_descriptor, validate_profile_assignment, SchemaDescriptorHeader,
    SchemaRegistry, SchemaRegistryAction, SchemaRegistryFailure, TypedPayloadDescriptor,
    DESCRIPTOR_FLAGS_KNOWN_MASK, PROFILE_TENSOR, PROFILE_TOKEN, PROFILE_UNSPECIFIED,
    SCHEMA_DESCRIPTOR_HEADER_LEN, SCHEMA_FLAGS_KNOWN_MASK, STREAM_SEMANTICS_TOKEN_DELTA,
    TOKEN_DELTA_SCHEMA_ID, TOKEN_DELTA_SCHEMA_VERSION, TYPED_PAYLOAD_DESCRIPTOR_LEN,
};
pub use session::{
    SessionCloseAckMetadata, SessionCloseMetadata, SessionOpenAckMetadata, SessionOpenMetadata,
    SESSION_CLOSE_ACK_METADATA_LEN, SESSION_CLOSE_METADATA_LEN, SESSION_OPEN_ACK_METADATA_LEN,
    SESSION_OPEN_METADATA_LEN,
};
pub use version::{ProtocolVersion, CURRENT_WIRE_FORMAT};