Abstractions API

Read time 1 minute Package: Nalix.Abstractions
On this page

Nalix.Abstractions defines the Level 0 interfaces, attributes, value types, and enumerations shared across the entire Nalix stack (Nalix.Environment, Nalix.Codec, Nalix.Framework, Nalix.Runtime, Nalix.Network, Nalix.SDK, and Nalix.Hosting).

Core Contracts

  • Packet Contracts — IPacket, IPacketContext<TPacket>, IPacketSender, IPacketStaticOpcode, IPacketDeserializer<TPacket>, and PacketHeader.
  • Packet Attributes — [PacketHandler], [PacketOpcode], [PacketPermission], [PacketEncryption], [PacketRateLimit], [PacketTimeout], [PacketTransport], and [PacketIdempotent].
  • Packet Metadata — PacketMetadata compiled by PacketHandlerGenerator.
  • Connection Contracts — IConnection, IConnectionHub, IProtocol, IListener, IFrameProcessor, IOpCodeExtractor, and ITransportSequencer.
  • Session Contracts — ISessionService, ISessionFactory, ISessionStore, ISessionPersistencePolicy, SessionEntry, SessionSnapshot, and SessionScope.
  • Concurrency Contracts — ITaskManager, IWorker, WorkerAttribute, IWorkerHandle, IWorkerContext, IRecurringHandle, IWorkerOptions, and IRecurringOptions.

Primitives & Enumerations

  • Control Types — ControlType system-level signaling opcodes (PING, PONG, DISCONNECT, POW_REQUEST, SESSION_REKEY, etc.).
  • Common Enumerations — Complete reference for ProtocolOpCode, PacketFlags, PacketPriority, PermissionLevel, PermissionEvaluation, CipherSuiteType, NetworkTransport, TransportFraming, DropPolicy, MiddlewareStage, SnowflakeType, ProtocolReason, and ProtocolAdvice.
  • Serialization Attributes — [Packet], [GenerateFormatter], [SerializePackable], [SerializeOrder], [SerializeIgnore], [SerializeHeader], [SerializeDynamicSize], IFixedSizeSerializable, and SerializerBounds.

Validation & Dependency Injection

  • Validation Attributes — AOT-safe configuration validation attributes ([ValueRange], [DurationRange], [Required], [Length], [AllowedEnum], IValidatableConfiguration) and ValidationException.
  • Injection Attributes — Compile-time DI contracts ([Injectable], [Inject], [FromScope], and IPacketScope) used by InstanceGenerator and PacketHandlerGenerator.