| 993 | } |
| 994 | |
| 995 | void RdmaTensorResponse::Start() { |
| 996 | Rendezvous::ParsedKey parsed; |
| 997 | Status s = Rendezvous::ParseKey(rm_.name_, &parsed); |
| 998 | if (!s.ok()) { |
| 999 | SendErrorStatus(s); |
| 1000 | return; |
| 1001 | } |
| 1002 | |
| 1003 | channel_->adapter_->worker_env_->rendezvous_mgr->RecvLocalAsync( |
| 1004 | rm_.step_id_, parsed, |
| 1005 | [this, parsed](const Status& status, const Rendezvous::Args& send_args, |
| 1006 | const Rendezvous::Args& recv_args, const Tensor& in, |
| 1007 | bool is_dead) { |
| 1008 | CHECK(status.ok()) << "RecvLocalAsync was not ok." |
| 1009 | << " error message: " << status.error_message(); |
| 1010 | RecvHandler(parsed, send_args, recv_args, in, is_dead); |
| 1011 | }); |
| 1012 | } |
| 1013 | |
| 1014 | void RdmaTensorResponse::Resume() { SendContent(*tensor_, *proto_, is_dead_); } |
| 1015 | |