Trait/Object

agora.rest.exchange

RoutingClient

Related Docs: object RoutingClient | package exchange

Permalink

trait RoutingClient extends AnyRef

Encapsulate the exchange client workflow of: 1) submit a request to the exchange 2) have a response telling it where it should go 3) submitting a request to that redirected location 4) returning 'CompletedWork', which contains the worker(s) and their responses

Self Type
ExchangeClient
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RoutingClient
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type WorkerCallback = (WorkerClient, WorkerDetails)

    Permalink
  2. type WorkerResponses = Future[CompletedWork]

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def enqueue(submit: SubmitJob): ExchangeClient.WorkerResponses

    Permalink

    Similar to 'submit', but returns the result from the worker.

    Similar to 'submit', but returns the result from the worker.

    This assumes the job submitted to the exchange can be sent verbatim to the worker.

    The workflow is:

    1) submit to exchange, awaiting a match 2) on (redirect) response (when a worker is eventually assigned), submit the work to the matched worked 3) return the response from the worker ... which could be *anything*

    submit

    the job submission

    returns

    the worker response

  7. def enqueueAndDispatch(submit: SubmitJob)(sendToWorker: (WorkerClient) ⇒ Future[HttpResponse]): (JobResponse, ExchangeClient.WorkerResponses)

    Permalink

    Submit the job, then on the (expected) redirect response, route the work to the given worker using the 'sendToWorker'

    Submit the job, then on the (expected) redirect response, route the work to the given worker using the 'sendToWorker'

    submit

    the job to submit

    sendToWorker

    the function used to send work to the worker (which may or may not have been the same request)

    returns

    both the original work submission response and the response from the worker

  8. def enqueueAs[T](submit: SubmitJob)(implicit arg0: FromResponseUnmarshaller[T]): Future[T]

    Permalink

    Convenience method for enqueueing the request, awaiting for a single worker and then returning the unmarshalled response

    Convenience method for enqueueing the request, awaiting for a single worker and then returning the unmarshalled response

    T

    the response type

    submit

    the job to submit

    returns

    the single unmarshalled response

  9. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  14. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  16. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  17. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. def onSubmitResponse(resp: BlockingSubmitJobResponse)(sendToWorker: (WorkerClient) ⇒ Future[HttpResponse]): ExchangeClient.WorkerResponses

    Permalink
    Attributes
    protected
  19. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  20. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped