Package pt.unl.fct.di.novasys.babel2.channels.serializers
@NullMarked
package pt.unl.fct.di.novasys.babel2.channels.serializers
Core serializer abstractions, registries, and primitive wire serializers for Babel 2 IP messaging.
This package provides the foundational binary serialization framework:
BabelNetworkSerializer— The core serializer interface providing bidirectional encoding/decoding and size estimation.BabelNetworkMessageSerializer— Serializer specialization for application messages with registered integer identifiers.SerializerRegistry— Central registry dynamically discovering message and type serializers viaServiceLoader.- Standard serializers for common data types such as
String,UUID, andInetSocketAddress.
-
ClassDescriptionBinary serializer for Netty
AsciiStringinstances.BabelNetworkMessageSerializer<T extends BabelMessage>Serializer contract for Babel IP network messages.BabelNetworkSerializer<T extends @Nullable Object>Low-level binary serializer contract for objects that need to be written to or read from a NettyByteBuf.Serializer forInetSocketAddressinstances, supporting both IPv4 (4 bytes) and IPv6 (16 bytes) addresses along with a 4-byte port number.Central registry that maps Java types and message IDs to theirBabelNetworkSerializer/BabelNetworkMessageSerializerimplementations.Binary serializer for UTF-8 encodedStringvalues.Binary serializer forUUIDvalues, encoding each instance as two consecutive 8-byte big-endian longs (most-significant bits followed by least-significant bits), for a total wire size of 16 bytes.