Class/Object

agora.rest.client

RetryClient

Related Docs: object RetryClient | package client

Permalink

class RetryClient extends RestClient with StrictLogging

A client which will try multiple clients

Linear Supertypes
StrictLogging, RestClient, Closeable, AutoCloseable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RetryClient
  2. StrictLogging
  3. RestClient
  4. Closeable
  5. AutoCloseable
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new RetryClient(mkClient: () ⇒ RestClient, onError: RetryStrategy)

    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 client: RestClient

    Permalink
  6. def clone(): AnyRef

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

    Permalink
    Definition Classes
    RetryClientRestClient → Closeable → AutoCloseable
  8. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  10. implicit def executionContext: ExecutionContext

    Permalink

    See materializer comment

    See materializer comment

    returns

    the execution context associated w/ this client

    Definition Classes
    RestClient
  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. val logger: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    StrictLogging
  16. implicit def materializer: Materializer

    Permalink

    You could argue that putting this here sullies the otherwise clean functional interface, but that sacrifice is laid upon the alter of sanity.

    You could argue that putting this here sullies the otherwise clean functional interface, but that sacrifice is laid upon the alter of sanity. It's much easier to reason about which materializer/execution context is used when it comes baked in with a client -- in particular in the retry/failover scenarios.

    We don't want to e.g. accidentally bring another materializer (and by extension its execution context) in scope from a stopped actor system

    returns

    the materializer associated w/ this client

    Definition Classes
    RetryClientRestClient
  17. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  20. def reset(err: Option[Throwable]): RetryClient

    Permalink

    Resets the client.

    Resets the client. This may be invoked externally in case of e.g. server 503 errors et al

  21. def send(request: HttpRequest): Future[HttpResponse]

    Permalink

    Does what it says on the tin -- send the HttpRequest and eventually return a HttpResponse.

    Does what it says on the tin -- send the HttpRequest and eventually return a HttpResponse.

    The client is presumably established for a know HostLocation, but

    request

    the request to send

    returns

    the response in a future

    Definition Classes
    RetryClientRestClient
  22. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

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

Inherited from StrictLogging

Inherited from RestClient

Inherited from Closeable

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped