我想使用RPC来调用类对象的成员函数。
例如:
class A {
public:
int foo(int a, int b) { return a + b; }
};
客户端想要远程调用A :: foo,在这种情况下如何定义thrift文件?因为go rpc可以很容易地做到这一点,我想知道如何在C ++中使用thrift来实现它。
我做到这一点的解决方案有点棘手:
在thrift文件中定义原始函数类型,如下所示,它似乎是成员函数A::foo
的包装器:
service XXX {
i64 div(1:i64 a, 2:i64 b)
}
在服务器代码中:
class XXXhandler : XXXIf {
public:
int div(int a, int b) {
return obj.foo(a, b);
}
private:
A obj;
};
在节俭中有没有简单的方法呢?