Class/Object

agora.rest.exchange

ExchangeRestClient

Related Docs: object ExchangeRestClient | package exchange

Permalink

class ExchangeRestClient extends Exchange with FailFastCirceSupport with AutoCloseable with StrictLogging

Represents a something that will request work and get a response.

A normal workflow would be to request work from an exchange, have that work eventually matched with a worker, and then receive a 307 response, telling us where to go.

We then make a request (typically the original one, but perhaps not if it was e.g. a multipart request w/ a large upload or summat) to that worker.

Linear Supertypes
AutoCloseable, FailFastCirceSupport, FailFastUnmarshaller, BaseCirceSupport, Exchange, JobSyntax, StrictLogging, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ExchangeRestClient
  2. AutoCloseable
  3. FailFastCirceSupport
  4. FailFastUnmarshaller
  5. BaseCirceSupport
  6. Exchange
  7. JobSyntax
  8. StrictLogging
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ExchangeRestClient(rest: RestClient)

    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 cancelJobs(request: CancelJobs): Future[CancelJobsResponse]

    Permalink
    Definition Classes
    ExchangeRestClient → Exchange
  6. final def cancelJobs(job: JobId, theRest: JobId*): Future[CancelJobsResponse]

    Permalink
    Definition Classes
    Exchange
  7. def cancelSubscriptions(request: CancelSubscriptions): Future[CancelSubscriptionsResponse]

    Permalink
    Definition Classes
    ExchangeRestClient → Exchange
  8. final def cancelSubscriptions(id: SubscriptionKey, theRest: SubscriptionKey*): Future[CancelSubscriptionsResponse]

    Permalink
    Definition Classes
    Exchange
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def close(): Unit

    Permalink
    Definition Classes
    ExchangeRestClient → AutoCloseable
  11. def enqueue[T, Out](request: T, overrideDetails: SubmissionDetails)(implicit submitable: Submitable[T], asClient: AsClient[T, Out], ec: ExecutionContext): Future[Out]

    Permalink
    Definition Classes
    JobSyntax
  12. def enqueue[T, Out](request: T)(implicit submitable: Submitable[T], asClient: AsClient[T, Out], ec: ExecutionContext): Future[Out]

    Permalink
    Definition Classes
    JobSyntax
  13. def enqueueAll[T, Out](request: T)(implicit submitable: Submitable[T], asClient: AsClient[T, Out], ec: ExecutionContext): Future[List[Future[Out]]]

    Permalink
    Definition Classes
    JobSyntax
  14. def enqueueJob[T, Out](value: T, job: SubmitJob)(implicit asClient: AsClient[T, Out], ec: ExecutionContext): Future[List[Future[Out]]]

    Permalink
    Definition Classes
    JobSyntax
  15. def enqueueSingleJob[T, Out](request: T, job: SubmitJob)(implicit asClient: AsClient[T, Out], ec: ExecutionContext): Future[Out]

    Permalink
    Definition Classes
    JobSyntax
  16. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  18. def exchange: Exchange

    Permalink
    Attributes
    protected
    Definition Classes
    Exchange → JobSyntax
  19. implicit def execContext: ExecutionContext

    Permalink
  20. def finalize(): Unit

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

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

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

    Permalink
    Definition Classes
    Any
  24. implicit final def jsonMarshaller(implicit printer: Printer): ToEntityMarshaller[Json]

    Permalink
    Definition Classes
    BaseCirceSupport
  25. implicit final val jsonUnmarshaller: FromEntityUnmarshaller[Json]

    Permalink
    Definition Classes
    BaseCirceSupport
  26. val logger: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    StrictLogging
  27. implicit final def marshaller[A](implicit arg0: Encoder[A], printer: Printer): ToEntityMarshaller[A]

    Permalink
    Definition Classes
    BaseCirceSupport
  28. implicit def materializer: Materializer

    Permalink
  29. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  32. def onClientRequest(request: ClientRequest): Future[ClientResponse]

    Permalink
    Definition Classes
    Exchange
  33. def onSubscriptionRequest(request: SubscriptionRequest): Future[SubscriptionResponse]

    Permalink
    Definition Classes
    Exchange
  34. def queueState(request: QueueState = QueueState()): Future[QueueStateResponse]

    Permalink
    Definition Classes
    ExchangeRestClient → Exchange
  35. val rest: RestClient

    Permalink
  36. def retryOnError[A](retry: ⇒ Future[A]): (HandlerError) ⇒ Future[A]

    Permalink

    What an odd signature!

    What an odd signature!

    This is to match the 'as' function used to map http responses to some type 'T'.

    in the event of a failure (exception or non-success server response), we can optionally retry. The 'retry' function is given first so that the second param list matches that of the 'as' result

    Attributes
    protected
  37. def submit(job: SubmitJob): Future[ClientResponse]

    Permalink
    Definition Classes
    ExchangeRestClient → Exchange
  38. def subscribe(request: WorkSubscription): Future[WorkSubscriptionAck]

    Permalink
    Definition Classes
    ExchangeRestClient → Exchange
  39. def subscribe(request: WorkSubscription, initialRequest: Int)(implicit ec: ExecutionContext): Future[(WorkSubscriptionAck, RequestWorkAck)]

    Permalink
    Definition Classes
    Exchange
  40. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  41. def take(request: RequestWork): Future[RequestWorkAck]

    Permalink
    Definition Classes
    ExchangeRestClient → Exchange
  42. final def take(id: SubscriptionKey, itemsRequested: Int): Future[RequestWorkAck]

    Permalink
    Definition Classes
    Exchange
  43. def toString(): String

    Permalink
    Definition Classes
    ExchangeRestClient → AnyRef → Any
  44. implicit final def unmarshaller[A](implicit arg0: Decoder[A]): FromEntityUnmarshaller[A]

    Permalink
    Definition Classes
    FailFastUnmarshaller
  45. def unmarshallerContentTypes: Seq[ContentTypeRange]

    Permalink
    Definition Classes
    BaseCirceSupport
  46. def updateSubscriptionDetails(update: UpdateSubscription): Future[UpdateSubscriptionAck]

    Permalink
    Definition Classes
    ExchangeRestClient → Exchange
  47. final def wait(): Unit

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

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

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

Inherited from AutoCloseable

Inherited from FailFastCirceSupport

Inherited from FailFastUnmarshaller

Inherited from BaseCirceSupport

Inherited from Exchange

Inherited from JobSyntax

Inherited from StrictLogging

Inherited from AnyRef

Inherited from Any

Ungrouped