public static Frame create()

in tchannel-core/src/main/java/com/uber/tchannel/frames/Frame.java [45:91]


    public static Frame create(TFrame tFrame) throws TChannelError {
        FrameType type = FrameType.fromByte(tFrame.type);
        if (type == null) {
            throw new TChannelProtocol("Cannot read the frame type");
        }

        final Frame frame;
        switch (type) {
            case CallRequest:
                frame = new CallRequestFrame(tFrame.id);
                break;
            case CallRequestContinue:
                frame = new CallRequestContinueFrame(tFrame.id);
                break;
            case CallResponse:
                frame = new CallResponseFrame(tFrame.id);
                break;
            case CallResponseContinue:
                frame = new CallResponseContinueFrame(tFrame.id);
                break;
            case Cancel:
                frame = new CancelFrame(tFrame.id);
                break;
            case Claim:
                frame = new ClaimFrame(tFrame.id);
                break;
            case Error:
                frame = new ErrorFrame(tFrame.id);
                break;
            case InitRequest:
                frame = new InitRequestFrame(tFrame.id);
                break;
            case InitResponse:
                frame = new InitResponseFrame(tFrame.id);
                break;
            case PingRequest:
                frame = new PingRequestFrame(tFrame.id);
                break;
            case PingResponse:
                frame = new PingResponseFrame(tFrame.id);
                break;
            default:
                throw new TChannelCodec(String.format("Unknown FrameType: %s", type));
        }

        return frame;
    }