| 453 | struct Protocol |
| 454 | { |
| 455 | process::Future<Res> operator()( |
| 456 | const process::UPID& pid, |
| 457 | const Req& req) const |
| 458 | { |
| 459 | // Help debugging by adding some "type constraints". |
| 460 | { Req* req = nullptr; google::protobuf::Message* m = req; (void)m; } |
| 461 | { Res* res = nullptr; google::protobuf::Message* m = res; (void)m; } |
| 462 | |
| 463 | ReqResProcess<Req, Res>* process = new ReqResProcess<Req, Res>(pid, req); |
| 464 | process::spawn(process, true); |
| 465 | return process::dispatch(process, &ReqResProcess<Req, Res>::run); |
| 466 | } |
| 467 | }; |
| 468 | |
| 469 | #endif // __PROCESS_PROTOBUF_HPP__ |