SERVICE ####### GENERAL ======= The Service VHDL generation closely follows the general RTPS IDL interface generation. For each Service (i.e. .srv File) two files are generated, a server and a client file. Each file contains both encoding and decoding functionality (similar to the key_holder files). The code generation follows the normal code generation for encoding and decoding with following changes: * Encoding and Decoding stages get a "RQ_"or "RR_" prepended to the to differentiate between Request and Response message members, respectively. e.g. GET_A -> GET_RQ_A, WRITE_SUM -> WRITE_RR_SUM * Similar to the previous point, the _package differentiates the MAX_* sizes of the Request and Response message members. e.g. MAX_A_SIZE -> MAX_RQ_A_SIZE, MAX_SUM_SIZE -> MAX_RR_SUM_SIZE * The _package calculates both a maximum request and response message size, named MAX__RQ_SIZE and MAX__RR_SIZE, respectively. The maximum includes the service overhead bytes that are contained in the DDS Payloads. The constant SERVICE_OVERHEAD_BYTES from ros_package gives this overhead bytes.