Tài liệu

API Abstractions

Thời gian đọc 2 phút Gói: Nalix.Abstractions
Trên trang này

Nalix.Abstractions định nghĩa các interface, attribute, kiểu giá trị và enumeration Level 0 dùng chung cho toàn bộ stack Nalix (Nalix.Environment, Nalix.Codec, Nalix.Framework, Nalix.Runtime, Nalix.Network, Nalix.SDK và Nalix.Hosting).

Hợp đồng cốt lõi

  • Hợp đồng gói tin — IPacket, IPacketContext<TPacket>, IPacketSender, IPacketStaticOpcode, IPacketDeserializer<TPacket> và PacketHeader.
  • Thuộc tính gói tin — [PacketHandler], [PacketOpcode], [PacketPermission], [PacketEncryption], [PacketRateLimit], [PacketTimeout], [PacketTransport] và [PacketIdempotent].
  • Metadata gói tin — PacketMetadata được biên dịch bởi PacketHandlerGenerator.
  • Hợp đồng kết nối — IConnection, IConnectionHub, IProtocol, IListener, IFrameProcessor, IOpCodeExtractor và ITransportSequencer.
  • Hợp đồng phiên — ISessionService, ISessionFactory, ISessionStore, ISessionPersistencePolicy, SessionEntry, SessionSnapshot và SessionScope.
  • Hợp đồng đồng thời — ITaskManager, IWorker, WorkerAttribute, IWorkerHandle, IWorkerContext, IRecurringHandle, IWorkerOptions và IRecurringOptions.

Kiểu nguyên thủy & enumeration

  • Kiểu điều khiển — ControlType, các opcode tín hiệu cấp hệ thống (PING, PONG, DISCONNECT, POW_REQUEST, SESSION_REKEY, v.v.).
  • Các enumeration dùng chung — Tham chiếu đầy đủ cho ProtocolOpCode, PacketFlags, PacketPriority, PermissionLevel, PermissionEvaluation, CipherSuiteType, NetworkTransport, TransportFraming, DropPolicy, MiddlewareStage, SnowflakeType, ProtocolReason và ProtocolAdvice.
  • Thuộc tính tuần tự hóa — [Packet], [GenerateFormatter], [SerializePackable], [SerializeOrder], [SerializeIgnore], [SerializeHeader], [SerializeDynamicSize], IFixedSizeSerializable và SerializerBounds.

Xác thực & Dependency Injection

  • Thuộc tính xác thực — Thuộc tính xác thực cấu hình an toàn với AOT ([ValueRange], [DurationRange], [Required], [Length], [AllowedEnum], IValidatableConfiguration) và ValidationException.
  • Thuộc tính injection — Hợp đồng DI lúc biên dịch ([Injectable], [Inject], [FromScope] và IPacketScope) được InstanceGenerator và PacketHandlerGenerator sử dụng.