使用方法
定义自己的Process,只需要继承一下就可以了。
class MyProcess : public process::Process<MyProcess> {
...
}
启动Process,只需要调用spawn就可以了:
process::PID
process::dispatch(
pid, &MyProcess::fool, "hello"
);
Future<int> sum = process::dispatch(pid, &MyProcess::add, 1, 2);
sum.then([](int n){
cout << n <<endl;
return Nothing();
});
libprocess本身实现了HTTP, 跨主机的RPC使用HTTP,对开发者是透明的。在initialize()方法中,可以定义route:
void MyProcess::initialize() {
route("/add", "add two args", [](Request req) {
// do something, and return response.
});
}
URL路径规范:
MyProcess() : ProcessBase("api") {}
这样你就可以访问http://you.domain.com/api/add
这个地址。