package io.vertx.spi.cluster.ignite.impl;
import io.vertx.core.spi.cluster.RegistrationInfo;
import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.binary.BinaryReader;
import org.apache.ignite.binary.BinaryWriter;
import org.apache.ignite.binary.Binarylizable;
import java.util.Objects;
public class IgniteRegistrationInfo implements Binarylizable {
private String address;
private RegistrationInfo registrationInfo;
public IgniteRegistrationInfo() {
}
public IgniteRegistrationInfo(String address, RegistrationInfo registrationInfo) {
this.address = Objects.requireNonNull(address);
this.registrationInfo = Objects.requireNonNull(registrationInfo);
}
public String address() {
return address;
}
public RegistrationInfo registrationInfo() {
return registrationInfo;
}
@Override
public void writeBinary(BinaryWriter writer) throws BinaryObjectException {
writer.writeString("address", address);
writer.writeString("nodeId", registrationInfo.nodeId());
writer.writeLong("seq", registrationInfo.seq());
writer.writeBoolean("isLocalOnly", registrationInfo.localOnly());
}
@Override
public void readBinary(BinaryReader reader) throws BinaryObjectException {
address = reader.readString("address");
registrationInfo = new RegistrationInfo(reader.readString("nodeId"), reader.readLong("seq"), reader.readBoolean("isLocalOnly"));
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
IgniteRegistrationInfo that = (IgniteRegistrationInfo) o;
if (!address.equals(that.address)) return false;
return registrationInfo.equals(that.registrationInfo);
}
@Override
public int hashCode() {
int result = address.hashCode();
result = 31 * result + registrationInfo.hashCode();
return result;
}
}