Package

agora.rest

exchange

Permalink

package exchange

Visibility
  1. Public
  2. All

Type Members

  1. class ActorExchange extends Actor

    Permalink

    Allows an exchange to be put behing an actor

  2. case class CompletedWork(work: List[(WorkerRedirectCoords, HttpResponse)])(implicit mat: Materializer) extends Product with Serializable

    Permalink

    This represents the result of some client having submitting some work to the exchange, that work matching one or more handlers (according with the SubmissionDetails of the job), that client receiving a redirect to that/those worker(s), submitting the work to them, and then this ...

    This represents the result of some client having submitting some work to the exchange, that work matching one or more handlers (according with the SubmissionDetails of the job), that client receiving a redirect to that/those worker(s), submitting the work to them, and then this ... the final result.

    work

    the matched workers and their responses

    mat

    a materializer, so we can be a bit more helpful in getting some results out of one of these puppies

  3. class ExchangeClient extends Exchange with RoutingClient with FailFastCirceSupport with AutoCloseable with StrictLogging

    Permalink

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

    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.

  4. class ExchangeConfig extends ServerConfig

    Permalink
  5. case class ExchangeRoutes(exchange: ServerSideExchange)(implicit mat: Materializer) extends FailFastCirceSupport with RouteLoggingSupport with Product with Serializable

    Permalink

    Handles:

    Handles:

    PUT rest/exchange/submit PUT rest/exchange/subscribe POST rest/exchange/take

    POST rest/exchange/subscriptions POST rest/exchange/jobs

    see ExchangeHttp for the client-side of this

    See also

    http://doc.akka.io/docs/akka-stream-and-http-experimental/1.0/scala/http/routing-dsl/index.html

  6. trait RoutingClient extends AnyRef

    Permalink

    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

Value Members

  1. object ActorExchange

    Permalink
  2. object CompletedWork extends Serializable

    Permalink
  3. object ExchangeClient

    Permalink
  4. object ExchangeConfig

    Permalink
  5. object ExchangeHttp extends CommonRequestBuilding

    Permalink

    Contains the functions for converting our messages into HttpRequests.

    Contains the functions for converting our messages into HttpRequests.

    This should go hand-in-glove with ExchangeRoutes

  6. object ExchangeMain

    Permalink

    ExchangeMain Main entry point for the rest service.

  7. object RoutingClient

    Permalink

Ungrouped