package io.vertx.spi.cluster.hazelcast.impl;
import com.hazelcast.nio.ObjectDataInput;
import com.hazelcast.nio.ObjectDataOutput;
import com.hazelcast.nio.serialization.DataSerializable;
import io.vertx.core.spi.cluster.RegistrationInfo;
import java.io.IOException;
import java.util.Objects;
public class HazelcastRegistrationInfo implements DataSerializable {
private RegistrationInfo registrationInfo;
public HazelcastRegistrationInfo() {
}
public HazelcastRegistrationInfo(RegistrationInfo registrationInfo) {
this.registrationInfo = Objects.requireNonNull(registrationInfo);
}
public RegistrationInfo unwrap() {
return registrationInfo;
}
@Override
public void writeData(ObjectDataOutput dataOutput) throws IOException {
dataOutput.writeUTF(registrationInfo.nodeId());
dataOutput.writeLong(registrationInfo.seq());
dataOutput.writeBoolean(registrationInfo.localOnly());
}
@Override
public void readData(ObjectDataInput dataInput) throws IOException {
registrationInfo = new RegistrationInfo(dataInput.readUTF(), dataInput.readLong(), dataInput.readBoolean());
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
HazelcastRegistrationInfo that = (HazelcastRegistrationInfo) o;
return registrationInfo.equals(that.registrationInfo);
}
@Override
public int hashCode() {
return registrationInfo.hashCode();
}
@Override
public String toString() {
return registrationInfo.toString();
}
}