blob: 9a4629a8f5cef12fdbd6ad97ef4a43a84d6df14a [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* https://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.
*/
/** An example protocol in Avro IDL */
@namespace("org.apache.avro.grpc.test")
protocol TestService {
enum Kind {
FOO,
BAR,
BAZ
}
fixed MD5(4);
record TestRecord {
string @order("ignore") name;
Kind @order("descending") kind;
MD5 hash;
union { MD5, null} @aliases(["hash"]) nullableHash;
array<long> arrayOfLongs;
}
error TestError {
string message;
}
TestRecord echo(TestRecord `record`);
int add(int arg1, int arg2, int arg3);
void `error`(boolean declared) throws TestError;
void ping() oneway;
union {null, string} concatenate(string val1, boolean val2, long val3, int val4);
}