BUG-5280: optimize identifier serialization format
Using ObjectOutput.writeObject() results in large overhead, resulting
in transaction identifiers weighing in at 549 bytes when used in an object.
Introduce WritableObject concept, which has a WriteTo(ObjectOutput) method
and a static factory method readForm(ObjectInput). This effectively means
we do not get Java Serialization headers.
Also make FrontendType a final class, adopting the WritableObject serialization,
which brings down the overhead to below 100 bytes.
Change-Id: I20294d4fdf309f250d507dfc675d8405c1fcf505
Signed-off-by: Robert Varga <rovarga@cisco.com>
13 files changed: