| 211 | } |
| 212 | |
| 213 | td::actor::Task<Answer> finish(td::Status status) override { |
| 214 | LOG(INFO) << "Finish: status=" << status; |
| 215 | co_await std::move(status); |
| 216 | auto pipe_socket = co_await std::move(pipe_).extract_fd(); |
| 217 | co_return Answer{ |
| 218 | .src = td::make_socket_pipe(std::move(pipe_socket)), |
| 219 | .dst = std::move(dest_pipe_), |
| 220 | .policy = std::move(policy_), |
| 221 | .destination = destination_, |
| 222 | }; |
| 223 | } |
| 224 | |
| 225 | enum class State { WaitGreeting, WaitAuth, WaitRequest, Done } state_ = State::WaitGreeting; |
| 226 |