This commit is contained in:
@@ -45,9 +45,23 @@ def _make_kv_mgr(is_mla_backend):
|
|||||||
return mgr
|
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):
|
def _make_sender(kv_mgr):
|
||||||
"""CommonKVSender bypassing __init__, wiring only the fields the path reads."""
|
"""CommonKVSender bypassing __init__, wiring only the fields the path reads."""
|
||||||
sender = CommonKVSender.__new__(CommonKVSender)
|
sender = _ConcreteKVSender.__new__(_ConcreteKVSender)
|
||||||
sender._transfer_metric = KVTransferMetric()
|
sender._transfer_metric = KVTransferMetric()
|
||||||
sender._transfer_num_kv_indices = 0
|
sender._transfer_num_kv_indices = 0
|
||||||
sender._transfer_num_state_indices = 0
|
sender._transfer_num_state_indices = 0
|
||||||
|
|||||||
Reference in New Issue
Block a user