// 
// Decompiled by Procyon v0.6.0
// 

package io.netty.handler.codec.http3;

final class Http3ControlStreamFrameTypeValidator implements Http3FrameTypeValidator
{
    static final Http3ControlStreamFrameTypeValidator INSTANCE;
    
    private Http3ControlStreamFrameTypeValidator() {
    }
    
    @Override
    public void validate(final long type, final boolean first) throws Http3Exception {
        switch ((int)type) {
            case 0:
            case 1:
            case 5: {
                if (first) {
                    throw new Http3Exception(Http3ErrorCode.H3_MISSING_SETTINGS, "Missing settings frame.");
                }
                throw new Http3Exception(Http3ErrorCode.H3_FRAME_UNEXPECTED, "Unexpected frame type '" + type + "' received");
            }
            default: {}
        }
    }
    
    static {
        INSTANCE = new Http3ControlStreamFrameTypeValidator();
    }
}
