Package

com.avsystem.commons

rpc

Permalink

package rpc

Visibility
  1. Public
  2. All

Type Members

  1. case class AllRPCTypeClasses[F <: RPCFramework with Singleton, T](asRealRPC: F.AsRealRPC[T], asRawRPC: F.AsRawRPC[T], metadata: RPCMetadata[T]) extends Product with Serializable

    Permalink
  2. trait FunctionRPCFramework extends RPCFramework

    Permalink

    Mix in this trait into your RPC framework to support remote functions, i.e.

    Mix in this trait into your RPC framework to support remote functions, i.e. methods which asynchronously return some result (Future[A] where A has a Reader and Writer).

  3. trait GetterRPCFramework extends RPCFramework

    Permalink

    Mix in this trait into your RPC framework to support getters, i.e.

    Mix in this trait into your RPC framework to support getters, i.e. methods that return RPC subinterfaces

  4. sealed trait IsRPC[T] extends AnyRef

    Permalink

    Typeclass that witnesses if type T is annotated as @RPC

  5. trait MetadataAnnotation extends Annotation with StaticAnnotation

    Permalink

    Annotations that extend this trait will be retained for runtime in RPCMetadata typeclass instances

  6. trait OneWayRPCFramework extends GetterRPCFramework with ProcedureRPCFramework

    Permalink
  7. case class ParamMetadata(name: String, annotations: List[MetadataAnnotation]) extends Product with Serializable

    Permalink
  8. trait ProcedureRPCFramework extends RPCFramework

    Permalink

    Mix in this trait into your RPC framework to support remote procedures, i.e.

    Mix in this trait into your RPC framework to support remote procedures, i.e. fire-and-forget methods with Unit return type.

  9. trait RPCFramework extends AnyRef

    Permalink
  10. trait RPCMetadata[T] extends AnyRef

    Permalink
  11. abstract class RPCTypeClasses[F <: RPCFramework with Singleton, T] extends AnyRef

    Permalink

    Convenience class to be extended by companion objects of RPC traits.

    Convenience class to be extended by companion objects of RPC traits. It automatically adds implicits for AsRawRPC, AsRealRPC and RPCMetadata given that RPCFramework implementation is known.

    It's not required for RPC traits companion objects to extend this trait but it's recommended because it reduces problems with incremental compilation and duplicated bytecode.

  12. case class Signature(methodName: String, paramMetadata: List[List[ParamMetadata]], annotations: List[MetadataAnnotation]) extends Product with Serializable

    Permalink
  13. trait StandardRPCFramework extends GetterRPCFramework with FunctionRPCFramework with ProcedureRPCFramework

    Permalink

Value Members

  1. object AllRPCTypeClasses extends Serializable

    Permalink
  2. object IsRPC

    Permalink
  3. object RPCMetadata

    Permalink

Ungrouped