colossus

service

package service

Visibility
  1. Public
  2. All

Type Members

  1. trait Async[M[_]] extends AnyRef

    A Typeclass for abstracting over callbacks and futures

  2. trait AsyncBuilder[M[_], E] extends AnyRef

    A Typeclass for building Async instances, used internally by ClientFactory.

  3. class AsyncHandlerGenerator[C <: Protocol] extends AnyRef

    So we need to take a type-parameterized request object, package it into a monomorphic case class to send to the worker, and have the handler that receives that object able to pattern match out the parameterized object, all without using reflection.

  4. class BasicLiftedClient[C <: Protocol, M[_]] extends LiftedClient[C, M]

  5. sealed trait Callback[+O] extends AnyRef

    A Callback is a Monad for doing in-thread non-blocking operations.

  6. case class CallbackExec(cb: () ⇒ Unit, in: Option[FiniteDuration] = scala.None) extends Product with Serializable

  7. trait CallbackExecution extends Actor with ActorLogging

  8. class CallbackExecutionException extends Exception

    This exception is only thrown when there's a uncaught exception in the execution block of a Callback.

  9. case class CallbackExecutor(context: ExecutionContext, executor: ActorRef) extends Product with Serializable

    A CallbackExecutor is an actor that mixes in the [CallbackExecution] trait to complete the execution of a [Callback] that has been converted from a Future.

  10. class CallbackPromise[T] extends AnyRef

    A CallbackPromise creates a callback which can be eventually filled in with a value.

  11. trait ClientCodecProvider[C <: Protocol] extends AnyRef

  12. case class ClientConfig(address: InetSocketAddress, requestTimeout: Duration, name: MetricAddress, pendingBufferSize: Int = 100, sentBufferSize: Int = 100, failFast: Boolean = false, connectRetry: RetryPolicy = ..., idleTimeout: Duration = ..., maxResponseSize: DataSize = ...) extends Product with Serializable

    Configuration used to specify a Client's parameters

  13. class ClientFactories[C <: Protocol, T[M[_]] <: Sender[C, M[_]]] extends AnyRef

    Mixed into protocols to provide simple methods for creating clients.

  14. trait ClientFactory[C <: Protocol, M[_], T <: Sender[C, M], E] extends AnyRef

  15. trait ClientLifter[C <: Protocol, T[M[_]] <: Sender[C, M[_]]] extends AnyRef

    This has to be implemented per codec in order to lift generic Sender traits to a type-specific trait

  16. class ClientOverloadedException extends ServiceClientException

    Thrown when the pending buffer is full

  17. sealed trait ClientState extends AnyRef

  18. trait Codec[Output, Input] extends AnyRef

    A Codec is a stateful object for converting requests/responses to/from DataBuffers.

  19. class CodecClientFactory[C <: Protocol, M[_], B <: Sender[C, M], T[M[_]] <: Sender[C, M[_]], E] extends ClientFactory[C, M, T[M], E]

  20. trait CodecProvider[C <: Protocol] extends AnyRef

    Provide a Codec as well as some convenience functions for usage within in a Service.

  21. class ConnectionLostException extends ServiceClientException

    Thrown when a request is lost in transit

  22. case class ConstantCallback[O](value: Try[O]) extends Callback[O] with Product with Serializable

  23. class DataException extends ServiceClientException

    Thrown when there's some kind of data error

  24. sealed trait DecodedResult[+T] extends AnyRef

  25. class DefaultTagDecorator[I, O] extends TagDecorator[I, O]

  26. class Delayer extends Actor with ActorLogging

    This little actor is needed because apparently actors that are running in a pinned dispatcher AND are sending messages to themselves (like workers) cannot use the scheduler.

  27. class DroppedReplyException extends ServiceServerException

  28. class FatalServiceServerException extends ServiceServerException

  29. class FutureAsync extends Async[Future]

  30. trait FutureClient[C <: Protocol] extends Sender[C, Future]

  31. trait FutureClientOps extends AnyRef

  32. case class IrrecoverableError[C](reason: Throwable) extends ProcessingFailure[C] with Product with Serializable

  33. trait LiftedClient[C <: Protocol, M[_]] extends Sender[C, M]

  34. class LoadBalancingClient[P <: Protocol] extends WorkerItem with Sender[P, Callback]

    The LoadBalancingClient will evenly distribute requests across a set of clients.

  35. class LoadBalancingClientException extends Exception

  36. case class MappedCallback[I, O](trigger: ((Try[I]) ⇒ Unit) ⇒ Unit, handler: (Try[I]) ⇒ Try[O]) extends Callback[O] with Product with Serializable

  37. trait MessageDecoder[T] extends AnyRef

  38. trait MessageEncoder[T] extends AnyRef

  39. class NotConnectedException extends ServiceClientException

    Throw when a request is attempted while not connected

  40. class PermutationGenerator[T] extends Iterator[List[T]]

    The PermutationGenerator creates permutations such that consecutive calls are guaranteed to cycle though all items as the first element.

  41. sealed trait ProcessingFailure[C] extends AnyRef

  42. class PromiseException extends Exception

  43. trait Protocol extends AnyRef

  44. class ProxyWatchdog extends Actor

  45. class ReceiveException extends Exception

  46. case class RecoverableError[C](request: C, reason: Throwable) extends ProcessingFailure[C] with Product with Serializable

  47. class RequestBufferFullException extends ServiceServerException

  48. trait RequestFormatter[I] extends AnyRef

  49. class RequestTimeoutException extends ServiceClientException

    Returned when a request has been pending for too long

  50. class SendFailedException extends Exception

  51. trait Sender[C <: Protocol, M[_]] extends AnyRef

    A Sender is anything that is able to asynchronously send a request and receive a corresponding response

  52. abstract class Service[C <: Protocol] extends ServiceServer[service.Service.C.Input, service.Service.C.Output]

  53. class ServiceClient[P <: Protocol] extends Controller[service.ServiceClient.P.Output, service.ServiceClient.P.Input] with ClientConnectionHandler with Sender[P, Callback] with ManualUnbindHandler

    A ServiceClient is a non-blocking, synchronous interface that handles sending atomic commands on a connection and parsing their replies

  54. class ServiceClientException extends Exception

  55. class ServiceClientPool[T <: Sender[_, Callback]] extends AnyRef

    A ClientPool is a simple container of open connections.

  56. trait ServiceCodecProvider[C <: Protocol] extends CodecProvider[C]

  57. case class ServiceConfig(requestTimeout: Duration, requestBufferSize: Int, logErrors: Boolean, requestMetrics: Boolean, maxRequestSize: DataSize) extends Product with Serializable

    Configuration class for a Service Server Connection Handler

  58. class ServiceConfigException extends Exception

  59. abstract class ServiceServer[I, O] extends Controller[I, O] with ServerConnectionHandler

    The ServiceServer provides an interface and basic functionality to create a server that processes requests and returns responses over a codec.

  60. class ServiceServerException extends Exception

  61. class StaleClientException extends Exception

    This is thrown when a Client is manually disconnected, and subsequent attempt is made to reconnect.

  62. trait TagDecorator[I, O] extends AnyRef

  63. class UnhandledRequestException extends Exception

  64. case class UnmappedCallback[I](trigger: ((Try[I]) ⇒ Unit) ⇒ Unit) extends Callback[I] with Product with Serializable

    UnmappedCallback is essentially an optimization that avoids needing to create a MappedCallback with an identity function

Value Members

  1. object AsyncBuilder

  2. object Callback

  3. object CallbackAsync extends Async[Callback]

  4. object CallbackExecutor extends Serializable

  5. object ClientConfig extends Serializable

  6. object ClientFactory

  7. object ClientState

  8. object Codec

  9. object DecodedResult

  10. object FutureClient extends FutureClientOps

  11. object Protocol

  12. object Service

  13. object ServiceClient

  14. object ServiceConfig extends Serializable

  15. object ServiceServer

  16. object TagDecorator

Deprecated Value Members

  1. object AsyncServiceClient extends FutureClientOps

    Annotations
    @deprecated
    Deprecated

    (Since version 0.8.1) Use FutureClient Instead

Ungrouped