'Called when the connection has received a chunk of data from the
underlying transport. If the stream has been registered with a
consumer, and is currently able to push data, immediately passes it
through. Otherwise, buffers the chunk until we can start producing.
@param data: The chunk of data that was received.
@type data: L{bytes}
@param flowControlledLength: The total flow controlled length of this
chunk, which is used when we want to re-open the window. May be
different to C{len(data)}.
@type flowControlledLength: L{int}'

def receiveDataChunk(self, data, flowControlledLength):

    if (not self.producing):
        self._inboundDataBuffer.append((data, flowControlledLength))
    else:
        self._request.handleContentChunk(data)
        self._conn.openStreamWindow(self.streamID, flowControlledLength)
