described in documentation:
Identify types that require Zero Copy transfer over shared memory and annotate them with @transfer_mode(SHMEM_REF) in the IDL files.
Zero Copy transfer over shared memory requires the FlatData language binding when the type is variable-size.
So, if transfer variable-size data using shared memory, I need add @mutable。rti::flat::build_data(writer) will be used。