summary refs log tree commit diff
path: root/crypto/src/crypto/IStreamCalculator.cs
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/src/crypto/IStreamCalculator.cs')
-rw-r--r--crypto/src/crypto/IStreamCalculator.cs23
1 files changed, 23 insertions, 0 deletions
diff --git a/crypto/src/crypto/IStreamCalculator.cs b/crypto/src/crypto/IStreamCalculator.cs
new file mode 100644

index 000000000..19a542845 --- /dev/null +++ b/crypto/src/crypto/IStreamCalculator.cs
@@ -0,0 +1,23 @@ +using System; +using System.IO; + +namespace Org.BouncyCastle.Crypto +{ + /// <summary> + /// Base interface for cryptographic operations such as Hashes, MACs, and Signatures which reduce a stream of data + /// to a single value. + /// </summary> + public interface IStreamCalculator + { + /// <summary>Return a "sink" stream which only exists to update the implementing object.</summary> + /// <returns>A stream to write to in order to update the implementing object.</returns> + Stream Stream { get; } + + /// <summary> + /// Return the result of processing the stream. This value is only available once the stream + /// has been closed. + /// </summary> + /// <returns>The result of processing the stream.</returns> + Object GetResult(); + } +}