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 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

    Utilities to integrate streambed identity with Akka HTTP identity such that we can support authentication and authorization via OAuth tokens.

    Utilities to integrate streambed identity with Akka HTTP identity such that we can support authentication and authorization via OAuth tokens. A Java example of an Akka HTTP route that verifies a token, and returning the corresponding com.cisco.streambed.identity.Principal given a valid one.

    pathPrefix("api", () ->
            authenticateOAuth2Async("secured api", identityService::verifier, principal -> route(...
    Definition Classes
    http
  • ActorPrincipalProxy
  • UserIdentityService

class ActorPrincipalProxy extends Actor with Stash with Timers

Manages short-lived ActorPrincipal instances, acting as a proxy between call site and the actual principal. When an ActorPrincipal has shutdown due to its TTL elapsing, the proxy can still reply to any requests with a Principal.Unauthenticated.

Linear Supertypes
Timers, Stash, RequiresMessageQueue[DequeBasedMessageQueueSemantics], UnrestrictedStash, StashSupport, Actor, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ActorPrincipalProxy
  2. Timers
  3. Stash
  4. RequiresMessageQueue
  5. UnrestrictedStash
  6. StashSupport
  7. Actor
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ActorPrincipalProxy(applicationPrincipal: Principal, applicationSecret: () => Future[Array[Byte]], authenticate: Authenticate, authenticateCacheSize: Int, authenticateTimeout: FiniteDuration, authenticateFailureTtl: FiniteDuration, currentTimeMillis: () => Long, getAuthenticatedSecret: GetAuthenticatedSecret, getAuthenticatedSecretCacheSize: Int, getAuthenticatedSecretTimeout: FiniteDuration, getAuthenticatedSecretFailureTtl: FiniteDuration, invalidateAuthenticatedSecretTimeout: FiniteDuration, principalIdleTimeout: FiniteDuration, putAuthenticatedSecret: PutAuthenticatedSecret, putAuthenticatedSecretTimeout: FiniteDuration, removeAuthenticatedSecret: RemoveAuthenticatedSecret, removeAuthenticatedSecretTimeout: FiniteDuration)

Type Members

  1. type Receive = PartialFunction[Any, Unit]
    Definition Classes
    Actor

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. def aroundPostRestart(reason: Throwable): Unit
    Attributes
    protected[akka]
    Definition Classes
    Actor
    Annotations
    @InternalApi()
  5. def aroundPostStop(): Unit
    Attributes
    protected[akka]
    Definition Classes
    Timers → Actor
  6. def aroundPreRestart(reason: Throwable, message: Option[Any]): Unit
    Attributes
    protected[akka]
    Definition Classes
    Timers → Actor
  7. def aroundPreStart(): Unit
    Attributes
    protected[akka]
    Definition Classes
    Actor
    Annotations
    @InternalApi()
  8. def aroundReceive(receive: akka.actor.Actor.Receive, msg: Any): Unit
    Attributes
    protected[akka]
    Definition Classes
    Timers → Actor
  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  11. implicit val context: ActorContext
    Definition Classes
    Actor
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  15. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. def postRestart(reason: Throwable): Unit
    Definition Classes
    Actor
    Annotations
    @throws(classOf[java.lang.Exception])
  22. def postStop(): Unit
    Definition Classes
    UnrestrictedStash → Actor
    Annotations
    @throws(classOf[java.lang.Exception])
  23. def preRestart(reason: Throwable, message: Option[Any]): Unit
    Definition Classes
    UnrestrictedStash → Actor
    Annotations
    @throws(classOf[java.lang.Exception])
  24. def preStart(): Unit
    Definition Classes
    Actor
    Annotations
    @throws(classOf[java.lang.Exception])
  25. def receive: Receive
    Definition Classes
    ActorPrincipalProxy → Actor
  26. implicit final val self: ActorRef
    Definition Classes
    Actor
  27. final def sender(): ActorRef
    Definition Classes
    Actor
  28. def stash(): Unit
    Definition Classes
    StashSupport
  29. def supervisorStrategy: SupervisorStrategy
    Definition Classes
    Actor
  30. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  31. final def timers: TimerScheduler
    Definition Classes
    Timers
  32. def toString(): String
    Definition Classes
    AnyRef → Any
  33. def unhandled(message: Any): Unit
    Definition Classes
    Actor
  34. def unstashAll(): Unit
    Definition Classes
    StashSupport
  35. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  36. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  37. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Timers

Inherited from Stash

Inherited from RequiresMessageQueue[DequeBasedMessageQueueSemantics]

Inherited from UnrestrictedStash

Inherited from StashSupport

Inherited from Actor

Inherited from AnyRef

Inherited from Any

Ungrouped