1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
- using System;
- using System.Diagnostics;
- using System.IO;
- namespace Org.BouncyCastle.Utilities.IO
- {
- public abstract class BaseInputStream : Stream
- {
- private bool closed;
- public sealed override bool CanRead { get { return !closed; } }
- public sealed override bool CanSeek { get { return false; } }
- public sealed override bool CanWrite { get { return false; } }
- #if PORTABLE || NETFX_CORE
- protected override void Dispose(bool disposing)
- {
- if (disposing)
- {
- closed = true;
- }
- base.Dispose(disposing);
- }
- #else
- public override void Close()
- {
- closed = true;
- base.Close();
- }
- #endif
- public sealed override void Flush() {}
- public sealed override long Length { get { throw new NotSupportedException(); } }
- public sealed override long Position
- {
- get { throw new NotSupportedException(); }
- set { throw new NotSupportedException(); }
- }
- public override int Read(byte[] buffer, int offset, int count)
- {
- int pos = offset;
- try
- {
- int end = offset + count;
- while (pos < end)
- {
- int b = ReadByte();
- if (b == -1) break;
- buffer[pos++] = (byte) b;
- }
- }
- catch (IOException)
- {
- if (pos == offset) throw;
- }
- return pos - offset;
- }
- 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(); }
- }
- }
- #endif
|