_write(chunk, encoding, callback) {
        // Spread the arguments to allow for a single object argument
        if (chunk.chunk && chunk.encoding) {
            // Pull out the chunk and encoding from the object argument
            const temp = chunk;
            chunk = temp.chunk;
            encoding = temp.encoding;

            // Only use the callback from this specific chunk if one is not provided
            // This is because we want to respect the iteratore callback from the _writev method
            if (!callback) callback = temp.callback;
        }

        // Ensure this request has not been completed yet
        if (!this.completed) {
            // If this response has not be marked as an active stream, mark it as one and bind a 'finish' event handler to send response once a piped stream has completed
            if (!this._streaming) {
                this._streaming = true;
                this.once('finish', () => this.send());
            }

            // Attempt to write the chunk to the client with backpressure handling
            this._stream_chunk(chunk).then(callback).catch(callback);
        } else {
            // Trigger callback to flush the chunk as the response has already been completed
            callback();
        }
    }
Writes the provided chunk to the client over uWS with backpressure handling if a callback is provided.

@private
@param {String|Buffer|ArrayBuffer} chunk
@param {String} encoding
@param {Function} callback