Trait

agora.api.exchange.dsl

JobSyntax

Related Doc: package dsl

Permalink

trait JobSyntax extends StrictLogging

Exposes 'enqueue' and 'enqueueList' as a means to submit requests via an Exchange.

This is true for:

1) requests of type 'T' which have a Submitable type witness (the 'T' can produce a SubmitJob, which should be true for any T which can be converted to json)

2) there is a AsClient type witness for the request 'T', which just means something can take a request 'T' and produce a Future[Out] (for any type Out).

Linear Supertypes
StrictLogging, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JobSyntax
  2. StrictLogging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def exchange: Exchange

    Permalink
    Attributes
    protected

Concrete 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
    @HotSpotIntrinsicCandidate() @throws( ... )
  6. def enqueue[T, Out](request: T, overrideDetails: SubmissionDetails)(implicit submitable: Submitable[T], asClient: AsClient[T, Out], ec: ExecutionContext): Future[Out]

    Permalink

    Enqueues a job w/ the overriding details (instead of the ones from the submitting in scope)

    Enqueues a job w/ the overriding details (instead of the ones from the submitting in scope)

    returns

    the single result

  7. def enqueue[T, Out](request: T)(implicit submitable: Submitable[T], asClient: AsClient[T, Out], ec: ExecutionContext): Future[Out]

    Permalink

    'enqueue' is a convenience method which will then make a request against the matched worker and return that result.

    'enqueue' is a convenience method which will then make a request against the matched worker and return that result.

    Note: It is assumed that the 'enqueue' is used against a job w/ SubmissionDetails which specify only a single worker is chosen. If a mode is provided which returns multiple workers, then 'enqueueAll' is your darling.

    Out

    the result type of the AsClient

    returns

    the result from the single asClient worker

  8. def enqueueAll[T, Out](request: T)(implicit submitable: Submitable[T], asClient: AsClient[T, Out], ec: ExecutionContext): Future[List[Future[Out]]]

    Permalink

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

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

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

    Out

    the response of the AsClient 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

  9. def enqueueJob[T, Out](value: T, job: SubmitJob)(implicit asClient: AsClient[T, Out], ec: ExecutionContext): Future[List[Future[Out]]]

    Permalink

    eventually we'll get a collection of all the response futures (hence Future[List[Future]])

    eventually we'll get a collection of all the response futures (hence Future[List[Future]])

    returns

    an eventual collection of all the response futures

  10. def enqueueSingleJob[T, Out](request: T, job: SubmitJob)(implicit asClient: AsClient[T, Out], ec: ExecutionContext): Future[Out]

    Permalink

    Syntax for submitting a job which will either return the first completed or

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. val logger: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    StrictLogging
  17. final def ne(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  20. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

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

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from StrictLogging

Inherited from AnyRef

Inherited from Any

Ungrouped