Skip to content

Commit d6704a2

Browse files
authored
Improve transport types (#2090)
* improve types * asyncio.CancelledError is no longer derived from Exception
1 parent 07c43b5 commit d6704a2

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

pymodbus/transport/serialtransport.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -120,19 +120,19 @@ def abort(self) -> None:
120120

121121
# ------------------------------------------------
122122

123-
def intern_read_ready(self):
123+
def intern_read_ready(self) -> None:
124124
"""Test if there are data waiting."""
125125
try:
126126
if data := self.sync_serial.read(1024):
127-
self.intern_protocol.data_received(data)
127+
self.intern_protocol.data_received(data) # type: ignore[attr-defined]
128128
except serial.SerialException as exc:
129129
self.close(exc=exc)
130130

131-
def intern_write_ready(self):
131+
def intern_write_ready(self) -> None:
132132
"""Asynchronously write buffered data."""
133133
data = b"".join(self.intern_write_buffer)
134134
try:
135-
if (nlen := self.sync_serial.write(data)) < len(data):
135+
if (nlen := self.sync_serial.write(data)) and nlen < len(data):
136136
self.intern_write_buffer = [data[nlen:]]
137137
if not self.poll_task:
138138
self.async_loop.add_writer(
@@ -154,8 +154,8 @@ async def polling_task(self):
154154
self.intern_write_ready()
155155
if self.sync_serial.in_waiting:
156156
self.intern_read_ready()
157-
except asyncio.CancelledError as exc:
158-
self.close(exc)
157+
except asyncio.CancelledError:
158+
self.close(None)
159159

160160

161161
async def create_serial_connection(

0 commit comments

Comments
 (0)