@Override public void writeTo(StreamOutput out) throws IOException { clusterName.writeTo(out); out.writeLong(version); out.writeString(stateUUID); metaData.writeTo(out); routingTable.writeTo(out); nodes.writeTo(out); blocks.writeTo(out); // filter out custom states not supported by the other node int numberOfCustoms = 0; for (final ObjectCursor<Custom> cursor : customs.values()) { if (FeatureAware.shouldSerialize(out, cursor.value)) { numberOfCustoms++; } } out.writeVInt(numberOfCustoms); for (final ObjectCursor<Custom> cursor : customs.values()) { if (FeatureAware.shouldSerialize(out, cursor.value)) { out.writeNamedWriteable(cursor.value); } } }
@Override public void writeTo(StreamOutput out) throws IOException { clusterName.writeTo(out); out.writeLong(version); out.writeString(stateUUID); metaData.writeTo(out); routingTable.writeTo(out); nodes.writeTo(out); blocks.writeTo(out); out.writeVInt(customs.size()); for (ObjectObjectCursor<String, Custom> cursor : customs) { out.writeString(cursor.key); cursor.value.writeTo(out); } }
@Override public void writeTo(StreamOutput out) throws IOException { clusterName.writeTo(out); out.writeLong(version); out.writeString(stateUUID); metaData.writeTo(out); routingTable.writeTo(out); nodes.writeTo(out); blocks.writeTo(out); // filter out custom states not supported by the other node int numberOfCustoms = 0; for (final ObjectCursor<Custom> cursor : customs.values()) { if (FeatureAware.shouldSerialize(out, cursor.value)) { numberOfCustoms++; } } out.writeVInt(numberOfCustoms); for (final ObjectCursor<Custom> cursor : customs.values()) { if (FeatureAware.shouldSerialize(out, cursor.value)) { out.writeNamedWriteable(cursor.value); } } }
@Override public void writeTo(StreamOutput out) throws IOException { clusterName.writeTo(out); out.writeLong(version); out.writeString(stateUUID); metaData.writeTo(out); routingTable.writeTo(out); nodes.writeTo(out); blocks.writeTo(out); // filter out custom states not supported by the other node int numberOfCustoms = 0; for (ObjectCursor<Custom> cursor : customs.values()) { if (out.getVersion().onOrAfter(cursor.value.getMinimalSupportedVersion())) { numberOfCustoms++; } } out.writeVInt(numberOfCustoms); for (ObjectCursor<Custom> cursor : customs.values()) { if (out.getVersion().onOrAfter(cursor.value.getMinimalSupportedVersion())) { out.writeNamedWriteable(cursor.value); } } }