msgpack $ MsgPackExt :: SELF
Type of this instance, automatically specialized in every classmsgpack :: serialization_write $ MsgPackExt :: accept_msgpack_serializer
Hook to customize the serialization of this class to MessagePackmsgpack $ MsgPackExt :: core_serialize_to
Actual serialization ofself
to serializer
msgpack $ MsgPackExt :: from_deserializer
Create an instance of this class from thedeserializer
serialization :: Serializable :: accept_json_serializer
Refinable service to customize the serialization of this class to JSONserialization :: Serializable :: accept_msgpack_attribute_counter
Hook to customize the behavior of theAttributeCounter
serialization :: Serializable :: accept_msgpack_serializer
Hook to customize the serialization of this class to MessagePackserialization :: Serializable :: add_to_bundle
Called by[]=
to dynamically choose the appropriate method according
core :: Object :: class_factory
Implementation used byget_class
to create the specific class.
serialization :: Serializable :: core_serialize_to
Actual serialization ofself
to serializer
core :: Object :: defaultinit
msgpack :: MsgPackExt :: defaultinit
serialization :: Serializable :: from_deserializer
Create an instance of this class from thedeserializer
core :: Object :: is_same_instance
Return true ifself
and other
are the same instance (i.e. same identity).
core :: Object :: is_same_serialized
Isself
the same as other
in a serialization context?
core :: Object :: is_same_type
Return true ifself
and other
have the same dynamic type.
serialization :: Serializable :: msgpack_extra_array_items
Hook to request a larger than usual metadata arraycore :: Object :: output_class_name
Display class name on stdout (debug only).serialization :: Serializable :: serialize_msgpack
Serializeself
to MessagePack bytes
serialization :: Serializable :: serialize_to
Serializeself
to serializer
serialization :: Serializable :: serialize_to_json
Serializeself
to JSON
serialization :: Serializable :: to_pretty_json
Serializeself
to plain pretty JSON
Serializer::serialize
# Application specific MessagePack extension
class MsgPackExt
serialize
# Custom type code, in [0..127]
var typ: Int
# Data bytes
var data: Bytes
redef fun hash do return typ.hash + data.hash*8
redef fun ==(o) do return o isa MsgPackExt and o.typ == typ and o.data == data
redef fun to_s do return "<{class_name} typ: {typ.to_b}, data: {data.chexdigest}>"
end
lib/msgpack/ext.nit:20,1--33,3
redef class MsgPackExt
redef fun accept_msgpack_serializer(v) do v.stream.write_msgpack_ext(typ, data)
end
lib/msgpack/serialization_write.nit:240,1--242,3