Commit Graph

22 Commits

Author SHA1 Message Date
Lonami Exo
b0f6b23e52 Fix creating new connections accessing invalid attributes 2017-09-22 16:11:07 +02:00
Lonami Exo
9dfb5d493c Fix BrokenPipeError was instance of OSError 2017-09-22 13:51:11 +02:00
Lonami Exo
a992f42781 Attempt at fixing socket is None on .connect() 2017-09-22 13:14:56 +02:00
Lonami Exo
2b2da843a1 Create a Connection only once and avoid no-op if was "connected" 2017-09-21 13:44:22 +02:00
Lonami Exo
4777b8dad4 Handle .connect() method more gracefully 2017-09-21 13:44:22 +02:00
Sergey
446174c7de Catching WinError 10038
While client.connect() there were OSError: [WinError 10038] an operation was attempted on something that is not a socket
2017-09-21 13:37:13 +02:00
Lonami Exo
d79dccc923 Add a lock around TcpClient.close() to try avoiding None.close() 2017-09-13 09:44:58 +02:00
Lonami Exo
15fd5390ae Optimize imports 2017-09-04 17:18:33 +02:00
Lonami Exo
626778bd32 Ignore EBADF when closing the socket 2017-09-03 13:44:29 +02:00
Lonami Exo
68cdc9eaf1 Treat OSError.errno == EBADF as a ConnectionResetError 2017-09-03 11:54:26 +02:00
Lonami Exo
2a5d08b23d Turn socket.timeout error into the more general TimeoutError 2017-09-03 10:01:00 +02:00
Lonami Exo
b908296efa Remove unused TcpClien.read(timeout=...) param, change other accessors 2017-09-02 19:33:42 +02:00
Lonami Exo
36f51e1e3f Remove ability to TcpClient.cancel_read()
This simplifies the process of sending and receiving data,
and makes use of Python's socket.settimeout instead a hand-crafted
version with a sort-of arbitrary self.delay = 0.1 (seconds), which
should improve the speed of the method
2017-09-02 19:14:11 +02:00
Lonami Exo
cc280a129d Remove TcpClient.write/read shared locks
Since they were shared between write and read, and now the read
is done constantly on a separate thread, the read lock would
cause the write method to be locked and not functional at all
2017-09-02 18:49:29 +02:00
Lonami Exo
82304b18eb Attempt at supporting IPv6 (#211 and #112) 2017-08-29 13:49:41 +02:00
Lonami Exo
592e107f52 Recreate the TCP socket only when needed 2017-08-29 13:35:56 +02:00
Lonami Exo
1a6231472e Ensure the connection is flagged as closed on errors, move #201 2017-08-22 23:12:32 +02:00
Lonami Exo
0cfbf63eaf Fix ConnectionResetError not flagging the socket as disconnected 2017-06-27 10:18:35 +02:00
Lonami Exo
843c16215c Add timeout parameter on TcpClient.connect() too 2017-06-22 19:21:33 +02:00
Lonami Exo
e4fbd87c75 Turn timeout into a property instead leaving it as a parameter 2017-06-22 11:43:42 +02:00
Lonami Exo
d8afb7e548 Also except BlockingIOError on TcpClient.send() 2017-06-12 10:44:04 +02:00
Lonami Exo
7adb4f09d6 Slightly reorganise the project structure 2017-06-09 16:13:39 +02:00