All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.scalecube.cluster.metadata.GetMetadataRequest Maven / Gradle / Ivy

There is a newer version: 2.7.0.RC1
Show newest version
package io.scalecube.cluster.metadata;

import io.scalecube.cluster.Member;
import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.util.Objects;
import java.util.StringJoiner;

/** DTO class. Stands for remote request on getting metadata in remote MetadataStore. */
final class GetMetadataRequest implements Externalizable {

  private static final long serialVersionUID = 1L;

  /** Target member. */
  private Member member;

  public GetMetadataRequest() {}

  GetMetadataRequest(Member member) {
    this.member = Objects.requireNonNull(member);
  }

  public Member getMember() {
    return member;
  }

  @Override
  public void writeExternal(ObjectOutput out) throws IOException {
    // member
    out.writeObject(member);
  }

  @Override
  public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
    // member
    member = (Member) in.readObject();
  }

  @Override
  public String toString() {
    return new StringJoiner(", ", GetMetadataRequest.class.getSimpleName() + "[", "]")
        .add("member=" + member)
        .toString();
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy