Akka.Cluster.Tools.PublishSubscribe.Serialization.DistributedPubSubMessageSerializer.PayloadToProto C# (CSharp) Method

PayloadToProto() private method

private PayloadToProto ( object message ) : Payload
message object
return Payload
        private Payload PayloadToProto(object message)
        {
            var serializer = system.Serialization.FindSerializerFor(message);
            var builder = Payload.CreateBuilder()
                .SetEnclosedMessage(ByteString.CopyFrom(serializer.ToBinary(message)))
                .SetSerializerId(serializer.Identifier);

            SerializerWithStringManifest serializerWithManifest;
            if ((serializerWithManifest = serializer as SerializerWithStringManifest) != null)
            {
                var manifest = serializerWithManifest.Manifest(message);
                if (!string.IsNullOrEmpty(manifest))
                    builder.SetMessageManifest(ByteString.CopyFromUtf8(manifest));
            }
            else
            {
                if (serializer.IncludeManifest)
                    builder.SetMessageManifest(ByteString.CopyFromUtf8(message.GetType().FullName));
            }

            return builder.Build();
        }