Class PassthroughCounter

java.lang.Object
ca.uqac.lif.cep.Processor
ca.uqac.lif.cep.SynchronousProcessor
ca.uqac.lif.cep.UniformProcessor
ca.uqac.lif.cep.diagnostics.PassthroughCounter
All Implemented Interfaces:
ca.uqac.lif.cep.Contextualizable, ca.uqac.lif.cep.Duplicable, ca.uqac.lif.cep.DuplicableProcessor

public class PassthroughCounter extends ca.uqac.lif.cep.UniformProcessor
A Passthrough processor that keeps the count of events that went through it.
Author:
Sylvain Hallé
  • Nested Class Summary

    Nested classes/interfaces inherited from class ca.uqac.lif.cep.UniformProcessor

    ca.uqac.lif.cep.UniformProcessor.UnaryPullable, ca.uqac.lif.cep.UniformProcessor.UnaryPushable

    Nested classes/interfaces inherited from class ca.uqac.lif.cep.SynchronousProcessor

    ca.uqac.lif.cep.SynchronousProcessor.InputPushable, ca.uqac.lif.cep.SynchronousProcessor.OutputPullable

    Nested classes/interfaces inherited from class ca.uqac.lif.cep.Processor

    ca.uqac.lif.cep.Processor.InternalProcessorState
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    A callback to call (if any)
    protected int
    The number of events that went through the processor
    protected int
    The interval to call the callback

    Fields inherited from class ca.uqac.lif.cep.UniformProcessor

    m_outputArray

    Fields inherited from class ca.uqac.lif.cep.SynchronousProcessor

    m_inputPushables, m_outputPullables, m_tempQueue

    Fields inherited from class ca.uqac.lif.cep.Processor

    m_context, m_hasBeenNotifiedOfEndOfTrace, m_inputArity, m_inputPullables, m_inputQueues, m_notifiedEndOfTraceDownstream, m_outputArity, m_outputPushables, m_outputQueues, MAX_PULL_RETRIES, s_versionString
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new passthrough counter
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    compute(Object[] inputs, Object[] outputs)
     
    duplicate(boolean with_state)
     
    int
    Returns the number of events that went through the processor
    void
     
    void
    setCallback(DiagnosticsCallback cb, int interval)
     

    Methods inherited from class ca.uqac.lif.cep.UniformProcessor

    compute, getPullableOutput, getPushableInput, onEndOfTrace, onEndOfTrace

    Methods inherited from class ca.uqac.lif.cep.Processor

    allNotifiedEndOfTrace, allNull, copyInputQueue, copyOutputQueue, duplicate, duplicateInto, equals, getAt, getContext, getContext, getEmptyQueue, getId, getInputArity, getInputQueue, getInputType, getInputTypesFor, getOutputArity, getOutputQueue, getOutputType, getPullableInput, getPullableOutput, getPushableInput, getPushableOutput, hashCode, leftShift, newContext, or, or, or, printState, readState, rightShift, setContext, setContext, setPullableInput, setPushableOutput, start, startAll, stop, stopAll

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • m_eventCount

      protected int m_eventCount
      The number of events that went through the processor
    • m_interval

      protected int m_interval
      The interval to call the callback
    • m_callback

      protected DiagnosticsCallback m_callback
      A callback to call (if any)
  • Constructor Details

    • PassthroughCounter

      public PassthroughCounter()
      Creates a new passthrough counter
  • Method Details

    • setCallback

      public void setCallback(DiagnosticsCallback cb, int interval)
    • getCount

      public int getCount()
      Returns the number of events that went through the processor
      Returns:
      The number of events
    • reset

      public void reset()
      Overrides:
      reset in class ca.uqac.lif.cep.Processor
    • compute

      protected boolean compute(Object[] inputs, Object[] outputs)
      Specified by:
      compute in class ca.uqac.lif.cep.UniformProcessor
    • duplicate

      public PassthroughCounter duplicate(boolean with_state)
      Specified by:
      duplicate in interface ca.uqac.lif.cep.Duplicable
      Specified by:
      duplicate in class ca.uqac.lif.cep.Processor