You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR added stateful deserialization for subscriptions: #20
I'm doing services and actions with dynamic data, such that exact type is not yet known at compile time (it's user-defined in configuration).
Would be very nice to have the same thing for services and actions. I'd like to have Service::async_receive_response_seed function at least to go along with Service::async_receive_response.
Any pointers? If I were to implement it, where should I start?
The text was updated successfully, but these errors were encountered:
I'll discuss just Client below. Server is quite accurately a mirror image of Client, so required work is very similar.
A Service Client contains the field response_receiver, which should be modified to allow for seedful deserialization.
The outermost DataWriterR already supports this, but ResponseWrapper does not. It uses deserialize_from_cdr_with_rep_id, which needs to be replaced with the seedful version deserialize_from_cdr_with_decoder_and_rep_id, and the required decoder parameter passed down the stack from the new Service::async_receive_response_seed function.
Implementing this does require studying and understanding the wrappers used to implement various ServiceMappings, which is non-trivial. Otherwise, this basic idea of this generalization should be quite straightforward.
This PR added stateful deserialization for subscriptions: #20
I'm doing services and actions with dynamic data, such that exact type is not yet known at compile time (it's user-defined in configuration).
Would be very nice to have the same thing for services and actions. I'd like to have
Service::async_receive_response_seed
function at least to go along withService::async_receive_response
.Any pointers? If I were to implement it, where should I start?
The text was updated successfully, but these errors were encountered: