namespace Fleet.Core; /// /// 错误码:snake_case 字符串。框架的错误码以 fleet_ 开头,产品可以扩展自己的错误码。 /// public readonly record struct ErrorCode(string Value) { public override string ToString() => Value; } public static class FleetErrors { public static readonly ErrorCode Unauthorized = new("fleet_unauthorized"); public static readonly ErrorCode Forbidden = new("fleet_forbidden"); public static readonly ErrorCode Unsupported = new("fleet_unsupported"); /// 方法没有声明、方向不对、类型不对或角色不允许:对方违反了协议。 public static readonly ErrorCode ProtocolViolation = new("fleet_protocol_violation"); public static readonly ErrorCode InvalidParams = new("fleet_invalid_params"); public static readonly ErrorCode NotFound = new("fleet_not_found"); public static readonly ErrorCode Internal = new("fleet_internal"); public static readonly ErrorCode Timeout = new("fleet_timeout"); public static readonly ErrorCode NodeOffline = new("fleet_node_offline"); public static readonly ErrorCode NodePending = new("fleet_node_pending"); public static readonly ErrorCode NodeDisabled = new("fleet_node_disabled"); public static readonly ErrorCode NameConflict = new("fleet_name_conflict"); public static readonly ErrorCode JoinTokenInvalid = new("fleet_join_token_invalid"); public static readonly ErrorCode JoinTokenExpired = new("fleet_join_token_expired"); public static readonly ErrorCode ProofInvalid = new("fleet_proof_invalid"); public static readonly ErrorCode FrameTooLarge = new("fleet_frame_too_large"); }