Skip to content

Commit 93dd7cd

Browse files
author
BiffoBear
committed
Better way to handle no bytes on socket.
1 parent 142c216 commit 93dd7cd

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

adafruit_wiznet5k/adafruit_wiznet5k.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -848,19 +848,20 @@ def read_udp(self, socket_num: int, length: int) -> Tuple[int, bytes]:
848848
bytes_on_socket, bytes_read = 0, b""
849849
# Parse the UDP packet header.
850850
header_length, self._pbuff[:8] = self.socket_read(socket_num, 8)
851-
if not header_length:
852-
return bytes_on_socket, bytes_read
853-
if header_length != 8:
854-
raise ValueError("Invalid UDP header.")
855-
data_length = self._chip_parse_udp_header(socket_num)
856-
# Read the UDP packet data.
857-
if data_length:
858-
if data_length <= length:
859-
bytes_on_socket, bytes_read = self.socket_read(socket_num, data_length)
860-
else:
861-
bytes_on_socket, bytes_read = self.socket_read(socket_num, length)
862-
# just consume the rest, it is lost to the higher layers
863-
self.socket_read(socket_num, data_length - length)
851+
if header_length:
852+
if header_length != 8:
853+
raise ValueError("Invalid UDP header.")
854+
data_length = self._chip_parse_udp_header(socket_num)
855+
# Read the UDP packet data.
856+
if data_length:
857+
if data_length <= length:
858+
bytes_on_socket, bytes_read = self.socket_read(
859+
socket_num, data_length
860+
)
861+
else:
862+
bytes_on_socket, bytes_read = self.socket_read(socket_num, length)
863+
# just consume the rest, it is lost to the higher layers
864+
self.socket_read(socket_num, data_length - length)
864865
return bytes_on_socket, bytes_read
865866

866867
def socket_write(

0 commit comments

Comments
 (0)