使用方法

定义自己的Process,只需要继承一下就可以了。

class MyProcess : public process::Process<MyProcess> {
    ...    
}

启动Process,只需要调用spawn就可以了:

process::PID pid = process::spawn(MyProcess); 向该Process发送消息,可以使用dispatch:

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这个地址。

results matching ""

    No results matching ""