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
  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 SubscriptionConfig(subscriptionConfig: Config) extends Product with Serializable

    Permalink

    A parsed work subscription

  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. case class WorkerClient(rest: RestClient, path: String, matchDetails: MatchDetails, workerDetails: WorkerDetails) extends Product with Serializable

    Permalink

    A short-lived handle to something which can send requests to a worker

    A short-lived handle to something which can send requests to a worker

    It also contains a context in which the request are sent (e.g. the match details, worker details and path)

  8. class WorkerConfig extends ServerConfig

    Permalink

Value Members

  1. object DynamicWorkerRoutes extends Serializable

    Permalink
  2. object WorkContext extends Serializable

    Permalink
  3. object WorkerClient extends FailFastCirceSupport with LazyLogging with Serializable

    Permalink
  4. object WorkerConfig

    Permalink
  5. object WorkerHttp extends CommonRequestBuilding

    Permalink
  6. package ws

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped