This commit is contained in:
@@ -45,9 +45,23 @@ def _make_kv_mgr(is_mla_backend):
|
||||
return mgr
|
||||
|
||||
|
||||
class _ConcreteKVSender(CommonKVSender):
|
||||
"""CommonKVSender is abstract: `poll` and `failure_exception` are backend
|
||||
duties, so it cannot be instantiated (not even via __new__, which enforces
|
||||
ABC completeness). This stub supplies them so the shared metric path can be
|
||||
exercised without pulling in a transfer backend.
|
||||
"""
|
||||
|
||||
def poll(self):
|
||||
raise NotImplementedError
|
||||
|
||||
def failure_exception(self):
|
||||
raise NotImplementedError
|
||||
|
||||
|
||||
def _make_sender(kv_mgr):
|
||||
"""CommonKVSender bypassing __init__, wiring only the fields the path reads."""
|
||||
sender = CommonKVSender.__new__(CommonKVSender)
|
||||
sender = _ConcreteKVSender.__new__(_ConcreteKVSender)
|
||||
sender._transfer_metric = KVTransferMetric()
|
||||
sender._transfer_num_kv_indices = 0
|
||||
sender._transfer_num_state_indices = 0
|
||||
|
||||
Reference in New Issue
Block a user