Packages

  • package root
    Definition Classes
    root
  • package com
    Definition Classes
    root
  • package cisco
    Definition Classes
    com
  • package streambed

    The base package of the Streambed library.

    The base package of the Streambed library. Of note is the com.cisco.streambed.Application suite of types. These types conveniently establish a streambed environment for an application.

    Sample usage from Java:

    /**
     * Bootstraps our application and handles signals
     */
    public class MyServerEntryPoints {
        private static ApplicationProcess applicationProcess = null;
    
        public static void main(String[] args) {
            applicationProcess = new ApplicationProcess(new MyServer());
            applicationProcess.main(args);
        }
    
        public static void trap(int signal) {
          if (applicationProcess != null) {
                applicationProcess.trap(signal);
            }
        }
    }

    ...with MyServer being declared as:

    public class MyServer extends Application {
        @Override
        public void main(String[] args, ApplicationContext context) {
          ..
        }
    }

    The equivalent in Scala:

    object MyServerEntryPoints {
      private lazy val applicationProcess = ApplicationProcess(MyServer)
    
      def main(args: Array[String]): Unit =
        applicationProcess.main(args)
    
      def trap(signal: Int): Unit =
        applicationProcess.trap(signal)
    }

    ...with MyServer being declared as:

    object MyServer extends Application {
      override def main(args: Array[String], applicationContext: ApplicationContext): Unit = {
        ..
      }
    }

    The essential idea is that a regular JVM entry point (MyServerEntryPoints), establishes a com.cisco.streambed.ApplicationProcess of a class named MyServer. The trap method is used by Landlord for whenever an operating systemm signal is sent to the process. My extending com.cisco.streambed.Application, a com.cisco.streambed.ApplicationContext is provided by Streambed, containing almost all of what an application will require in order to startup (an actor system, metrics, logging...). The resources provided within the context are also automatically released on exit.

    Definition Classes
    cisco
  • package mqttgateway

    A streambed service that can be dynamically configured to publish and subscribe to sensor events and their meta data.

    A streambed service that can be dynamically configured to publish and subscribe to sensor events and their meta data. An HTTP API is provided as a control plane.

    Definition Classes
    streambed
  • package model

    The DAO model for the MQTT gateway API

    The DAO model for the MQTT gateway API

    Definition Classes
    mqttgateway
  • MqttGateway
  • MqttGatewayIoxSssEntryPoints
  • MqttGatewayVaultEntryPoints

abstract class MqttGateway extends Application

Forwards messages from our durable queue to MQTT and vice versa. The meta data describing source and target information is published as events. This meta data can describe a topic being updated or removed.

Linear Supertypes
Application, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MqttGateway
  2. Application
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new MqttGateway()

Abstract Value Members

  1. abstract def acquireDurableQueue()(implicit system: ActorSystem): DurableQueue
    Definition Classes
    Application
  2. abstract def acquireRawStorage()(implicit system: ActorSystem): RawStorage
    Definition Classes
    Application
  3. abstract def acquireSecretStore()(implicit system: ActorSystem): SecretStore
    Definition Classes
    Application

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. def main(args: Array[String], context: ApplicationContext): Unit

    The main entry point.

    The main entry point. All application's must implement this.

    args

    Command line arguments passed in from the outside

    context

    An application context of Streambed services

    Definition Classes
    MqttGatewayApplication
    Annotations
    @SuppressWarnings()
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. def trap(signal: Int): Boolean

    A receiver of Unix signals received by the application.

    A receiver of Unix signals received by the application.

    This method can be entirely overridden without having to call any super method.

    By default, SIGTERM and SIGINT are handled. Furthermore, if this method returns false for SIGTERM or SIGINT then their default handling will occur.

    The default behavior of SIGTERM and SIGINT is to invoke System.exit with an appropriate code. This will initiate Akka's CoordinatedShutdown mechanism and shutdown other services including the tracer and metrics. Please refer to the ApplicationContext to understand the scope of services that will be shutdown.

    You should should generally use Akka's shutdown mechanisms to orchestrate any required shutdown behavior i.e. CoordinatedShutdown.

    Note that this thread will NOT be called on the same thread as the main method and that you should take care to synchronize its activities.

    returns

    A boolean indicating if the signal was handled. If it was not handled, default signal handling will take effect.

    Definition Classes
    Application
  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Application

Inherited from AnyRef

Inherited from Any

Ungrouped