public interface Delta
DataOutput
and DataInput
parameters.Modifier and Type | Method and Description |
---|---|
void |
fromDelta(DataInput in)
This method is invoked on an existing application object when an update is received as a delta.
|
default boolean |
getForceRecalculateSize()
By default, entry sizes are not recalculated when deltas are applied.
|
boolean |
hasDelta()
Returns true if this object has pending changes it can write out as a delta.
|
void |
toDelta(DataOutput out)
This method is invoked on an application object at the delta sender, if GemFire determines the
presence of a delta by calling
hasDelta() on the object. |
boolean hasDelta()
void toDelta(DataOutput out) throws IOException
hasDelta()
on the object. The delta is written to
the DataOutput
object provided by GemFire.
Any delta state should be reset in this method.
out
- the DataOutput
to write toIOException
- if a problem occurs while writing to out
void fromDelta(DataInput in) throws IOException, InvalidDeltaException
InvalidDeltaException
when the delta in the DataInput
cannot be applied to the object. GemFire automatically handles an InvalidDeltaException
by reattempting the update by sending the full application object.in
- the DataInput
to read fromIOException
- if a problem occurs while reading from in
InvalidDeltaException
default boolean getForceRecalculateSize()
There is a system property, gemfire.DELTAS_RECALCULATE_SIZE, which can be used to cause all deltas to trigger entry size recalculation when deltas are applied. By default, this is set to 'false' because of potential performance impacts when every delta triggers a recalculation.
To allow entry size recalculation on a per-delta basis, classes that extend the Delta interface should override this method to return 'true'. This may impact performance of specific delta types, but will not globally affect the performance of other Geode delta operations.