本文整理汇总了Python中errno.EMSGSIZE属性的典型用法代码示例。如果您正苦于以下问题:Python errno.EMSGSIZE属性的具体用法?Python errno.EMSGSIZE怎么用?Python errno.EMSGSIZE使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类errno
的用法示例。
在下文中一共展示了errno.EMSGSIZE属性的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: send
# 需要导入模块: import errno [as 别名]
# 或者: from errno import EMSGSIZE [as 别名]
def send(self, message, flags):
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 err.Error(errno.EPIPE)
raise err.Error(errno.ENOTCONN)
if len(message) > self.send_miu:
raise err.Error(errno.EMSGSIZE)
while self.send_window_slots == 0 and self.state.ESTABLISHED:
if flags & nfc.llcp.MSG_DONTWAIT:
raise err.Error(errno.EWOULDBLOCK)
self.log("waiting on busy send window")
self.send_token.wait()
self.log("send {0} byte on {1}".format(len(message), str(self)))
if self.state.ESTABLISHED:
send_pdu = pdu.Information(self.peer, self.addr, data=message)
send_pdu.ns = self.send_cnt
self.send_cnt = (self.send_cnt + 1) % 16
super(DataLinkConnection, self).send(send_pdu, flags)
return self.state.ESTABLISHED is True
示例2: test_sendto
# 需要导入模块: import errno [as 别名]
# 或者: from errno import EMSGSIZE [as 别名]
def test_sendto(self, tco):
pdu = nfc.llcp.pdu.UnnumberedInformation(1, 1, HEX('1122'))
assert tco.sendto(pdu.data, 1, flags=nfc.llcp.MSG_DONTWAIT) is True
assert tco.dequeue(10, 4) == pdu
assert tco.connect(2) is True
with pytest.raises(nfc.llcp.Error) as excinfo:
tco.sendto(pdu.data, 1, flags=nfc.llcp.MSG_DONTWAIT)
assert excinfo.value.errno == errno.EDESTADDRREQ
with pytest.raises(nfc.llcp.Error) as excinfo:
data = (tco.send_miu + 1) * HEX('11')
tco.sendto(data, 2, flags=nfc.llcp.MSG_DONTWAIT)
assert excinfo.value.errno == errno.EMSGSIZE
tco.close()
with pytest.raises(nfc.llcp.Error) as excinfo:
tco.sendto(pdu.data, 1, 0)
assert excinfo.value.errno == errno.ESHUTDOWN
示例3: write
# 需要导入模块: import errno [as 别名]
# 或者: from errno import EMSGSIZE [as 别名]
def write(self, datagram, address):
"""Write a datagram."""
try:
return self.socket.sendto(datagram, address)
except socket.error as se:
no = se.args[0]
if no == EINTR:
return self.write(datagram, address)
elif no == EMSGSIZE:
raise error.MessageLengthError("message too long")
elif no == EAGAIN:
# oh, well, drop the data. The only difference from UDP
# is that UDP won't ever notice.
# TODO: add TCP-like buffering
pass
else:
raise
示例4: write
# 需要导入模块: import errno [as 别名]
# 或者: from errno import EMSGSIZE [as 别名]
def write(self, datagram, address):
"""Write a datagram."""
try:
return self.socket.sendto(datagram, address)
except socket.error, se:
no = se.args[0]
if no == EINTR:
return self.write(datagram, address)
elif no == EMSGSIZE:
raise error.MessageLengthError, "message too long"
elif no == EAGAIN:
# oh, well, drop the data. The only difference from UDP
# is that UDP won't ever notice.
# TODO: add TCP-like buffering
pass
else:
raise
示例5: write
# 需要导入模块: import errno [as 别名]
# 或者: from errno import EMSGSIZE [as 别名]
def write(self, datagram, addr=None):
"""Write a datagram.
@param addr: should be a tuple (ip, port), can be None in connected mode.
"""
if self._connectedAddr:
assert addr in (None, self._connectedAddr)
try:
return self.socket.send(datagram)
except socket.error, se:
no = se.args[0]
if no == EINTR:
return self.write(datagram)
elif no == EMSGSIZE:
raise error.MessageLengthError, "message too long"
elif no == ECONNREFUSED:
self.protocol.connectionRefused()
else:
raise
示例6: sendto
# 需要导入模块: import errno [as 别名]
# 或者: from errno import EMSGSIZE [as 别名]
def sendto(self, message, dest, flags):
if self.state.SHUTDOWN:
raise err.Error(errno.ESHUTDOWN)
if self.peer and dest != self.peer:
raise err.Error(errno.EDESTADDRREQ)
if len(message) > self.send_miu:
raise err.Error(errno.EMSGSIZE)
send_pdu = pdu.UnnumberedInformation(dest, self.addr, data=message)
super(LogicalDataLink, self).send(send_pdu, flags)
return self.state.ESTABLISHED is True
示例7: write
# 需要导入模块: import errno [as 别名]
# 或者: from errno import EMSGSIZE [as 别名]
def write(self, datagram, addr=None):
"""
Write a datagram.
@type datagram: C{str}
@param datagram: The datagram to be sent.
@type addr: C{tuple} containing C{str} as first element and C{int} as
second element, or C{None}
@param addr: A tuple of (I{stringified dotted-quad IP address},
I{integer port number}); can be C{None} in connected mode.
"""
if self._connectedAddr:
assert addr in (None, self._connectedAddr)
try:
return self.socket.send(datagram)
except socket.error, se:
no = se.args[0]
if no == EINTR:
return self.write(datagram)
elif no == EMSGSIZE:
raise error.MessageLengthError, "message too long"
elif no == ECONNREFUSED:
self.protocol.connectionRefused()
else:
raise
示例8: write
# 需要导入模块: import errno [as 别名]
# 或者: from errno import EMSGSIZE [as 别名]
def write(self, datagram):
"""Write a datagram."""
# header = makePacketInfo(0, 0)
try:
return os.write(self.fd, datagram)
except IOError, e:
if e.errno == errno.EINTR:
return self.write(datagram)
elif e.errno == errno.EMSGSIZE:
raise error.MessageLengthError, "message too long"
elif e.errno == errno.ECONNREFUSED:
raise error.ConnectionRefusedError
else:
raise
示例9: write
# 需要导入模块: import errno [as 别名]
# 或者: from errno import EMSGSIZE [as 别名]
def write(self, datagram, addr=None):
"""
Write a datagram.
@type datagram: L{bytes}
@param datagram: The datagram to be sent.
@type addr: L{tuple} containing L{str} as first element and L{int} as
second element, or L{None}
@param addr: A tuple of (I{stringified IPv4 or IPv6 address},
I{integer port number}); can be L{None} in connected mode.
"""
if self._connectedAddr:
assert addr in (None, self._connectedAddr)
try:
return self.socket.send(datagram)
except socket.error as se:
no = se.args[0]
if no == EINTR:
return self.write(datagram)
elif no == EMSGSIZE:
raise error.MessageLengthError("message too long")
elif no == ECONNREFUSED:
self.protocol.connectionRefused()
else:
raise
else:
assert addr != None
if (not abstract.isIPAddress(addr[0])
and not abstract.isIPv6Address(addr[0])
and addr[0] != "<broadcast>"):
raise error.InvalidAddressError(
addr[0],
"write() only accepts IP addresses, not hostnames")
if ((abstract.isIPAddress(addr[0]) or addr[0] == "<broadcast>")
and self.addressFamily == socket.AF_INET6):
raise error.InvalidAddressError(
addr[0],
"IPv6 port write() called with IPv4 or broadcast address")
if (abstract.isIPv6Address(addr[0])
and self.addressFamily == socket.AF_INET):
raise error.InvalidAddressError(
addr[0], "IPv4 port write() called with IPv6 address")
try:
return self.socket.sendto(datagram, addr)
except socket.error as se:
no = se.args[0]
if no == EINTR:
return self.write(datagram, addr)
elif no == EMSGSIZE:
raise error.MessageLengthError("message too long")
elif no == ECONNREFUSED:
# in non-connected UDP ECONNREFUSED is platform dependent, I
# think and the info is not necessarily useful. Nevertheless
# maybe we should call connectionRefused? XXX
return
else:
raise