Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
crazyfactory/kpi / src / EmitterInterface.php
Size: Mime:
<?php

namespace CrazyFactory\Kpi;

interface EmitterInterface
{
    /**
     * @param StateRetrieverInterface $stateRetriever
     *
     * @return void
     */
    public function setStateRetriever(StateRetrieverInterface $stateRetriever);

    /**
     * @param AggregatedSensorState      $result
     * @param AggregatedSensorState|null $lastResult
     * @param EmitterState|null          $lastState
     *
     * @return EmitterState|null
     */
    public function emit(
        AggregatedSensorState $result,
        AggregatedSensorState $lastResult,
        EmitterState $lastState = null
    );

    /**
     * @param EmitterState|null $lastState
     *
     * @return bool
     */
    public function shouldEmit(EmitterState $lastState = null);
}