/// <summary>
        /// Initializes a new instance of the <see cref="Http2Stream"/> class.
        /// </summary>
        /// <param name="id">The stream id.</param>
        /// <param name="session">The stream session.</param>
        public Http2Stream(int id, ProtocolSession session)
        {
            this.StreamId = id;
            this.Session = session;
            this.Headers = new ProtocolHeaders();
            this.protocol = session.Protocol;

            this.CurrentWindowBalanceFromServer = session.CurrentWindowBalanceFromServer;

            this.protocol.OnStreamFrame += this.OnProtocolData;
            this.protocol.OnStreamError += this.OnStreamError;
            this.protocol.OnSessionFrame += this.OnSessionFrame;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="Http2Stream"/> class.
        /// </summary>
        /// <param name="id">The stream id.</param>
        /// <param name="session">The stream session.</param>
        public Http2Stream(int id, ProtocolSession session)
        {
            this.StreamId = id;
            this.Session  = session;
            this.Headers  = new ProtocolHeaders();
            this.protocol = session.Protocol;

            this.CurrentWindowBalanceFromServer = session.CurrentWindowBalanceFromServer;

            this.protocol.OnStreamFrame  += this.OnProtocolData;
            this.protocol.OnStreamError  += this.OnStreamError;
            this.protocol.OnSessionFrame += this.OnSessionFrame;
        }