CmisSync.Lib.Streams.BandwidthLimitedStream.Read C# (CSharp) Метод

Read() публичный Метод

Read the specified buffer, offset and count.
public Read ( byte buffer, int offset, int count ) : int
buffer byte /// Target buffer. ///
offset int /// Offset. ///
count int /// Count of bytes. ///
Результат int
        public override int Read(byte[] buffer, int offset, int count) {
            if (this.ReadLimit == null) {
                return Stream.Read(buffer, offset, count);
            } else {
                // TODO Sleep must be implemented
                return Stream.Read(buffer, offset, count);
            }
        }

Usage Example

        public void ReadOrWriteOneByteMoreThanLimitTakesAtMinimumOneSecond([Values(true, false)]bool read) {
            byte[] buf = new byte[this.length];
            using (var memstream = new MemoryStream(this.buffer))
            using (var underTest = new BandwidthLimitedStream(memstream, limit: this.limit)) {
                var start = DateTime.Now;
                if (read) {
                    underTest.Read(buf, 0, (int)this.limit + 1);
                } else {
                    underTest.Write(buf, 0, (int)this.limit + 1);
                }

                TimeSpan duration = DateTime.Now - start;
                Assert.That(duration.TotalMilliseconds, Is.AtLeast(1000));
            }
        }