def send(self, message):
with self.send_token:
if not self.state.ESTABLISHED:
self.err("send() in socket state {0}".format(self.state))
if self.state.CLOSE_WAIT:
raise Error(errno.EPIPE)
raise Error(errno.ENOTCONN)
if len(message) > self.send_miu:
raise Error(errno.EMSGSIZE)
while self.send_window_slots == 0 and self.state.ESTABLISHED:
self.log("waiting on busy send window")
self.send_token.wait()
self.log("send() {0}".format(str(self)))
if self.state.ESTABLISHED:
pdu = Information(self.peer, self.addr, sdu=message)
pdu.ns = self.send_cnt
self.send_cnt = (self.send_cnt + 1) % 16
super(DataLinkConnection, self).send(pdu)
return self.state.ESTABLISHED == True
评论列表
文章目录