Skip to content

Commit

Permalink
Make the SignatureWriter class public. Resolves #15
Browse files Browse the repository at this point in the history
  • Loading branch information
hnrkndrssn committed Oct 4, 2017
1 parent b874917 commit be521c3
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 28 deletions.
28 changes: 0 additions & 28 deletions source/Octodiff/Core/ISignatureWriter.cs
Original file line number Diff line number Diff line change
@@ -1,36 +1,8 @@
using System.IO;

namespace Octodiff.Core
{
public interface ISignatureWriter
{
void WriteMetadata(IHashAlgorithm hashAlgorithm, IRollingChecksum rollingChecksumAlgorithm);
void WriteChunk(ChunkSignature signature);
}

class SignatureWriter : ISignatureWriter
{
private readonly BinaryWriter signatureStream;

public SignatureWriter(Stream signatureStream)
{
this.signatureStream = new BinaryWriter(signatureStream);
}

public void WriteMetadata(IHashAlgorithm hashAlgorithm, IRollingChecksum rollingChecksumAlgorithm)
{
signatureStream.Write(BinaryFormat.SignatureHeader);
signatureStream.Write(BinaryFormat.Version);
signatureStream.Write(hashAlgorithm.Name);
signatureStream.Write(rollingChecksumAlgorithm.Name);
signatureStream.Write(BinaryFormat.EndOfMetadata);
}

public void WriteChunk(ChunkSignature signature)
{
signatureStream.Write(signature.Length);
signatureStream.Write(signature.RollingChecksum);
signatureStream.Write(signature.Hash);
}
}
}
30 changes: 30 additions & 0 deletions source/Octodiff/Core/SignatureWriter.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
using System.IO;

namespace Octodiff.Core
{
public class SignatureWriter : ISignatureWriter
{
private readonly BinaryWriter signatureStream;

public SignatureWriter(Stream signatureStream)
{
this.signatureStream = new BinaryWriter(signatureStream);
}

public void WriteMetadata(IHashAlgorithm hashAlgorithm, IRollingChecksum rollingChecksumAlgorithm)
{
signatureStream.Write(BinaryFormat.SignatureHeader);
signatureStream.Write(BinaryFormat.Version);
signatureStream.Write(hashAlgorithm.Name);
signatureStream.Write(rollingChecksumAlgorithm.Name);
signatureStream.Write(BinaryFormat.EndOfMetadata);
}

public void WriteChunk(ChunkSignature signature)
{
signatureStream.Write(signature.Length);
signatureStream.Write(signature.RollingChecksum);
signatureStream.Write(signature.Hash);
}
}
}

0 comments on commit be521c3

Please sign in to comment.