[ 
https://issues.apache.org/jira/browse/TWILL-107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15478281#comment-15478281
 ] 

ASF GitHub Bot commented on TWILL-107:
--------------------------------------

Github user chtyim commented on a diff in the pull request:

    https://github.com/apache/twill/pull/10#discussion_r78250733
  
    --- Diff: 
twill-discovery-api/src/main/java/org/apache/twill/discovery/Discoverable.java 
---
    @@ -19,19 +19,67 @@
     package org.apache.twill.discovery;
     
     import java.net.InetSocketAddress;
    +import java.util.Arrays;
     
     /**
      * Discoverable defines the attributes of service to be discovered.
      */
    -public interface Discoverable {
    +public class Discoverable {
    +  private final String name;
    +  private final InetSocketAddress address;
    +  private final byte[] payload;
     
    +  public Discoverable(String name, InetSocketAddress address, byte[] 
payload) {
    +    this.name = name;
    +    this.address = address;
    +    this.payload = payload;
    +  }
       /**
        * @return Name of the service
        */
    -  String getName();
    +  public String getName() {
    +    return name;
    +  }
     
       /**
        * @return An {@link InetSocketAddress} representing the host+port of 
the service.
        */
    -  InetSocketAddress getSocketAddress();
    +  public InetSocketAddress getSocketAddress() {
    +    return address;
    +  }
    +
    +  /**
    +   * @return A payload represented as a byte array
    +   */
    +  byte[] getPayload() {
    +    return payload;
    +  }
    +
    +  @Override
    +  public String toString() {
    +    return "{name=" + name + ", address=" + address + ", payload=" + 
payload + "}";
    +  }
    +
    +  @Override
    +  public boolean equals(Object o) {
    +    if (this == o) {
    +      return true;
    +    }
    +    if (o == null || getClass() != o.getClass()) {
    +      return false;
    +    }
    +
    +    Discoverable other = (Discoverable) o;
    +
    +    return name.equals(other.getName()) && 
address.equals(other.getSocketAddress()) &&
    +      Arrays.equals(payload, other.getPayload());
    +  }
    +
    +  @Override
    +  public int hashCode() {
    +    int result = name.hashCode();
    --- End diff --
    
    Use `Objects.hash(name, address, payload)` instead.


> Support payloads for Discoverables
> ----------------------------------
>
>                 Key: TWILL-107
>                 URL: https://issues.apache.org/jira/browse/TWILL-107
>             Project: Apache Twill
>          Issue Type: Improvement
>          Components: discovery
>            Reporter: Parth Gandhi
>
> Discoverables store only a name and an InetSocketAddress. It would help 
> extensibility to allow an arbitrary payload of bytes. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to