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 controlplane

    Generic meta data event declarations so that observations, and other things, can be made known to the system as a whole.

    Generic meta data event declarations so that observations, and other things, can be made known to the system as a whole.

    Definition Classes
    streambed
  • package crypto

    Utilities that abstract crypto functions, such as encoding/decoding given a salt.

    Utilities that abstract crypto functions, such as encoding/decoding given a salt.

    Definition Classes
    streambed
  • package durablequeue

    The com.cisco.streambed.durablequeue.DurableQueue is at the heart of streambed.

    The com.cisco.streambed.durablequeue.DurableQueue is at the heart of streambed. Streambed programs are essentially formed around the durable queue. Use a com.cisco.streambed.durablequeue.DurableQueue.Provider to declare the type of queue you require. See the package doc for Streambed's ChronicleQueue for an example.

    Definition Classes
    streambed
  • package http

    High level Akka http utilities e.g.

    High level Akka http utilities e.g. making it easier to bind and handle an HTTP port with a TLS certificate as per com.cisco.streambed.http.HttpServerConfig.

    Definition Classes
    streambed
  • package identity

    Identity management inspired by Hashicorp Vault's secret storage model.

    Identity management inspired by Hashicorp Vault's secret storage model. com.cisco.streambed.identity.Principal objects represent a entity that has attempted to authenticate. An authenticated entity yields a com.cisco.streambed.identity.Principal.AuthenticationToken by which secrets can then be requested against a com.cisco.streambed.identity.SecretStore. Secret stores can come in many forms and are selected by using a com.cisco.streambed.identity.SecretStore.Provider. See the streambed.identity.iox package for one such implementation.

    Definition Classes
    streambed
  • package lora
    Definition Classes
    streambed
  • 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 storage

    Storage provides mechanisms to persist and retrieve arbitrary data.

    Storage provides mechanisms to persist and retrieve arbitrary data. This complements com.cisco.streambed.durablequeue.DurableQueue and can be used a snapshotting mechanism, a common pattern in event sourcing and CQRS systems.

    By default, an implementation using the local filesystem is provided. E.g. see "com.cisco.streambed.storage.fs.FileSystemRawStorage" elsewhere.

    Definition Classes
    streambed
  • package telemetry

    Metrics and tracing functionality.

    Metrics and tracing functionality. Leverages the reactive-streams-telemetry project.

    Definition Classes
    streambed
  • package testkit

    Various utilities to support streambed based tests

    Various utilities to support streambed based tests

    Definition Classes
    streambed
  • Application
  • ApplicationContext
  • ApplicationProcess
  • HexString
  • LogbackConfigurator
  • UuidOps
c

com.cisco.streambed

Application

abstract class Application extends AnyRef

A Streambed application

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

Instance Constructors

  1. new Application()

Abstract Value Members

  1. abstract def acquireDurableQueue()(implicit system: ActorSystem): DurableQueue
  2. abstract def acquireRawStorage()(implicit system: ActorSystem): RawStorage
  3. abstract def acquireSecretStore()(implicit system: ActorSystem): SecretStore
  4. abstract 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

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. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. 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.

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

Inherited from AnyRef

Inherited from Any

Ungrouped