RPC client.
Used to perform type-safe remote API calls or send one-way messages.
Remote APIs can be invoked via proxy instances automatically created from specified API trait or without an API trait by supplying the required type information on invocation.
Type parameters
- Codec
-
message codec plugin type
- Context
-
RPC message context type
- Effect
-
effect type
- Node
-
message node type
Value parameters
- rpcProtocol
-
RPC protocol plugin
- transport
-
client transport protocol plugin
Attributes
- Constructor
-
Creates a RPC client with specified protocol and transport plugins providing corresponding message context type.
- Companion
- object
- Graph
-
- Supertypes
Members list
Value members
Concrete methods
Closes this client freeing the underlying resources.
Closes this client freeing the underlying resources.
Attributes
- Returns
-
nothing
Creates a default request context.
Creates a default request context.
Attributes
- Returns
-
request context
Starts this server to process incoming requests.
Starts this server to process incoming requests.
Attributes
- Returns
-
active RPC server
This method must never be used and should be considered private.
This method must never be used and should be considered private.
Attributes
- Definition Classes
Creates a remote API function one-way message proxy.
Creates a remote API function one-way message proxy.
Uses the remote function name and arguments to send an RPC request without waiting for a response.
Value parameters
- function
-
remote function name
Attributes
- Returns
-
specified remote function one-way message proxy
- Throws
-
RpcException
on RPC error
Returns a string representation of the object.
Returns a string representation of the object.
The default representation is platform dependent.
Attributes
- Returns
-
a string representation of the object.
- Definition Classes
-
Any
Inherited methods
Creates a remote API proxy with RPC bindings for all public methods of the specified API type.
Creates a remote API proxy with RPC bindings for all public methods of the specified API type.
The binding generation fails if any public API method has one of the following properties:
- does not return the specified effect type
- is overloaded
- has type parameters
- is inline
If the last parameter of bound method is of Context
type or returns a context function accepting the Context
type the caller-supplied request context is passed to the underlying message transport plugin.
RPC functions defined by bound API methods are invoked with their names transformed via the mapName
function.
Type parameters
- Api
-
remote API trait type (classes are not supported)
Value parameters
- mapName
-
maps bound API method name to the invoked RPC function name
Attributes
- Returns
-
remote API proxy
- Throws
-
java.lang.IllegalArgumentException
if invalid public methods are found in the API type
- Inherited from:
- [Node](Try.apply[Node](encodeArgument.apply(argument)).recoverWith[Node](((`x$1₂`:Throwable)=>(`x$1₂`:@unchecked)match{ caseerror=> Failure.apply[Nothing](InvalidRequest.apply(_root_.scala.StringContext.apply("Malformedargument:","").s(parameter.name),error)) })).get) })) ClientBase.this.performCall[Any](mapName.apply(method.getName()),argumentNodes,((resultNode:Node,responseContext:Context)=>`binding₂`.decodeResult.apply(resultNode,responseContext)),`requestContext₂`) })).getOrElse[Effect[Any]](thrownewUnsupportedOperationException(_root_.scala.StringContext.apply("Invalidmethod:","").s(method.getName()))))).asInstanceOf[Api] }:Api)">ClientBase (hidden)
Creates a remote API proxy with RPC bindings for all public methods of the specified API type.
Creates a remote API proxy with RPC bindings for all public methods of the specified API type.
The binding generation fails if any public API method has one of the following properties:
- does not return the specified effect type
- is overloaded
- has type parameters
- is inline
If the last parameter of bound method is of Context
type or returns a context function accepting the Context
type the caller-supplied request context is passed to the underlying message transport plugin.
Type parameters
- Api
-
API trait type (classes are not supported)
Value parameters
- mapName
-
maps API method name to the invoked RPC function name
Attributes
- Returns
-
RPC API proxy
- Throws
-
java.lang.IllegalArgumentException
if invalid public methods are found in the API type
- Inherited from:
- ClientBase (hidden)
Creates a remote API function call proxy.
Creates a remote API function call proxy.
Uses the remote function name and arguments to send an RPC request and extracts a result value or an error from the received RPC response.
Type parameters
- Result
-
result type
Value parameters
- function
-
remote function name
Attributes
- Returns
-
specified remote function call proxy
- Throws
-
RpcException
on RPC error
- Inherited from:
- ClientBase (hidden)
Attributes
- Inherited from:
- Product
Attributes
- Inherited from:
- Product
Inherited fields
Attributes
- Inherited from:
- Logging (hidden)