Trait

com.avsystem.commons.rpc

FunctionRPCFramework

Related Doc: package rpc

Permalink

trait FunctionRPCFramework extends RPCFramework

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).

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FunctionRPCFramework
  2. RPCFramework
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait AsRawRPC[T] extends AnyRef

    Permalink
    Definition Classes
    RPCFramework
  2. trait AsRealRPC[T] extends AnyRef

    Permalink
    Definition Classes
    RPCFramework
  3. trait FunctionRawRPC extends AnyRef

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

    Permalink
    Definition Classes
    RPCFramework
  5. abstract type ParamTypeMetadata[T]

    Permalink
    Definition Classes
    RPCFramework
  6. trait RPCMetadata[T] extends AnyRef

    Permalink
    Definition Classes
    RPCFramework
  7. trait RawInvocationHandler[Real] extends AnyRef

    Permalink
    Definition Classes
    RPCFramework
    Annotations
    @implicitNotFound( ... )
  8. abstract type RawRPC <: FunctionRawRPC

    Permalink
    Definition Classes
    FunctionRPCFrameworkRPCFramework
  9. trait RawRPCUtils extends AnyRef

    Permalink
    Definition Classes
    RPCFramework
  10. abstract type RawValue

    Permalink
    Definition Classes
    RPCFramework
  11. abstract type Reader[T]

    Permalink
    Definition Classes
    RPCFramework
  12. trait RealInvocationHandler[Real, Raw] extends AnyRef

    Permalink
    Definition Classes
    RPCFramework
    Annotations
    @implicitNotFound( ... )
  13. abstract type ResultTypeMetadata[T]

    Permalink
    Definition Classes
    RPCFramework
  14. case class Signature(methodName: String, paramMetadata: List[List[ParamMetadata]], resultTypeMetadata: ResultTypeMetadata[_], annotations: List[MetadataAnnotation]) extends Product with Serializable

    Permalink
    Definition Classes
    RPCFramework
  15. abstract type Writer[T]

    Permalink
    Definition Classes
    RPCFramework

Abstract Value Members

  1. abstract def read[T](raw: RawValue)(implicit arg0: Reader[T]): T

    Permalink
    Definition Classes
    RPCFramework
  2. abstract def write[T](value: T)(implicit arg0: Writer[T]): RawValue

    Permalink
    Definition Classes
    RPCFramework

Concrete 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. object AsRawRPC

    Permalink
    Definition Classes
    RPCFramework
  5. object AsRealRPC

    Permalink
    Definition Classes
    RPCFramework
  6. implicit def FunctionRawHandler[A](implicit arg0: Reader[A]): RawInvocationHandler[commons.Future[A]]

    Permalink
  7. implicit def FunctionRealHandler[A](implicit arg0: Writer[A]): RealInvocationHandler[commons.Future[A], commons.Future[RawValue]]

    Permalink
  8. object RPCMetadata

    Permalink
    Definition Classes
    RPCFramework
  9. object RawInvocationHandler

    Permalink
    Definition Classes
    RPCFramework
  10. object RealInvocationHandler

    Permalink
    Definition Classes
    RPCFramework
  11. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  12. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  18. implicit macro def implicitlyMaterializeAsRaw[T]: AsRawRPC[T]

    Permalink
    Definition Classes
    RPCFramework
  19. implicit macro def implicitlyMaterializeAsReal[T]: AsRealRPC[T]

    Permalink
    Definition Classes
    RPCFramework
  20. implicit macro def implicitlyMaterializeMetadata[T]: RPCMetadata[T]

    Permalink
    Definition Classes
    RPCFramework
  21. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  22. macro def materializeAsRaw[T]: AsRawRPC[T]

    Permalink

    Materializes a factory of implementations of RawRPC which translate invocations of its raw methods to invocations of actual methods on rpcImpl.

    Materializes a factory of implementations of RawRPC which translate invocations of its raw methods to invocations of actual methods on rpcImpl. Method arguments and results are serialized and deserialized from/to RawValue using Reader and Writer typeclasses.

    Definition Classes
    RPCFramework
  23. macro def materializeAsReal[T]: AsRealRPC[T]

    Permalink

    Materializes a factory of implementations of T which are proxies that implement all abstract methods of T by forwarding them to rawRpc.

    Materializes a factory of implementations of T which are proxies that implement all abstract methods of T by forwarding them to rawRpc. Method arguments and results are serialized and deserialized from/to RawValue using Reader and Writer typeclasses.

    Definition Classes
    RPCFramework
  24. macro def materializeMetadata[T]: RPCMetadata[T]

    Permalink
    Definition Classes
    RPCFramework
  25. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  28. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  30. macro def tryToRaw[Real, Raw](real: Real, onFailure: Nothing): Raw

    Permalink

    INTERNAL API

    INTERNAL API

    Definition Classes
    RPCFramework
  31. final def wait(): Unit

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

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

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

Inherited from RPCFramework

Inherited from AnyRef

Inherited from Any

Ungrouped