IrcDotNet.CircularBufferStream.Seek C# (CSharp) Method

Seek() public method

public Seek ( long offset, SeekOrigin origin ) : long
offset long
origin SeekOrigin
return long
        public override long Seek(long offset, SeekOrigin origin)
        {
            switch (origin)
            {
                case SeekOrigin.Begin:
                    this.readPosition = offset % this.buffer.Length;
                    break;
                case SeekOrigin.End:
                    this.readPosition = (this.buffer.Length - offset) % this.buffer.Length;
                    break;
                case SeekOrigin.Current:
                    this.readPosition = (this.readPosition + offset) % this.buffer.Length;
                    break;
                default:
                    throw new NotSupportedException();
            }

            return this.readPosition;
        }