Protocol String Extensions
Trên trang này
Namespace: Nalix.SDK.Extensions
Assembly: Nalix.SDK
ProtocolStringExtensions cung cấp các chuỗi hiển thị ánh xạ bằng switch, không cấp phát bộ nhớ (ToDisplayString()), cho mọi giá trị enum ProtocolReason và ProtocolAdvice được mang trong các gói Directive và Control của server.
Ánh xạ mã nguồn
src/Nalix.SDK/Extensions/ProtocolStringExtensions.cssrc/Nalix.Abstractions/Networking/Protocols/ProtocolReason.cssrc/Nalix.Abstractions/Networking/Protocols/ProtocolAdvice.cssrc/Nalix.Codec/ProtocolFrames/Directive.cssrc/Nalix.Codec/ProtocolFrames/Control.cs
Chữ ký công khai
namespace Nalix.SDK.Extensions;
public static class ProtocolStringExtensions
{
public static string ToDisplayString(this ProtocolReason reason);
public static string ToDisplayString(this ProtocolAdvice advice);
}
Ánh xạ tiêu biểu
ProtocolReason.ToDisplayString()
| Nhóm enum | Giá trị tiêu biểu | Chuỗi hiển thị trả về |
|---|---|---|
| Khung & giao thức | MALFORMED_PACKET, CHECKSUM_FAILED, UNSUPPORTED_PACKET | "Malformed packet.", "Invalid checksum.", "Unsupported packet." |
| Xác thực & phiên | UNAUTHENTICATED, TOKEN_EXPIRED, TOKEN_REVOKED, ACCOUNT_LOCKED, SESSION_EXPIRED, SESSION_NOT_FOUND | "Authentication required.", "Session expired.", "Session invalid.", "Account locked.", "Session expired.", "Session not found." |
| Giới hạn tốc độ & hạn mức | RATE_LIMITED, POW_REQUIRED, CONNECTION_LIMIT | "Too many requests.", "Proof of Work required.", "Too many connections." |
| Mật mã | CRYPTO_UNSUPPORTED, DECRYPTION_FAILED, KEY_ROTATION_REQUIRED | "Unsupported cryptography.", "Decryption failed.", "Key rotation required." |
ProtocolAdvice.ToDisplayString()
Giá trị ProtocolAdvice | Chuỗi hiển thị trả về |
|---|---|
NONE | "No action required." |
RETRY | "Please try again." |
BACKOFF_RETRY | "Please wait and try again." |
DO_NOT_RETRY | "Cannot retry automatically." |
REAUTHENTICATE | "Sign in again required." |
SLOW_DOWN | "Please slow down." |
RECONNECT | "Please reconnect." |
FIX_AND_RETRY | "Fix the issue and try again." |
_ (mặc định) | "Unknown action." |
Ví dụ sử dụng
using System;
using Nalix.Codec.ProtocolFrames;
using Nalix.SDK.Extensions;
using Nalix.SDK.Transport.Extensions;
session.On<Directive>(directive =>
{
string reasonText = directive.Reason.ToDisplayString();
string adviceText = directive.Advice.ToDisplayString();
Console.WriteLine($"Server Directive [{directive.Type}]: {reasonText} {adviceText}");
});