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.net.impl.ServerID;
import java.io.IOException;
public class HazelcastServerID extends ServerID implements DataSerializable {
public HazelcastServerID() {
}
public HazelcastServerID(ServerID serverID) {
super(serverID.port, serverID.host);
}
@Override
public void writeData(ObjectDataOutput dataOutput) throws IOException {
dataOutput.writeInt(port);
dataOutput.writeUTF(host);
}
@Override
public void readData(ObjectDataInput dataInput) throws IOException {
port = dataInput.readInt();
host = dataInput.readUTF();
}
public static <V> V convertServerID(V val) {
if (val.getClass() == ServerID.class) {
ServerID sid = (ServerID)val;
HazelcastServerID hsid = new HazelcastServerID(sid);
return (V)hsid;
} else {
return val;
}
}
}