// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef NET_WEBSOCKETS_WEBSOCKET_MUX_H_ #define NET_WEBSOCKETS_WEBSOCKET_MUX_H_ namespace net { // Reason codes used by the mux extension. enum WebSocketMuxError { // Codes starting with 2000 apply to the physical connection. They are used // for dropping the control channel. kWebSocketMuxErrorPhysicalConnectionFailed = 2000, kWebSocketMuxErrorInvalidEncapsulatingMessage = 2001, kWebSocketMuxErrorChannelIdTruncated = 2002, kWebSocketMuxErrorEncapsulatedFrameIsTruncated = 2003, kWebSocketMuxErrorUnknownMuxOpcode = 2004, kWebSocketMuxErrorInvalidMuxControlBlock = 2005, kWebSocketMuxErrorChannelAlreadyExists = 2006, kWebSocketMuxErrorNewChannelSlotViolation = 2007, kWebSocketMuxErrorNewChannelSlotOverflow = 2008, kWebSocketMuxErrorBadRequest = 2009, kWebSocketMuxErrorUnknownRequestEncoding = 2010, kWebSocketMuxErrorBadResponse = 2011, kWebSocketMuxErrorUnknownResponseEncoding = 2012, // Codes starting with 3000 apply to the logical connection. kWebSocketMuxErrorLogicalChannelFailed = 3000, kWebSocketMuxErrorSendQuotaViolation = 3005, kWebSocketMuxErrorSendQuotaOverflow = 3006, kWebSocketMuxErrorIdleTimeout = 3007, kWebSocketMuxErrorDropChannelAck = 3008, kWebSocketMuxErrorBadFragmentation = 3009, }; } // namespace net #endif // NET_WEBSOCKETS_WEBSOCKET_MUX_H_