code: private void issueStreamError(ChannelHandlerContext ctx, int streamId, SpdyStreamStatus status) {
          boolean fireChannelRead = !spdySession.isRemoteSideClosed(streamId);
          ChannelPromise promise = ctx.newPromise();
          removeStream(streamId, promise);
  
          SpdyRstStreamFrame spdyRstStreamFrame = new DefaultSpdyRstStreamFrame(streamId, status);
          ctx.writeAndFlush(spdyRstStreamFrame, promise);
          if (fireChannelRead) {
              ctx.fireChannelRead(spdyRstStreamFrame);
          }
      }
docs: /*
  SPDY Stream Error Handling:
  
  Upon a stream error, the endpoint must send a RST_STREAM frame which contains
  the Stream-ID for the stream where the error occurred and the error getStatus which
  caused the error.
  
  After sending the RST_STREAM, the stream is closed to the sending endpoint.
  
  Note: this is only called by the worker thread