Python socket.MSG_DONTWAIT Examples
The following are 23
code examples of socket.MSG_DONTWAIT().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
socket
, or try the search function
.
Example #1
Source File: test_sendmsg.py From learn_python3_spider with MIT License | 6 votes |
def test_flags(self): """ The C{flags} argument to L{send1msg} is passed on to the underlying C{sendmsg} call, to affect it in whatever way is defined by those flags. """ # Just exercise one flag with simple, well-known behavior. MSG_DONTWAIT # makes the send a non-blocking call, even if the socket is in blocking # mode. See also test_flags in RecvmsgTests for i in range(8 * 1024): try: send1msg(self.input.fileno(), "x" * 1024, MSG_DONTWAIT) except error as e: self.assertEqual(e.args[0], errno.EAGAIN) break else: self.fail( "Failed to fill up the send buffer, " "or maybe send1msg blocked for a while")
Example #2
Source File: btcomm.py From BlueDot with MIT License | 6 votes |
def _read(self): #read until the client is stopped or the client disconnects while self._connected: #read data from Bluetooth socket try: data = self._client_sock.recv(1024, socket.MSG_DONTWAIT) except IOError as e: self._handle_bt_error(e) data = b"" if data: #print("received [%s]" % data) if self._data_received_callback: if self._encoding: data = data.decode(self._encoding) self.data_received_callback(data) if self._conn_thread.stopping.wait(BLUETOOTH_TIMEOUT): break
Example #3
Source File: btcomm.py From BlueDot with MIT License | 6 votes |
def _read(self): #read until the server is stopped or the client disconnects while self._client_connected: #read data from Bluetooth socket try: data = self._client_sock.recv(1024, socket.MSG_DONTWAIT) except IOError as e: self._handle_bt_error(e) data = b"" if data: if self._data_received_callback: if self._encoding: data = data.decode(self._encoding) self.data_received_callback(data) if self._conn_thread.stopping.wait(BLUETOOTH_TIMEOUT): break #close the client socket self._client_sock.close() self._client_sock = None self._client_info = None self._client_connected = False
Example #4
Source File: test_sendmsg.py From learn_python3_spider with MIT License | 6 votes |
def test_flags(self): """ The C{flags} argument to L{sendmsg} is passed on to the underlying C{sendmsg} call, to affect it in whatever way is defined by those flags. """ # Just exercise one flag with simple, well-known behavior. MSG_DONTWAIT # makes the send a non-blocking call, even if the socket is in blocking # mode. See also test_flags in RecvmsgTests for i in range(8 * 1024): try: sendmsg(self.input, b"x" * 1024, flags=MSG_DONTWAIT) except error as e: self.assertEqual(e.args[0], errno.EAGAIN) break else: self.fail( "Failed to fill up the send buffer, " "or maybe send1msg blocked for a while")
Example #5
Source File: test_sendmsg.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def test_flags(self): """ The C{flags} argument to L{sendmsg} is passed on to the underlying C{sendmsg} call, to affect it in whatever way is defined by those flags. """ # Just exercise one flag with simple, well-known behavior. MSG_DONTWAIT # makes the send a non-blocking call, even if the socket is in blocking # mode. See also test_flags in RecvmsgTests for i in range(1024): try: sendmsg(self.input, b"x" * 1024, flags=MSG_DONTWAIT) except error as e: self.assertEqual(e.args[0], errno.EAGAIN) break else: self.fail( "Failed to fill up the send buffer, " "or maybe send1msg blocked for a while")
Example #6
Source File: test_sendmsg.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def test_flags(self): """ The C{flags} argument to L{send1msg} is passed on to the underlying C{sendmsg} call, to affect it in whatever way is defined by those flags. """ # Just exercise one flag with simple, well-known behavior. MSG_DONTWAIT # makes the send a non-blocking call, even if the socket is in blocking # mode. See also test_flags in RecvmsgTests for i in range(1024): try: send1msg(self.input.fileno(), "x" * 1024, MSG_DONTWAIT) except error as e: self.assertEqual(e.args[0], errno.EAGAIN) break else: self.fail( "Failed to fill up the send buffer, " "or maybe send1msg blocked for a while")
Example #7
Source File: simulator_stuff.py From simulator with GNU General Public License v3.0 | 6 votes |
def sendto(self, msg, address): if (self.sock.getsockname(), address) not in self.isolations: self.lg.debug("{} - [{}] --> {}".format(self.sock.getsockname(), msg, address)) try: return self.sock.sendto(msg, socket.MSG_DONTWAIT, address) except ConnectionRefusedError: self.lg.warning( "simulator_stuff.sendto: the message {} has not been \ delivered because the destination {} left the team".format( msg, address)) except KeyboardInterrupt: self.lg.warning("simulator_stuff.sendto: send_packet {} to {}".format(msg, address)) raise except FileNotFoundError: self.lg.error("simulator_stuff.sendto: {}".format(address)) raise except BlockingIOError: raise else: self.lg.warning("{} not sent from {} to {} (isolated)".format(msg, self.sock.getsockname(), address))
Example #8
Source File: test_socket.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def _testSendmsgTimeout(self): try: self.cli_sock.settimeout(0.03) with self.assertRaises(socket.timeout): while True: self.sendmsgToServer([b"a"*512]) finally: self.misc_event.set() # XXX: would be nice to have more tests for sendmsg flags argument. # Linux supports MSG_DONTWAIT when sending, but in general, it # only works when receiving. Could add other platforms if they # support it too.
Example #9
Source File: test_socket.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def testSendmsgDontWait(self): # Check that MSG_DONTWAIT in flags causes non-blocking behaviour. self.assertEqual(self.serv_sock.recv(512), b"a"*512) self.assertTrue(self.misc_event.wait(timeout=self.fail_timeout))
Example #10
Source File: test_socket.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def _testSendmsgDontWait(self): try: with self.assertRaises(OSError) as cm: while True: self.sendmsgToServer([b"a"*512], [], socket.MSG_DONTWAIT) self.assertIn(cm.exception.errno, (errno.EAGAIN, errno.EWOULDBLOCK)) finally: self.misc_event.set()
Example #11
Source File: libnetfilter_queue.py From packet-queue with Apache License 2.0 | 5 votes |
def process(self): """Without blocking, read available packets and invoke their callbacks.""" data = self.socket.recv(BUFFER_SIZE, socket.MSG_DONTWAIT) buf = ctypes.create_string_buffer(data) nfq.nfq_handle_packet(self.handle, buf, len(data))
Example #12
Source File: haproxy.py From igcollect with MIT License | 5 votes |
def read_ha_proxy_stats(haproxy_stats_socket): conn = socket(AF_UNIX, SOCK_STREAM) try: conn.connect(haproxy_stats_socket) conn.sendall(b'show stat\r\n') data = conn.recv(BUFFER_SIZE) while len(data) % BUFFER_SIZE == 0: try: data += conn.recv(BUFFER_SIZE, MSG_DONTWAIT) except socket.error: break return data finally: conn.close()
Example #13
Source File: test_sendmsg.py From learn_python3_spider with MIT License | 5 votes |
def test_flags(self): """ The C{flags} argument to L{recv1msg} is passed on to the underlying C{recvmsg} call, to affect it in whatever way is defined by those flags. """ # See test_flags in SendmsgTests reader, writer = socketpair(AF_UNIX) exc = self.assertRaises( error, recv1msg, reader.fileno(), MSG_DONTWAIT) self.assertEqual(exc.args[0], errno.EAGAIN)
Example #14
Source File: select.py From profiling with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _send(self, sock, data): sock.sendall(data, socket.MSG_DONTWAIT)
Example #15
Source File: test_socket.py From ironpython3 with Apache License 2.0 | 5 votes |
def _testSendmsgTimeout(self): try: self.cli_sock.settimeout(0.03) with self.assertRaises(socket.timeout): while True: self.sendmsgToServer([b"a"*512]) finally: self.misc_event.set() # XXX: would be nice to have more tests for sendmsg flags argument. # Linux supports MSG_DONTWAIT when sending, but in general, it # only works when receiving. Could add other platforms if they # support it too.
Example #16
Source File: test_socket.py From ironpython3 with Apache License 2.0 | 5 votes |
def testSendmsgDontWait(self): # Check that MSG_DONTWAIT in flags causes non-blocking behaviour. self.assertEqual(self.serv_sock.recv(512), b"a"*512) self.assertTrue(self.misc_event.wait(timeout=self.fail_timeout))
Example #17
Source File: test_socket.py From ironpython3 with Apache License 2.0 | 5 votes |
def _testSendmsgDontWait(self): try: with self.assertRaises(OSError) as cm: while True: self.sendmsgToServer([b"a"*512], [], socket.MSG_DONTWAIT) self.assertIn(cm.exception.errno, (errno.EAGAIN, errno.EWOULDBLOCK)) finally: self.misc_event.set()
Example #18
Source File: Protocol.py From basil with BSD 3-Clause "New" or "Revised" License | 5 votes |
def try_recv(self): """Return None immediately if nothing is waiting""" try: lenstr = self.sock.recv(4, socket.MSG_DONTWAIT) except socket.error: return None if len(lenstr) < 4: raise EOFError("Socket closed") length = struct.unpack("<I", lenstr)[0] return self._get_next_obj(length)
Example #19
Source File: test_socket.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def _testSendmsgTimeout(self): try: self.cli_sock.settimeout(0.03) with self.assertRaises(socket.timeout): while True: self.sendmsgToServer([b"a"*512]) finally: self.misc_event.set() # XXX: would be nice to have more tests for sendmsg flags argument. # Linux supports MSG_DONTWAIT when sending, but in general, it # only works when receiving. Could add other platforms if they # support it too.
Example #20
Source File: test_socket.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def testSendmsgDontWait(self): # Check that MSG_DONTWAIT in flags causes non-blocking behaviour. self.assertEqual(self.serv_sock.recv(512), b"a"*512) self.assertTrue(self.misc_event.wait(timeout=self.fail_timeout))
Example #21
Source File: test_socket.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def _testSendmsgDontWait(self): try: with self.assertRaises(OSError) as cm: while True: self.sendmsgToServer([b"a"*512], [], socket.MSG_DONTWAIT) self.assertIn(cm.exception.errno, (errno.EAGAIN, errno.EWOULDBLOCK)) finally: self.misc_event.set()
Example #22
Source File: test_sendmsg.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def test_flags(self): """ The C{flags} argument to L{recv1msg} is passed on to the underlying C{recvmsg} call, to affect it in whatever way is defined by those flags. """ # See test_flags in SendmsgTests reader, writer = socketpair(AF_UNIX) exc = self.assertRaises( error, recv1msg, reader.fileno(), MSG_DONTWAIT) self.assertEqual(exc.args[0], errno.EAGAIN)
Example #23
Source File: socket_wrapper.py From simulator with GNU General Public License v3.0 | 5 votes |
def sendto(self, msg, address): self.lg.debug(f"{self.sock.getsockname()} - [{msg}] --> {address}") try: return self.sock.sendto(msg, socket.MSG_DONTWAIT, address) except ConnectionRefusedError: self.lg.error("sendto: connection refused from {address}") except KeyboardInterrupt: self.lg.warning("sendto: keyboard interrupt") raise except FileNotFoundError: self.lg.error("sendto: file not found") raise except BlockingIOError: raise