This repository was archived by the owner on Sep 8, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change 33 Any ,
44 Dict ,
55 List ,
6+ Set ,
67 Type ,
78)
89
1718
1819
1920class BaseExchangeHandler :
21+ _exchange_managers : Set [ExchangeManager [Any , Any , Any ]]
22+
2023 @property
2124 @abstractmethod
2225 def _exchanges (self ) -> Dict [str , Type [BaseExchange [Any , Any , Any ]]]:
2326 pass
2427
2528 def __init__ (self , peer : BasePeer ) -> None :
2629 self ._peer = peer
30+ self ._exchange_managers = set ()
2731
2832 for attr , exchange_cls in self ._exchanges .items ():
2933 if hasattr (self , attr ):
@@ -32,9 +36,9 @@ def __init__(self, peer: BasePeer) -> None:
3236 "present on the class: {1}" .format (attr , getattr (self , attr ))
3337 )
3438 manager : ExchangeManager [Any , Any , Any ] = ExchangeManager (self ._peer , peer .cancel_token )
39+ self ._exchange_managers .add (manager )
3540 exchange = exchange_cls (manager )
3641 setattr (self , attr , exchange )
3742
3843 def get_stats (self ) -> List [str ]:
39- manager_attrs = self ._exchanges .keys ()
40- return [getattr (self , attr ).get_stats () for attr in manager_attrs ]
44+ return [exchange_manager .get_stats () for exchange_manager in self ._exchange_managers ]
You can’t perform that action at this time.
0 commit comments