Server: public virtual eprosima::is::ServiceProvider, private DataWriterListener, private DataReaderListener¶
It is composed of a Fast DDS Publisher, to send the request to the DDS dataspace; plus a Fast DDS Subscriber, to receive replies from the DDS application server and send them back to the Integration Service.
Its topic type definition and data instances for request and reply types are represented by means of the Fast DDS Dynamic Types API, which allows to get rid of TypeSupport for each used type and eases users the task of defining and using their own custom types on the go, by means of a valid IDL definition.
This class inherits from Fast DDS Data Reader Listener and from Fast DDS Data Writer Listener for reacting to datawriter and datareader events, such as matching with subscribers and publishers or receiving new data from them.
Server(eprosima::is::sh::fastdds::Participant *participant, const std::string &service_name, const xtypes::DynamicType &request_type, const xtypes::DynamicType &reply_type, const YAML::Node &config)¶
Construct a new Server object.
[in] service_name: The service name. It will produce two topics:
[in] request_type: A dynamic type definition of the request topic’s type.
[in] reply_type: A dynamic type definition of the reply topic’s type.
[in] config: Additional configuration that might be required to configure this Server.
DDSMiddlewareExeption: if some error occurs while creating the Fast DDS entities.
Inherited from ServiceProvider.
add_config(const YAML::Node &configuration)¶
Handle type remappings for DDS request and reply types. It allows to resolve complex type remappings, which remap to a specific type member, for example, an UnionType member, by means of the dot
[in] configuration: The YAML configuration containing the remapping to be applied.