Skip navigation links

Oracle® Coherence Java API Reference
Release 3.7.1.0

E22843-01


com.tangosol.io
Class DecorationOnlyDeltaCompressor

java.lang.Object
  extended by com.tangosol.util.Base
      extended by com.tangosol.util.BitHelper
          extended by com.tangosol.util.ExternalizableHelper
              extended by com.tangosol.io.DecorationOnlyDeltaCompressor

All Implemented Interfaces:
DeltaCompressor

public class DecorationOnlyDeltaCompressor
extends ExternalizableHelper
implements DeltaCompressor

DecorationOnlyDeltaCompressor is a DeltaCompressor which optimizes for "decoration-only" updates. A decoration-only update is a one where the intrinsic value does not change, but the "decorations" may. An example of such an update could be generated by the ReadWriteBackingMap after successful write-behind operations to indicate that the store has been completed. Updates to the intrinsic value are not optimized/compressed at all.

While this compressor does not produce any compression/optimization in the general case, it allows for optimizing decoration changes while avoiding the need to "read" the old value when applying an actual intrinsic change. This could be used to defer/avoid unnecessary access to a potentially expensive backup map.

 DecorationOnlyBinaryDelta:
   DecorationDelta
   Value  // the new value in "whole" form (possibly decorated)
   null

 DecorationDelta:
   BIN_DECO_ONLY (decorated)    // apply the decorations to the old value
   BIN_DECO_ONLY (undecorated)  // undecorate the old value
 
Since:
Coherence 3.7.1
Author:
rhl 2011.08.09

Field Summary
protected static Binary BIN_DECO_ONLY
          A place-holder Binary value used by the compressor to indicate a decoration-only update.

 

Constructor Summary
DecorationOnlyDeltaCompressor()
           

 

Method Summary
 ReadBuffer applyDelta(ReadBuffer bufOld, ReadBuffer bufDelta)
          Apply a delta to an old value in order to create a new value.
 ReadBuffer extractDelta(ReadBuffer bufOld, ReadBuffer bufNew)
          Compare an old value to a new value and generate a delta that represents the changes that must be made to the old value in order to transform it into the new value.

 

Methods inherited from class com.tangosol.util.BitHelper
countBits, countBits, countBits, indexOfLSB, indexOfLSB, indexOfLSB, indexOfMSB, indexOfMSB, indexOfMSB, rotateLeft, rotateLeft, rotateLeft, rotateRight, rotateRight, rotateRight, toBitString, toBitString, toBitString

 

Field Detail

BIN_DECO_ONLY

protected static Binary BIN_DECO_ONLY
A place-holder Binary value used by the compressor to indicate a decoration-only update.

Constructor Detail

DecorationOnlyDeltaCompressor

public DecorationOnlyDeltaCompressor()

Method Detail

extractDelta

public ReadBuffer extractDelta(ReadBuffer bufOld,
                               ReadBuffer bufNew)
Compare an old value to a new value and generate a delta that represents the changes that must be made to the old value in order to transform it into the new value. The generated delta must be a ReadBuffer of non-zero length.

If the old value is null, the generated delta must be a "replace", meaning that applying it to any value must produce the specified new value.

Specified by:
extractDelta in interface DeltaCompressor
Parameters:
bufOld - the old value
bufNew - the new value; must not be null
Returns:
the changes that must be made to the old value in order to transform it into the new value, or null to indicate no change

applyDelta

public ReadBuffer applyDelta(ReadBuffer bufOld,
                             ReadBuffer bufDelta)
Apply a delta to an old value in order to create a new value.
Specified by:
applyDelta in interface DeltaCompressor
Parameters:
bufOld - the old value
bufDelta - the delta information returned from DeltaCompressor.extractDelta(com.tangosol.io.ReadBuffer, com.tangosol.io.ReadBuffer) to apply to the old value
Returns:
the new value

Skip navigation links

Oracle® Coherence Java API Reference
Release 3.7.1.0

E22843-01


Copyright © 2000, 2011, Oracle and/or its affiliates. All rights reserved.