'Reliably write some data.
The data is buffered until the underlying file descriptor is ready
for writing. If there is more than C{self.bufferSize} data in the
buffer and this descriptor has a registered streaming producer, its
C{pauseProducing()} method will be called.'

def write(self, data):

    if isinstance(data, unicode):
        raise TypeError('Data    must    not    be    unicode')
    if ((not self.connected) or self._writeDisconnected):
        return
    if data:
        self._tempDataBuffer.append(data)
        self._tempDataLen += len(data)
        self._maybePauseProducer()
        self.startWriting()
