99with contextlib .suppress (ImportError ):
1010 import serial
1111
12+
1213class SerialTransport (asyncio .Transport ):
1314 """An asyncio serial transport."""
1415
15- force_poll : bool
16+ force_poll : bool = os . name == "nt"
1617
1718 def __init__ (self , loop , protocol , url , baudrate , bytesize , parity , stopbits , timeout ) -> None :
1819 """Initialize."""
@@ -34,13 +35,7 @@ def setup(self) -> None:
3435 self .poll_task = asyncio .create_task (self .polling_task ())
3536 self .poll_task .set_name ("SerialTransport poll" )
3637 else :
37- try :
38- self .async_loop .add_reader (self .sync_serial .fileno (), self .intern_read_ready )
39- except Exception as exc :
40- text = f"JAN setup --> os.name({ os .name } ) and { exc } force({ self .force_poll } )"
41- raise Exception (text ) # pylint: disable=raise-missing-from,broad-exception-raised
42-
43-
38+ self .async_loop .add_reader (self .sync_serial .fileno (), self .intern_read_ready )
4439 self .async_loop .call_soon (self .intern_protocol .connection_made , self )
4540
4641 def close (self , exc : Exception | None = None ) -> None :
@@ -64,11 +59,7 @@ def write(self, data) -> None:
6459 """Write some data to the transport."""
6560 self .intern_write_buffer .append (data )
6661 if not self .force_poll :
67- try :
68- self .async_loop .add_writer (self .sync_serial .fileno (), self .intern_write_ready )
69- except Exception as exc :
70- text = f"JAN write --> os.name({ os .name } ) and { exc } force({ self .force_poll } )"
71- raise Exception (text ) # pylint: disable=raise-missing-from,broad-exception-raised
62+ self .async_loop .add_writer (self .sync_serial .fileno (), self .intern_write_ready )
7263
7364 def flush (self ) -> None :
7465 """Clear output buffer and stops any more data being written."""
@@ -182,6 +173,3 @@ async def create_serial_connection(
182173 timeout )
183174 loop .call_soon (transport .setup )
184175 return transport , protocol
185-
186-
187- SerialTransport .force_poll = os .name == "nt"
0 commit comments