/* * Copyright (C) 2012-2016 Facebook, Inc. * * Licensed 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 com.facebook.nifty.duplex; import org.apache.thrift.protocol.TProtocol; /*** * Represents a pair of protocols: one for input and one for output. */ public class TProtocolPair { private final TProtocol inputProtocol; private final TProtocol outputProtocol; protected TProtocolPair(TProtocol inputProtocol, TProtocol outputProtocol) { this.inputProtocol = inputProtocol; this.outputProtocol = outputProtocol; } public TProtocol getInputProtocol() { return inputProtocol; } public TProtocol getOutputProtocol() { return outputProtocol; } public static TProtocolPair fromSeparateProtocols(final TProtocol inputProtocol, final TProtocol outputProtocol) { return new TProtocolPair(inputProtocol, outputProtocol); } public static TProtocolPair fromSingleProtocol(final TProtocol protocol) { return new TProtocolPair(protocol, protocol); } }