1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef NET_WEBSOCKETS_WEBSOCKET_MUX_H_
6 #define NET_WEBSOCKETS_WEBSOCKET_MUX_H_
10 // Reason codes used by the mux extension.
11 enum WebSocketMuxError
{
12 // Codes starting with 2000 apply to the physical connection. They are used
13 // for dropping the control channel.
14 kWebSocketMuxErrorPhysicalConnectionFailed
= 2000,
15 kWebSocketMuxErrorInvalidEncapsulatingMessage
= 2001,
16 kWebSocketMuxErrorChannelIdTruncated
= 2002,
17 kWebSocketMuxErrorEncapsulatedFrameIsTruncated
= 2003,
18 kWebSocketMuxErrorUnknownMuxOpcode
= 2004,
19 kWebSocketMuxErrorInvalidMuxControlBlock
= 2005,
20 kWebSocketMuxErrorChannelAlreadyExists
= 2006,
21 kWebSocketMuxErrorNewChannelSlotViolation
= 2007,
22 kWebSocketMuxErrorNewChannelSlotOverflow
= 2008,
23 kWebSocketMuxErrorBadRequest
= 2009,
24 kWebSocketMuxErrorUnknownRequestEncoding
= 2010,
25 kWebSocketMuxErrorBadResponse
= 2011,
26 kWebSocketMuxErrorUnknownResponseEncoding
= 2012,
28 // Codes starting with 3000 apply to the logical connection.
29 kWebSocketMuxErrorLogicalChannelFailed
= 3000,
30 kWebSocketMuxErrorSendQuotaViolation
= 3005,
31 kWebSocketMuxErrorSendQuotaOverflow
= 3006,
32 kWebSocketMuxErrorIdleTimeout
= 3007,
33 kWebSocketMuxErrorDropChannelAck
= 3008,
34 kWebSocketMuxErrorBadFragmentation
= 3009,
39 #endif // NET_WEBSOCKETS_WEBSOCKET_MUX_H_