private PersistentPayload.Builder PayloadBuilder(object payload) { var serializer = system.Serialization.FindSerializerFor(payload); var builder = PersistentPayload.CreateBuilder(); if (serializer is SerializerWithStringManifest) { var manifest = ((SerializerWithStringManifest)serializer).Manifest(payload); if (manifest != null) { builder.SetPayloadManifest(ByteString.CopyFromUtf8(manifest)); } } else if (serializer.IncludeManifest) { builder.SetPayloadManifest(ByteString.CopyFromUtf8(payload.GetType().TypeQualifiedName())); } var bytes = serializer.ToBinary(payload); builder .SetPayload(ByteString.CopyFrom(bytes)) .SetSerializerId(serializer.Identifier); return(builder); }
private PersistentPayload.Builder PersistentPayloadToProto(object payload) { var serializer = system.Serialization.FindSerializerFor(payload); var builder = PersistentPayload.CreateBuilder(); if (serializer.IncludeManifest) { builder.SetPayloadManifest(ByteString.CopyFromUtf8(payload.GetType().FullName)); } var bytes = serializer.ToBinaryWithAddress(TransportInformation.Address, payload); builder .SetPayload(ByteString.CopyFrom(bytes)) .SetSerializerId(serializer.Identifier); return(builder); }
private PersistentPayload.Builder PersistentPayloadToProto(object payload) { if (TransportInformation != null) { Akka.Serialization.Serialization.CurrentTransportInformation = TransportInformation; } var serializer = system.Serialization.FindSerializerFor(payload); var builder = PersistentPayload.CreateBuilder(); if (serializer.IncludeManifest) { builder.SetPayloadManifest(ByteString.CopyFromUtf8(payload.GetType().FullName)); } builder .SetPayload(ByteString.CopyFrom(serializer.ToBinary(payload))) .SetSerializerId(serializer.Identifier); return(builder); }