private static State getNextState()

in src/main/java/com/twitter/http2/HttpFrameDecoder.java [485:524]


    private static State getNextState(int length, int type) {
        switch (type) {
        case HTTP_DATA_FRAME:
            return State.READ_DATA_FRAME;

        case HTTP_HEADERS_FRAME:
            return State.READ_HEADERS_FRAME;

        case HTTP_PRIORITY_FRAME:
            return State.READ_PRIORITY_FRAME;

        case HTTP_RST_STREAM_FRAME:
            return State.READ_RST_STREAM_FRAME;

        case HTTP_SETTINGS_FRAME:
            return State.READ_SETTINGS_FRAME;

        case HTTP_PUSH_PROMISE_FRAME:
            return State.READ_PUSH_PROMISE_FRAME;

        case HTTP_PING_FRAME:
            return State.READ_PING_FRAME;

        case HTTP_GOAWAY_FRAME:
            return State.READ_GOAWAY_FRAME;

        case HTTP_WINDOW_UPDATE_FRAME:
            return State.READ_WINDOW_UPDATE_FRAME;

        case HTTP_CONTINUATION_FRAME:
            throw new Error("Shouldn't reach here.");

        default:
            if (length != 0) {
                return State.SKIP_FRAME_PADDING;
            } else {
                return State.READ_FRAME_HEADER;
            }
        }
    }