1/* 2 * Copyright (c) Facebook, Inc. and its affiliates. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17namespace cpp2 apache.thrift.conformance 18namespace php apache_thrift 19namespace py thrift.conformance.conformance 20namespace py.asyncio thrift_asyncio.conformance.conformance 21namespace py3 thrift.conformance 22namespace java.swift org.apache.thrift.conformance 23namespace go thrift.conformance.conformance 24 25include "thrift/conformance/if/any.thrift" 26include "thrift/conformance/if/protocol.thrift" 27 28struct RoundTripRequest { 29 // The value to decode and renecode. 30 1: any.Any value; 31 32 // The protocol to use to return the value. 33 // If not specified, `value.protocol` is used. 34 2: optional protocol.ProtocolStruct targetProtocol; 35} 36 37struct RoundTripResponse { 38 1: any.Any value; 39} 40 41// The conformance test service. 42service ConformanceService { 43 // Unpacks the given value, and repacks it with the given target protocol. 44 RoundTripResponse roundTrip(1: RoundTripRequest request); 45} 46