66import threading
77import random
88import typing
9+ import logging
910
1011
1112class PortManager__Generic (PortManager ):
@@ -61,6 +62,7 @@ def reserve_port(self) -> int:
6162self ._available_ports .discard (port )
6263assert port in self ._reserved_ports
6364assert not (port in self ._available_ports )
65+ __class__ .helper__send_debug_msg ("Port {} is reserved." ,port )
6466return port
6567
6668raise PortForException ("Can't select a port." )
@@ -80,4 +82,16 @@ def release_port(self, number: int) -> None:
8082self ._reserved_ports .discard (number )
8183assert not (number in self ._reserved_ports )
8284assert number in self ._available_ports
85+ __class__ .helper__send_debug_msg ("Port {} is released." ,number )
8386return
87+
88+ @staticmethod
89+ def helper__send_debug_msg (msg_template :str ,* args )-> None :
90+ assert msg_template is not None
91+ assert args is not None
92+ assert type (msg_template )== str # noqa: E721
93+ assert type (args )== tuple # noqa: E721
94+ assert msg_template != ""
95+ s = "[port manager] "
96+ s += msg_template .format (* args )
97+ logging .debug (s )