Class SamplingEventTransformer<K,V>

All Implemented Interfaces:
ExternalizableLite, PortableObject, MapEventTransformer<K,V,V>, Serializable

public class SamplingEventTransformer<K,V> extends ExternalizableHelper implements MapEventTransformer<K,V,V>, ExternalizableLite, PortableObject
A MapEventTransformer implementation which will send at most one event per storage member per sampling interval, in order to throttle down the number of events received by the slow consumer.
Since:
12.2.1
Author:
as 2015.02.21
See Also:
  • Field Details

    • m_nSamplingInterval

      protected int m_nSamplingInterval
      The sampling interval to use.
    • m_nLastSentTime

      protected transient long m_nLastSentTime
      The last time an event was sent.
  • Constructor Details

    • SamplingEventTransformer

      public SamplingEventTransformer()
      Deserialization constructor.
    • SamplingEventTransformer

      public SamplingEventTransformer(int nSamplingInterval)
      Construct SamplingEventTransformer instance.
      Parameters:
      nSamplingInterval - the sampling interval to use
  • Method Details

    • transform

      public MapEvent<K,V> transform(MapEvent<K,V> event)
      Description copied from interface: MapEventTransformer
      Transform the specified MapEvent. The values contained by the returned MapEvent object will be the ones given (sent) to the corresponding listener.
      Specified by:
      transform in interface MapEventTransformer<K,V,V>
      Parameters:
      event - the original MapEvent object
      Returns:
      modified MapEvent object or null to discard the event
    • readExternal

      public void readExternal(DataInput in) throws IOException
      Description copied from interface: ExternalizableLite
      Restore the contents of this object by loading the object's state from the passed DataInput object.
      Specified by:
      readExternal in interface ExternalizableLite
      Parameters:
      in - the DataInput stream to read data from in order to restore the state of this object
      Throws:
      IOException - if an I/O exception occurs
    • writeExternal

      public void writeExternal(DataOutput out) throws IOException
      Description copied from interface: ExternalizableLite
      Save the contents of this object by storing the object's state into the passed DataOutput object.
      Specified by:
      writeExternal in interface ExternalizableLite
      Parameters:
      out - the DataOutput stream to write the state of this object to
      Throws:
      IOException - if an I/O exception occurs
    • readExternal

      public void readExternal(PofReader in) throws IOException
      Description copied from interface: PortableObject
      Restore the contents of a user type instance by reading its state using the specified PofReader object.
      Specified by:
      readExternal in interface PortableObject
      Parameters:
      in - the PofReader from which to read the object's state
      Throws:
      IOException - if an I/O error occurs
    • writeExternal

      public void writeExternal(PofWriter out) throws IOException
      Description copied from interface: PortableObject
      Save the contents of a POF user type instance by writing its state using the specified PofWriter object.
      Specified by:
      writeExternal in interface PortableObject
      Parameters:
      out - the PofWriter to which to write the object's state
      Throws:
      IOException - if an I/O error occurs