@@ -198,25 +198,28 @@ class RawRpcClientServiceImpl final
198198 return ;
199199 }
200200
201- const auto now = service_.context_ .executor .now ();
202- const auto request_timeout = std::chrono::duration_cast<libcyphal::Duration>( //
203- std::chrono::microseconds{send.request_timeout_us });
204- const auto request_deadline = now + request_timeout;
201+ const auto now = service_.context_ .executor .now ();
202+ const auto request_deadline = now + std::chrono::duration_cast<libcyphal::Duration>( //
203+ std::chrono::microseconds{send.request_timeout_us });
204+ const auto response_deadline = now + std::chrono::duration_cast<libcyphal::Duration>(
205+ std::chrono::microseconds{send.response_timeout_us });
205206
206207 // The tail of the payload is the raw message data.
207208 //
208209 const auto raw_msg_payload = payload.subspan (payload.size () - send.payload_size );
209210 std::array<CyPayloadFragment, 1 > fragments{{{raw_msg_payload.data (), raw_msg_payload.size ()}}};
210211
211- auto cy_req_result = cy_raw_svc_client_->request (request_deadline, fragments);
212+ auto cy_req_result = cy_raw_svc_client_->request (request_deadline,
213+ fragments,
214+ cetl::optional<libcyphal::TimePoint>{response_deadline});
212215 if (auto * const cy_failure = cetl::get_if<CyRawSvcClient::Failure>(&cy_req_result))
213216 {
214217 const auto opt_error = cyFailureToOptError (*cy_failure);
215218 logger ().warn (" RawRpcClientSvc: failed to send raw request (err={}, fsm_id={})" , opt_error, id_);
216219
217220 Spec::Response ipc_response{&memory ()};
218- auto & send_error = ipc_response.set_send_error ();
219- optErrorToDsdlError (opt_error, send_error );
221+ auto & error = ipc_response.set__error ();
222+ optErrorToDsdlError (opt_error, error );
220223 reply (ipc_response);
221224 return ;
222225 }
@@ -274,8 +277,8 @@ class RawRpcClientServiceImpl final
274277 logger ().warn (" RawRpcClientSvc: RPC promise failure (err={}, fsm_id={})." , opt_error, id_);
275278
276279 Spec::Response ipc_response{&memory ()};
277- auto & receive_error = ipc_response.set_receive_error ();
278- optErrorToDsdlError (opt_error, receive_error );
280+ auto & error = ipc_response.set__error ();
281+ optErrorToDsdlError (opt_error, error );
279282 reply (ipc_response);
280283 }
281284 }
0 commit comments