Package

agora.rest

worker

Permalink

package worker

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

Type Members

  1. case class DynamicWorkerRoutes(exchange: Exchange, defaultSubscription: WorkSubscription, defaultInitialRequest: Int)(implicit mat: Materializer) extends Product with Serializable

    Permalink
    Annotations
    @Api() @Path()
  2. type HttpHandler = (HttpRequest) ⇒ Future[HttpResponse]

    Permalink
  3. trait RouteSubscriptionSupport extends LazyLogging

    Permalink

    The 'RouteSubscriptionSupport' exposes a directive exists to integrate existing routes with an Exchange.

    The 'RouteSubscriptionSupport' exposes a directive exists to integrate existing routes with an Exchange.

    Consider some basic route:

    post(path("foo")) { ... }

    We want to be able to integrate it with an exchange to make it a reactive, work-pulling route. We also want that to be non-intrusive. A client of our basic route shouldn't be forced to go via the Exchange to use our endpoint; it should work the same with or without the exchange.

    To accomplish this, we'll need to know: 1) The exchange from which to pull more work 2) the subscription key used to request the next work item 3) a means to identify whether the given request was made as a result of a match on the exchange (as opposed to just being hit directly) 4) to know when the response is complete

  4. case class SubscriptionGroup(subscriptions: List[WorkSubscription], initialExecutionSubscription: Int) extends Product with Serializable

    Permalink

    A subscription group represents work subscriptions which will reference each other.

  5. class WithSubscriptionWord extends AnyRef

    Permalink

    Class just to support a DSL so you can have:

    Class just to support a DSL so you can have:

    val routes : WorkerRoutes = ???
    routes.withSubscription(XYZ).addHandler( ctxt => ... )
  6. case class WorkContext[T](exchange: Exchange, routes: DynamicWorkerRoutes, subscriptionKey: Option[SubscriptionKey], subscription: WorkSubscription, requestContext: RequestContext, request: T)(implicit evidence$1: FromRequestUnmarshaller[T]) extends Product with Serializable

    Permalink

    Wraps the input to a computation, allowing the computation (mostly) to call 'request(n)' so it can request more work.

    Wraps the input to a computation, allowing the computation (mostly) to call 'request(n)' so it can request more work.

    This class is analogous to a Subscription in Reactive Streams

    T

    the request type

    exchange

    the interface to an exchange so it can request more work or even cancel the subscription or return the job

    routes

    the worker routes containing this handler

    subscription

    the details of the subscription

    requestContext

    the http request context which contains the original HttpRequest, etc

    request

    the unmarshalled handler input

  7. class WorkerConfig extends ServerConfig

    Permalink

Value Members

  1. object DynamicWorkerRoutes extends Serializable

    Permalink
  2. object SubscriptionGroup extends Serializable

    Permalink
  3. object WorkContext extends Serializable

    Permalink
  4. object WorkerConfig

    Permalink
  5. package ws

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped