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

Reply via email to