object JettyRPCFramework extends StandardRPCFramework with LazyLogging
- Alphabetic
- By Inheritance
- JettyRPCFramework
- LazyLogging
- StandardRPCFramework
- ProcedureRPCFramework
- FunctionRPCFramework
- GetterRPCFramework
- RPCFramework
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
type
AsRawRPC[RealRPC] = AsRaw[RawRPC, RealRPC]
- Definition Classes
- RPCFramework
-
type
AsRawRealRPC[RealRPC] = AsRawReal[RawRPC, RealRPC]
- Definition Classes
- RPCFramework
-
type
AsRealRPC[RealRPC] = AsReal[RawRPC, RealRPC]
- Definition Classes
- RPCFramework
- case class Call(chain: List[JettyRPCFramework.RawInvocation], leaf: JettyRPCFramework.RawInvocation) extends Product with Serializable
-
type
ParamTypeMetadata[T] = scala.reflect.ClassTag[T]
- Definition Classes
- JettyRPCFramework → RPCFramework
- class RPCClient extends AnyRef
- class RPCHandler extends AbstractHandler
- final class RawValue extends AnyVal
-
type
Reader[T] = GenCodec[T]
- Definition Classes
- JettyRPCFramework → RPCFramework
-
type
ResultTypeMetadata[T] = DummyImplicit
- Definition Classes
- JettyRPCFramework → RPCFramework
-
type
Writer[T] = GenCodec[T]
- Definition Classes
- JettyRPCFramework → RPCFramework
-
trait
FunctionRawRPC extends AnyRef
- Definition Classes
- FunctionRPCFramework
-
case class
FunctionSignature[T](name: String, paramMetadata: List[FunctionRPCFramework.ParamMetadata[_]], annotations: List[MetadataAnnotation], resultTypeMetadata: FunctionRPCFramework.ResultTypeMetadata[T]) extends Signature with TypedMetadata[commons.Future[T]] with Product with Serializable
- Definition Classes
- FunctionRPCFramework
-
trait
GetterRawRPC extends AnyRef
- Definition Classes
- GetterRPCFramework
-
case class
GetterSignature[T](name: String, paramMetadata: List[GetterRPCFramework.ParamMetadata[_]], annotations: List[MetadataAnnotation], resultMetadata: RpcMetadataCompanion.Lazy[T]) extends Signature with TypedMetadata[T] with Product with Serializable
- Definition Classes
- GetterRPCFramework
-
trait
ProcedureRawRPC extends AnyRef
- Definition Classes
- ProcedureRPCFramework
-
case class
ProcedureSignature(name: String, paramMetadata: List[ProcedureRPCFramework.ParamMetadata[_]], annotations: List[MetadataAnnotation]) extends Signature with TypedMetadata[Unit] with Product with Serializable
- Definition Classes
- ProcedureRPCFramework
-
trait
BaseFullRPCInfo[RealRPC] extends AnyRef
Base trait for traits or classes "implementing" FullRPCInfo in various RPC frameworks.
Base trait for traits or classes "implementing" FullRPCInfo in various RPC frameworks. Having a separate subtrait/subclass for every framework is beneficial for ScalaJS DCE.
- Definition Classes
- RPCFramework
-
trait
BaseRawRpcCompanion extends RawRpcCompanion[RawRPC]
- Definition Classes
- RPCFramework
-
case class
ParamMetadata[T](name: String, annotations: List[MetadataAnnotation], typeMetadata: ParamTypeMetadata[T]) extends TypedMetadata[T] with Product with Serializable
- Definition Classes
- RPCFramework
-
abstract
class
RPCCompanion[RealRPC] extends AnyRef
Convenience abstract class for companion objects of RPC interfaces.
Convenience abstract class for companion objects of RPC interfaces. Makes sure all three RPC type classes (AsRawRPC, AsRealRPC and RPCMetadata) are macro-materialized for that RPC interface and confines macro materialization to the same compilation unit where the RPC interface is defined. This is a good practice to avoid incremental compilation problems and duplication of macro-generated code in various callsites. In order to be able to use RPCCompanion, the RPC framework must define FullRPCInfo as a trait or class. Additionally, some special wizardry has been employed to make sure that when an RPC interface is a part of shared (cross-compiled) code of a ScalaJS application then ScalaJS optimizer can remove unused instances of macro generated typeclasses.
- Definition Classes
- RPCFramework
object SomeRPCFramework extends StandardRPCFramework { ... } @RPC trait SomeRPC { def doSomething(str: String): Unit def callSomething(int: Int): Future[String] } object SomeRPC extends SomeRPCFramework.RPCCompanion[SomeRPC]
Example: -
case class
RawInvocation(rpcName: String, args: List[RawValue]) extends Product with Serializable
- Definition Classes
- RPCFramework
-
trait
Signature extends AnyRef
- Definition Classes
- RPCFramework
-
trait
FullRPCInfo[T] extends BaseFullRPCInfo[T]
- Definition Classes
- StandardRPCFramework
-
case class
RPCMetadata[T](name: String, annotations: List[MetadataAnnotation], procedureSignatures: Map[String, StandardRPCFramework.ProcedureSignature], functionSignatures: Map[String, StandardRPCFramework.FunctionSignature[_]], getterSignatures: Map[String, StandardRPCFramework.GetterSignature[_]]) extends Product with Serializable
- Definition Classes
- StandardRPCFramework
-
trait
RawRPC extends GetterRawRPC with FunctionRawRPC with ProcedureRawRPC
- Definition Classes
- StandardRPCFramework
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
lazy val
logger: Logger
- Attributes
- protected
- Definition Classes
- LazyLogging
- Annotations
- @transient()
-
macro
def
materializeAsRaw[T]: AsRawRPC[T]
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
-
macro
def
materializeAsRawReal[T]: AsRawRealRPC[T]
- Definition Classes
- RPCFramework
-
macro
def
materializeAsReal[T]: AsRealRPC[T]
Materializes a factory of implementations of
T
which are proxies that implement all abstract methods ofT
by forwarding them torawRpc
.Materializes a factory of implementations of
T
which are proxies that implement all abstract methods ofT
by forwarding them torawRpc
. Method arguments and results are serialized and deserialized from/to RawValue using Reader and Writer typeclasses.- Definition Classes
- RPCFramework
-
implicit macro
def
materializeFullInfo[T]: FullRPCInfo[T]
- Definition Classes
- RPCFramework
-
macro
def
materializeMetadata[RealRPC]: RPCMetadata[RealRPC]
- Definition Classes
- RPCFramework
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newClient[T](httpClient: HttpClient, uri: String, maxResponseLength: Int = 2 * 1024 * 1024)(implicit asRealRPC: AsRealRPC[T]): T
- def newHandler[T](impl: T, contextTimeout: FiniteDuration = 30.seconds)(implicit asRawRPC: AsRawRPC[T]): Handler
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
read[T](raw: RawValue)(implicit arg0: Reader[T]): T
- Definition Classes
- JettyRPCFramework → RPCFramework
-
implicit
def
readerBasedAsReal[T](implicit arg0: Reader[T]): AsReal[RawValue, T]
- Definition Classes
- RPCFramework
-
implicit
def
readerBasedFutureAsReal[T](implicit arg0: Reader[T]): AsReal[commons.Future[RawValue], commons.Future[T]]
- Definition Classes
- FunctionRPCFramework
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
write[T](value: T)(implicit arg0: Writer[T]): RawValue
- Definition Classes
- JettyRPCFramework → RPCFramework
-
implicit
def
writerBasedAsRaw[T](implicit arg0: Writer[T]): AsRaw[RawValue, T]
- Definition Classes
- RPCFramework
-
implicit
def
writerBasedFutureAsRaw[T](implicit arg0: Writer[T]): AsRaw[commons.Future[RawValue], commons.Future[T]]
- Definition Classes
- FunctionRPCFramework
- object Call extends HasGenCodec[Call] with Serializable
-
object
AsRawRPC
- Definition Classes
- RPCFramework
-
object
AsRawRealRPC
- Definition Classes
- RPCFramework
-
object
AsRealRPC
- Definition Classes
- RPCFramework
-
object
RawInvocation extends Serializable
- Definition Classes
- RPCFramework
-
object
RPCMetadata extends RpcMetadataCompanion[RPCMetadata] with Serializable
- Definition Classes
- StandardRPCFramework → RPCFramework
-
object
RawRPC extends BaseRawRpcCompanion
- Definition Classes
- StandardRPCFramework → RPCFramework