MIRA
Public Member Functions | List of all members
TRPCInvoker< Backend > Class Template Referenceabstract

Invoker that is used to invoke an RPC method call for a special backend. More...

#include <rpc/RPCInvoker.h>

Inheritance diagram for TRPCInvoker< Backend >:
Inheritance graph
[legend]

Public Member Functions

virtual void invoke (typename Backend::ServerRequest &request, typename Backend::ServerResponse &response)=0
 object is pointer to service object whose method is called More...
 

Detailed Description

template<typename Backend>
class mira::TRPCInvoker< Backend >

Invoker that is used to invoke an RPC method call for a special backend.

The concrete implementations of the invokers are generated by boost::preprocessor and the macros at the end of this file. For each RPC method that is reflected in the service object an RPCInvoker object is created. The function is as follows:

  1. Upon construction of the RPCInvoker object the method pointer and the pointer to the object (for non-static methods) are stored in the constructor
  2. When calling invoke they RPCInvokers extracts the parameters from the specified request, uses boost::bind to build an unary function from the method stored in step 1, and invokes the function. Finally, the result of the call is stored in the response.
See also
Services and Remote Procedure Calls

Member Function Documentation

◆ invoke()

virtual void invoke ( typename Backend::ServerRequest &  request,
typename Backend::ServerResponse &  response 
)
pure virtual

object is pointer to service object whose method is called

Implemented in ConcreteRPCInvoker_memfn< Backend, MemFn, Class, ARGS >, and ConcreteRPCInvoker< Backend, R, ARGS >.


The documentation for this class was generated from the following file: