/// <summary> /// TBD /// </summary> /// <param name="stream">TBD</param> /// <param name="snapshot">TBD</param> protected void Serialize(Stream stream, Serialization.Snapshot snapshot) { var serializer = _serialization.FindSerializerFor(snapshot, _defaultSerializer); var bytes = serializer.ToBinary(snapshot); stream.Write(bytes, 0, bytes.Length); }
private void Serialize(Serialization.Snapshot snapshot, Stream stream) { var serializer = _serialization.FindSerializerFor(snapshot); var bytes = serializer.ToBinary(snapshot); stream.Write(bytes, 0, bytes.Length); }
private SnapshotEntry ToSnapshotEntry(SnapshotMetadata metadata, object snapshot) { if (_settings.LegacySerialization) { var manifest = snapshot.GetType().TypeQualifiedName(); return(new SnapshotEntry { Id = metadata.PersistenceId + "_" + metadata.SequenceNr, PersistenceId = metadata.PersistenceId, SequenceNr = metadata.SequenceNr, Snapshot = snapshot, Timestamp = metadata.Timestamp.Ticks, Manifest = manifest, SerializerId = null }); } var snapshotRep = new Serialization.Snapshot(snapshot); var serializer = _serialization.FindSerializerFor(snapshotRep); var binary = serializer.ToBinary(snapshotRep); var binaryManifest = Akka.Serialization.Serialization.ManifestFor(serializer, snapshotRep); return(new SnapshotEntry { Id = metadata.PersistenceId + "_" + metadata.SequenceNr, PersistenceId = metadata.PersistenceId, SequenceNr = metadata.SequenceNr, Snapshot = binary, Timestamp = metadata.Timestamp.Ticks, Manifest = binaryManifest, SerializerId = serializer?.Identifier }); }
private void Save(SnapshotMetadata metadata, object payload) { var tempFile = GetSnapshotFile(metadata, ".tmp"); using (var stream = tempFile.OpenWrite()) { var snapshot = new Serialization.Snapshot(payload); Serialize(snapshot, stream); } // remove .tmp extension and rename var newFilePath = tempFile.FullName.Substring(0, tempFile.FullName.Length - 4); File.Move(tempFile.FullName, newFilePath); }
public byte[] SnapshotToBytes(Serialization.Snapshot snapshot) { var serializer = _actorSystem.Serialization.FindSerializerForType(_snapshotType); return(serializer.ToBinary(snapshot)); }
/// <summary> /// TBD /// </summary> /// <param name="stream">TBD</param> /// <param name="snapshot">TBD</param> protected void Serialize(Stream stream, Serialization.Snapshot snapshot) { var bytes = _wrapperSerializer.ToBinary(snapshot); stream.Write(bytes, 0, bytes.Length); }