package rpc
- Alphabetic
- Public
- All
Type Members
- case class AllRPCTypeClasses [F <: RPCFramework with Singleton, T](asRealRPC: F.AsRealRPC[T], asRawRPC: F.AsRawRPC[T], metadata: RPCMetadata[T]) extends Product with Serializable
-
trait
FunctionRPCFramework
extends RPCFramework
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]whereAhas aReaderandWriter). -
trait
GetterRPCFramework
extends RPCFramework
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
-
sealed
trait
IsRPC
[T] extends AnyRef
Typeclass that witnesses if type
Tis annotated as @RPC -
trait
MetadataAnnotation
extends Annotation with StaticAnnotation
Annotations that extend this trait will be retained for runtime in
RPCMetadatatypeclass instances - trait OneWayRPCFramework extends GetterRPCFramework with ProcedureRPCFramework
- case class ParamMetadata (name: String, annotations: List[MetadataAnnotation]) extends Product with Serializable
-
trait
ProcedureRPCFramework
extends RPCFramework
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
Unitreturn type. -
trait
RPCFramework
extends AnyRef
Author: ghik Created: 27/05/15.
- trait RPCMetadata [T] extends AnyRef
-
abstract
class
RPCTypeClasses
[F <: RPCFramework with Singleton, T] extends AnyRef
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,AsRealRPCandRPCMetadatagiven thatRPCFrameworkimplementation 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.
- case class Signature (methodName: String, paramMetadata: List[List[ParamMetadata]], annotations: List[MetadataAnnotation]) extends Product with Serializable
- trait StandardRPCFramework extends GetterRPCFramework with FunctionRPCFramework with ProcedureRPCFramework
Value Members
- object AllRPCTypeClasses extends Serializable
- object IsRPC
-
object
RPCMetadata
Author: ghik Created: 25/02/16.