Namespace Akka.Serialization
Classes
ByteArraySerializer
This is a special Serializer that serializes and deserializes byte arrays only (just returns the byte array unchanged/uncopied).
HyperionSerializer
This is a special Serializer that serializes and deserializes plain old CLR objects (POCOs).
HyperionSerializerSettings
A typed settings class for a HyperionSerializer.
NewtonSoftJsonSerializer
This is a special Serializer that serializes and deserializes javascript objects only. These objects need to be in the JavaScript Object Notation (JSON) format.
NewtonSoftJsonSerializerSettings
A typed settings for a NewtonSoftJsonSerializer class.
NewtonSoftJsonSerializerSetup
Setup for the NewtonSoftJsonSerializer serializer.
Constructor is INTERNAL API. Use the factory method Create(Action<JsonSerializerSettings>).
NOTE:
- Newtonsoft.Json.JsonSerializerSettings.ObjectCreationHandling will always be overriden with
Newtonsoft.Json.ObjectCreationHandling.Replace
- Newtonsoft.Json.JsonSerializerSettings.ContractResolver will always be overriden with the internal contract resolver Akka.Serialization.NewtonSoftJsonSerializer.AkkaContractResolver
NullSerializer
This is a special Serializer that serializes and deserializes nulls only
Serialization
The serialization system used by Akka.NET to serialize and deserialize objects per the ActorSystem's serialization configuration.
SerializationSetup
Setup for the ActorSystem serialization subsystem.
Constructor is INTERNAL API. Use the factory method Create(Func<ExtendedActorSystem, ImmutableHashSet<SerializerDetails>>).
Serializer
A Serializer represents a bimap between an object and an array of bytes representing that object.
Serializers are loaded using reflection during ActorSystem start-up, where two constructors are tried in order:
- taking exactly one argument of type ExtendedActorSystem; this should be the preferred one because all reflective loading of classes during deserialization should use ExtendedActorSystem.dynamicAccess (see [[akka.actor.DynamicAccess]]), and
- without arguments, which is only an option if the serializer does not load classes using reflection.
Be sure to always use the PropertyManager for loading classes! This is necessary to avoid strange match errors and inequalities which arise from different class loaders loading the same class.
SerializerDetails
Constructor is internal API.
Use the Create(String, Serializer, ImmutableHashSet<Type>) factory method instead
SerializerWithStringManifest
TBD
Interfaces
IKnownTypesProvider
Interface that can be implemented in order to determine some custom logic, that's going to provide a list of types that are known to be shared for all corresponding parties during remote communication.