eclipse-cyclonedds / cyclonedds

Eclipse Cyclone DDS project
https://projects.eclipse.org/projects/iot.cyclonedds
Other
854 stars 352 forks source link

Request-Response mechanism support #1936

Open lingbomeng opened 7 months ago

lingbomeng commented 7 months ago

Hi, does anyone know that if cyclonedds support Request-Response mechanism now. And if not, will you provide this mechanism in the future?

eboasson commented 6 months ago

I suppose you refer to the DDS-RPC spec? I have no intention of implementing it: to me, it is going about things entirely the wrong way. First you go through a lot of effort to build a system that distributes data to whomever has indicated interest in the subject over a system designed to send data to a specific node (i.e., a machine). Then, you go through even more effort to build a system to send data to a specific node (i.e., a server or the client) on top of a system that routes the data based on the subject. And then you have to go through yet more effort to avoid sending data to those that don't really care for it without incurring a lot of discovery overhead ...

And all that for something that the lowest level of abstraction already provided!

DDS is really nice for maintaining a directory of services and their locations, but it is not the right technology to perform the actual RPC.

Regarding compatibility with the spec: Cyclone DDS is compatible with the basic model, we just don't have the code generation in the IDL compiler.

If someone else were to offer an implementation for inclusion in the Cyclone DDS, I would accept it (assuming it meets the usual requirements). That's different from me having to do it!