docs: private int writeKnownLengthUncompressed(InputStream message, int messageLength)
        throws IOException {
      if (maxOutboundMessageSize >= 0 && messageLength > maxOutboundMessageSize) {
        throw Status.RESOURCE_EXHAUSTED
            .withDescription(
                String.format("message too large %d > %d", messageLength , maxOutboundMessageSize))
            .asRuntimeException();
      }
      ByteBuffer header = ByteBuffer.wrap(headerScratch);
      header.put(UNCOMPRESSED);
      header.putInt(messageLength);
      // Allocate the initial buffer chunk based on frame header + payload length.
      // Note that the allocator may allocate a buffer larger or smaller than this length
      if (buffer == null) {
        buffer = bufferAllocator.allocate(header.position() + messageLength);
      }
      writeRaw(headerScratch, 0, header.position());
      return writeToOutputStream(message, outputStreamAdapter);
    }