6
6
import threading
7
7
import random
8
8
import typing
9
+ import logging
9
10
10
11
11
12
class PortManager__Generic (PortManager ):
@@ -61,6 +62,7 @@ def reserve_port(self) -> int:
61
62
self ._available_ports .discard (port )
62
63
assert port in self ._reserved_ports
63
64
assert not (port in self ._available_ports )
65
+ __class__ .helper__send_debug_msg ("Port {} is reserved." ,port )
64
66
return port
65
67
66
68
raise PortForException ("Can't select a port." )
@@ -80,4 +82,16 @@ def release_port(self, number: int) -> None:
80
82
self ._reserved_ports .discard (number )
81
83
assert not (number in self ._reserved_ports )
82
84
assert number in self ._available_ports
85
+ __class__ .helper__send_debug_msg ("Port {} is released." ,number )
83
86
return
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 )