Skip to main content

wowlab_centrifuge/
codes.rs

1/// Codes carried by Centrifugo disconnect messages.
2pub mod disconnect {
3    /// Normal disconnect.
4    pub const NORMAL: u32 = 0;
5    /// Server shutdown.
6    pub const SHUTDOWN: u32 = 1;
7    /// Invalid connection token.
8    pub const INVALID_TOKEN: u32 = 2;
9    /// Malformed connection request.
10    pub const BAD_REQUEST: u32 = 3;
11    /// Internal server failure.
12    pub const SERVER_ERROR: u32 = 4;
13    /// Expired connection.
14    pub const EXPIRED: u32 = 5;
15    /// Expired server-side subscription.
16    pub const SUBSCRIPTION_EXPIRED: u32 = 6;
17    /// Server rate limit exceeded.
18    pub const TOO_MANY_REQUESTS: u32 = 7;
19    /// Server lacks enough state to continue the connection.
20    pub const INSUFFICIENT_STATE: u32 = 8;
21    /// Administrative forced disconnect.
22    pub const FORCE_DISCONNECT: u32 = 9;
23    /// Per-user connection limit exceeded.
24    pub const CONNECTION_LIMIT: u32 = 10;
25    /// Per-client channel limit exceeded.
26    pub const CHANNEL_LIMIT: u32 = 11;
27}
28
29/// Codes carried by Centrifugo command errors.
30pub mod error {
31    /// Internal server failure.
32    pub const INTERNAL: u32 = 100;
33    /// Missing or invalid authentication.
34    pub const UNAUTHORIZED: u32 = 101;
35    /// Unknown channel.
36    pub const UNKNOWN_CHANNEL: u32 = 102;
37    /// Insufficient permission for the operation.
38    pub const PERMISSION_DENIED: u32 = 103;
39    /// Unknown RPC method.
40    pub const METHOD_NOT_FOUND: u32 = 104;
41    /// Duplicate subscription.
42    pub const ALREADY_SUBSCRIBED: u32 = 105;
43    /// Operation-specific limit exceeded.
44    pub const LIMIT_EXCEEDED: u32 = 106;
45    /// Malformed command.
46    pub const BAD_REQUEST: u32 = 107;
47    /// Requested operation is unavailable.
48    pub const NOT_AVAILABLE: u32 = 108;
49    /// Connection or subscription token expired.
50    pub const TOKEN_EXPIRED: u32 = 109;
51    /// Requested resource expired.
52    pub const EXPIRED: u32 = 110;
53    /// Server rate limit exceeded.
54    pub const TOO_MANY_REQUESTS: u32 = 111;
55    /// Stream position is unrecoverable; client must resubscribe from scratch.
56    pub const UNRECOVERABLE_POSITION: u32 = 112;
57}
58
59/// Codes carried by server unsubscribe messages.
60pub mod unsubscribe {
61    /// Server initiated the unsubscribe operation.
62    pub const SERVER: u32 = 0;
63    /// Server lacks enough state to continue the subscription.
64    pub const INSUFFICIENT_STATE: u32 = 1;
65}
66
67/// Centrifugo application-specific WebSocket close codes.
68pub mod ws_close {
69    /// Normal Centrifugo WebSocket closure.
70    pub const NORMAL: u16 = 3000;
71    /// Malformed WebSocket request.
72    pub const BAD_REQUEST: u16 = 3501;
73}