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 testkit

    Various utilities to support streambed based tests

    Various utilities to support streambed based tests

    Definition Classes
    streambed
  • package storage
    Definition Classes
    testkit
  • InMemoryRawStorage
  • NumberTestState
  • RawStorageTestSuite
  • StorageOps
  • StringTestState

class InMemoryRawStorage extends RawStorage

Provides a RawStorage implementation that stores all state in memory.

The primary use-case is to allow the use of Storage in tests.

Note: This class is duplicated and should be changed in both places:

streambed-core/src/test/scala/com/cisco/streambed/storage/InMemoryRawStorage.scala streambed-testkit/src/main/scala/com/cisco/streambed/testkit/storage/InMemoryRawStorage.scala

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

Instance Constructors

  1. new InMemoryRawStorage()(implicit system: ActorSystem)

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 clean(key: String, id: UUID): Future[Done]

    Removes any data for the given key and id.

    Removes any data for the given key and id.

    This operation must eventually succeed or fail.

    Attributes
    protected
    Definition Classes
    InMemoryRawStorageRawStorage
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. def load[A](stateCodec: StateCodec[A], namespace: String, id: UUID): Future[Option[A]]

    Load a stored object of a specified type given its id.

    Load a stored object of a specified type given its id.

    Definition Classes
    RawStorage
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. def remove[A](stateCodec: StateCodec[A], namespace: String, id: UUID): Future[Done]

    Remove a stored object of a specified type given its id.

    Remove a stored object of a specified type given its id. This simply defers to the defined clean method.

    Definition Classes
    RawStorage
  18. def save[A](stateCodec: StateCodec[A], namespace: String, id: UUID, instance: A): Future[Done]

    Save a stored object of a specified type given its id and value.

    Save a stored object of a specified type given its id and value.

    Definition Classes
    RawStorage
  19. def sink(key: String, id: UUID): Sink[ByteString, Future[Done]]

    Provides a sink that ByteString instances can be sent to.

    Provides a sink that ByteString instances can be sent to. This stored data should be retrievable using source with the same key and id.

    Implementations do not need to be concerned about concurrency.

    This operation must eventually succeed or fail.

    Attributes
    protected
    Definition Classes
    InMemoryRawStorageRawStorage
  20. def source(key: String, id: UUID): Future[Option[Source[ByteString, NotUsed]]]

    Provides a Source of ByteString for the given key and id, or None if the given key/id hasn't been stored before.

    Provides a Source of ByteString for the given key and id, or None if the given key/id hasn't been stored before.

    Implementations do not need to be concerned about concurrency.

    This operation must eventually succeed or fail.

    Attributes
    protected
    Definition Classes
    InMemoryRawStorageRawStorage
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from RawStorage

Inherited from AnyRef

Inherited from Any

Ungrouped