ClusterState.Custom
, MetaData.Custom
, PersistentTaskParams
IndexGraveyard
, IngestMetadata
, PersistentTasksCustomMetaData
, RepositoriesMetaData
, RestoreInProgress
, ScriptMetaData
, SnapshotDeletionsInProgress
, SnapshotsInProgress
public static interface ClusterState.FeatureAware
Modifier and Type | Method | Description |
---|---|---|
default java.util.Optional<java.lang.String> |
getRequiredFeature() |
An optional feature that is required for the client to have.
|
static <T extends VersionedNamedWriteable & ClusterState.FeatureAware> |
shouldSerialize(StreamOutput out,
T custom) |
Tests whether or not the custom should be serialized.
|
default java.util.Optional<java.lang.String> getRequiredFeature()
static <T extends VersionedNamedWriteable & ClusterState.FeatureAware> boolean shouldSerialize(StreamOutput out, T custom)
That is, we only serialize customs to clients than can understand the custom based on the version of the client and the features that the client has. For transport clients we can be lenient in requiring a feature in which case we do not send the custom but for connected nodes we always require that the node has the required feature.
T
- the type of the customout
- the output streamcustom
- the custom to serialize