def send(self, s):
m = Message()<EOL>m.add_byte(cMSG_CHANNEL_DATA)<EOL>m.add_int(self.remote_chanid)<EOL>return self._send(s, m)<EOL>
Send data to the channel.  Returns the number of bytes sent, or 0 if
the channel stream is closed.  Applications are responsible for
checking that all data has been sent: if only some of the data was
transmitted, the application needs to attempt delivery of the remaining
data.

:param str s: data to send
:return: number of bytes actually sent, as an `int`

:raises socket.timeout: if no data could be sent before the timeout set
    by `settimeout`.