public static SizeBasedCompleteSignature ReadSizeBasedBinarySignature(Stream s)
{
var sig = new SizeBasedCompleteSignature();
sig.Signatures = new Dictionary<int, CompleteSignature>();
// always go to beginning of stream.
s.Seek(0, SeekOrigin.Begin);
var reader = new BinaryReader(s);
int numberOfCompleteSignatures = reader.ReadInt32();
for (var i = 0; i < numberOfCompleteSignatures; i++)
{
int keySize = reader.ReadInt32();
var completeSig = ReadBinaryCompleteSignature(s);
sig.Signatures[keySize] = completeSig;
}
return sig;
}