netty5/codec-http2/src/main/java/io/netty/handler/codec/http2/Http2Error.java

66 lines
1.8 KiB
Java

/*
* Copyright 2014 The Netty Project
*
* The Netty Project licenses this file to you under the Apache License, version 2.0 (the
* "License"); you may not use this file except in compliance with the License. You may obtain a
* copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
package io.netty.handler.codec.http2;
import io.netty.util.internal.UnstableApi;
/**
* All error codes identified by the HTTP/2 spec.
*/
@UnstableApi
public enum Http2Error {
NO_ERROR(0x0),
PROTOCOL_ERROR(0x1),
INTERNAL_ERROR(0x2),
FLOW_CONTROL_ERROR(0x3),
SETTINGS_TIMEOUT(0x4),
STREAM_CLOSED(0x5),
FRAME_SIZE_ERROR(0x6),
REFUSED_STREAM(0x7),
CANCEL(0x8),
COMPRESSION_ERROR(0x9),
CONNECT_ERROR(0xA),
ENHANCE_YOUR_CALM(0xB),
INADEQUATE_SECURITY(0xC),
HTTP_1_1_REQUIRED(0xD);
private final long code;
private static final Http2Error[] INT_TO_ENUM_MAP;
static {
Http2Error[] errors = Http2Error.values();
Http2Error[] map = new Http2Error[errors.length];
for (Http2Error error : errors) {
map[(int) error.code()] = error;
}
INT_TO_ENUM_MAP = map;
}
Http2Error(long code) {
this.code = code;
}
/**
* Gets the code for this error used on the wire.
*/
public long code() {
return code;
}
public static Http2Error valueOf(long value) {
return value >= INT_TO_ENUM_MAP.length || value < 0 ? null : INT_TO_ENUM_MAP[(int) value];
}
}