code: func NewDecoder(r io.ReadCloser, d runtime.Decoder) Decoder {
  	return &decoder{
  		reader:   r,
  		decoder:  d,
  		buf:      make([]byte, 1024),
  		maxBytes: 16 * 1024 * 1024,
  	}
  }
docs: // NewDecoder creates a streaming decoder that reads object chunks from r and decodes them with d.
  // The reader is expected to return ErrShortRead if the provided buffer is not large enough to read
  // an entire object.