Sébastien Launay created AVRO-1214: --------------------------------------
Summary: Generated protocol's method should return void instead of Void like one-way message Key: AVRO-1214 URL: https://issues.apache.org/jira/browse/AVRO-1214 Project: Avro Issue Type: Improvement Components: java Affects Versions: 1.7.2 Reporter: Sébastien Launay Priority: Minor Using the following IDL: {noformat} @namespace("org.apache.avro.test") protocol Simple { error TestError { string message; } string hello(string greeting); void `error`() throws TestError; void ping() oneway; } {noformat} Will produce the interface: {code:java} package org.apache.avro.test; public interface Simple { public static final org.apache.avro.Protocol PROTOCOL = org.apache.avro.Protocol.parse("..."); java.lang.CharSequence hello(java.lang.CharSequence greeting) throws org.apache.avro.AvroRemoteException; java.lang.Void error() throws org.apache.avro.AvroRemoteException, org.apache.avro.test.TestError; void ping(); public interface Callback extends Simple { public static final org.apache.avro.Protocol PROTOCOL = org.apache.avro.test.Simple.PROTOCOL; void hello(java.lang.CharSequence greeting, org.apache.avro.ipc.Callback<java.lang.CharSequence> callback) throws java.io.IOException; void error(org.apache.avro.ipc.Callback<java.lang.Void> callback) throws java.io.IOException; } } {code} Then one is forced to add {{return null;}} statement(s) in the interface implementation for the {{error()}} method which can be a bit cumbersome and that's not the case for the oneway {{ping()}} method. This is fine on the Callback though because the developer can just ignore the callback argument. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira