diff options
author | Peter Dettman <peter.dettman@bouncycastle.org> | 2022-11-01 14:39:54 +0700 |
---|---|---|
committer | Peter Dettman <peter.dettman@bouncycastle.org> | 2022-11-01 14:39:54 +0700 |
commit | 716a491e3ed312da6c80a74e327d62dd4388b11e (patch) | |
tree | 0adabea28431857f372256233ddd4b2e0982190b /crypto/src/util | |
parent | Package with LICENSE.md file (diff) | |
download | BouncyCastle.NET-ed25519-716a491e3ed312da6c80a74e327d62dd4388b11e.tar.xz |
More Span-based Stream methods
Diffstat (limited to 'crypto/src/util')
-rw-r--r-- | crypto/src/util/io/BaseInputStream.cs | 4 | ||||
-rw-r--r-- | crypto/src/util/io/BaseOutputStream.cs | 3 | ||||
-rw-r--r-- | crypto/src/util/io/FilterStream.cs | 23 |
3 files changed, 26 insertions, 4 deletions
diff --git a/crypto/src/util/io/BaseInputStream.cs b/crypto/src/util/io/BaseInputStream.cs index ebe256632..eaaf9556d 100644 --- a/crypto/src/util/io/BaseInputStream.cs +++ b/crypto/src/util/io/BaseInputStream.cs @@ -45,5 +45,9 @@ namespace Org.BouncyCastle.Utilities.IO public sealed override long Seek(long offset, SeekOrigin origin) { throw new NotSupportedException(); } public sealed override void SetLength(long value) { throw new NotSupportedException(); } public sealed override void Write(byte[] buffer, int offset, int count) { throw new NotSupportedException(); } + +#if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER + public override void Write(ReadOnlySpan<byte> buffer) { throw new NotSupportedException(); } +#endif } } diff --git a/crypto/src/util/io/BaseOutputStream.cs b/crypto/src/util/io/BaseOutputStream.cs index dad9b19a4..0fc8e9681 100644 --- a/crypto/src/util/io/BaseOutputStream.cs +++ b/crypto/src/util/io/BaseOutputStream.cs @@ -21,6 +21,9 @@ namespace Org.BouncyCastle.Utilities.IO set { throw new NotSupportedException(); } } public sealed override int Read(byte[] buffer, int offset, int count) { throw new NotSupportedException(); } +#if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER + public sealed override int Read(Span<byte> buffer) { throw new NotSupportedException(); } +#endif public sealed override long Seek(long offset, SeekOrigin origin) { throw new NotSupportedException(); } public sealed override void SetLength(long value) { throw new NotSupportedException(); } diff --git a/crypto/src/util/io/FilterStream.cs b/crypto/src/util/io/FilterStream.cs index d9bcbb8ef..38077edd2 100644 --- a/crypto/src/util/io/FilterStream.cs +++ b/crypto/src/util/io/FilterStream.cs @@ -10,10 +10,7 @@ namespace Org.BouncyCastle.Utilities.IO public FilterStream(Stream s) { - if (s == null) - throw new ArgumentNullException(nameof(s)); - - this.s = s; + this.s = s ?? throw new ArgumentNullException(nameof(s)); } public override bool CanRead { @@ -27,6 +24,12 @@ namespace Org.BouncyCastle.Utilities.IO { get { return s.CanWrite; } } +#if NETCOREAPP2_0_OR_GREATER || NETSTANDARD2_1_OR_GREATER + public override void CopyTo(Stream destination, int bufferSize) + { + s.CopyTo(destination, bufferSize); + } +#endif public override void Flush() { s.Flush(); @@ -44,6 +47,12 @@ namespace Org.BouncyCastle.Utilities.IO { return s.Read(buffer, offset, count); } +#if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER + public override int Read(Span<byte> buffer) + { + return s.Read(buffer); + } +#endif public override int ReadByte() { return s.ReadByte(); @@ -60,6 +69,12 @@ namespace Org.BouncyCastle.Utilities.IO { s.Write(buffer, offset, count); } +#if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER + public override void Write(ReadOnlySpan<byte> buffer) + { + s.Write(buffer); + } +#endif public override void WriteByte(byte value) { s.WriteByte(value); |