This release adds copying accessors for embedded entities to ADM generated messages and entities of the form getXXXTo(Entity target), and also creates copy() and copyInto(Entity target) methods on generated entities. In Xbuf and Protobuf generated code the copy() operations preserve pass-through field value for received entities that have not been modified (a pass-through field is a field not defined in the generated code, but encoded on the wire by a sender). Additionally, in Xbuf generated code the copy is zero garbage. Prior to this change applications could: - use the clone() method to copy an embedded entity in a zero garbage fashion, but does not preserve pass-through fields.
or - use EmbeddedEntity.deserializeFrom(other.serializeToByteBuffer()); which preserves pass-through fields, but is not zero garbage.
The new copy() methods provide a way to do a pass-through field preserving copy that is also zero garbage. See Embedded Entities To take advantage of this functionality code regeneration is required. |