Class HttpSource

  • All Implemented Interfaces:
    ca.uqac.lif.azrael.Printable, ca.uqac.lif.azrael.Readable, ca.uqac.lif.cep.Contextualizable, ca.uqac.lif.cep.Duplicable, ca.uqac.lif.cep.DuplicableProcessor

    public class HttpSource
    extends ca.uqac.lif.cep.tmf.Sink
    HTTP server that pulls events from upstream when it receives a GET request.
    Author:
    Sylvain Hallé
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  HttpSource.ListenerCallback  
      • 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
      protected ca.uqac.lif.jerrydog.CallbackResponse.ContentType m_mimeType
      The MIME type to declare when sending an HTTP response
      protected int m_port
      The TCP port on which the gateway listens for requests
      protected ca.uqac.lif.cep.Pullable m_pullable
      A pullable to get events from
      protected ca.uqac.lif.jerrydog.Server m_server
      An internal instance of HTTP server
      protected java.lang.String m_url
      The URL on which the gateway listens for requests
      • 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_eventTracker, m_hasBeenNotifiedOfEndOfTrace, m_inputArity, m_inputCount, m_inputPullables, m_inputQueues, m_notifiedEndOfTraceDownstream, m_outputArity, m_outputCount, m_outputPushables, m_outputQueues, MAX_PULL_RETRIES, s_versionString
    • Constructor Summary

      Constructors 
      Constructor Description
      HttpSource​(java.lang.String url, int port, ca.uqac.lif.jerrydog.CallbackResponse.ContentType type)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean compute​(java.lang.Object[] inputs, java.util.Queue<java.lang.Object[]> outputs)  
      ca.uqac.lif.cep.Processor duplicate​(boolean with_state)  
      void reset()  
      void start()  
      void stop()  
      • Methods inherited from class ca.uqac.lif.cep.tmf.Sink

        pull, pullHard
      • Methods inherited from class ca.uqac.lif.cep.SynchronousProcessor

        getPullableOutput, getPushableInput, setEventTracker
      • Methods inherited from class ca.uqac.lif.cep.Processor

        allNotifiedEndOfTrace, allNull, associateTo, associateToInput, associateToOutput, copyInputQueue, copyOutputQueue, duplicate, duplicateInto, equals, getAt, getContext, getContext, getEmptyQueue, getEventTracker, getId, getInputArity, getInputCount, getInputQueue, getInputType, getInputTypesFor, getLeaves, getLeaves, getOutputArity, getOutputCount, getOutputQueue, getOutputType, getPullableInput, getPullableOutput, getPushableInput, getPushableOutput, hashCode, leftShift, newContext, onEndOfTrace, or, or, print, printState, read, readState, rightShift, setContext, setContext, setPullableInput, setPushableOutput, startAll, stopAll
      • Methods inherited from class java.lang.Object

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

      • m_port

        protected int m_port
        The TCP port on which the gateway listens for requests
      • m_server

        protected ca.uqac.lif.jerrydog.Server m_server
        An internal instance of HTTP server
      • m_url

        protected java.lang.String m_url
        The URL on which the gateway listens for requests
      • m_mimeType

        protected ca.uqac.lif.jerrydog.CallbackResponse.ContentType m_mimeType
        The MIME type to declare when sending an HTTP response
      • m_pullable

        protected ca.uqac.lif.cep.Pullable m_pullable
        A pullable to get events from
    • Constructor Detail

      • HttpSource

        public HttpSource​(java.lang.String url,
                          int port,
                          ca.uqac.lif.jerrydog.CallbackResponse.ContentType type)
    • Method Detail

      • start

        public void start()
        Overrides:
        start in class ca.uqac.lif.cep.Processor
      • stop

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

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

        protected boolean compute​(java.lang.Object[] inputs,
                                  java.util.Queue<java.lang.Object[]> outputs)
        Specified by:
        compute in class ca.uqac.lif.cep.SynchronousProcessor
      • duplicate

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