worker_manager.py 923 Bytes
Newer Older
1
2
# SPDX-License-Identifier: Apache-2.0

3
from abc import ABC, abstractmethod
4
from typing import Any, Optional
5
6
7
8
9
10
11
12
13
14
15
16

import torch


class AbstractWorkerManager(ABC):

    def __init__(self, device: torch.device):
        self.device = device

    @property
    @abstractmethod
    def is_enabled(self) -> bool:
17
        raise NotImplementedError
18
19

    @abstractmethod
20
    def set_active_adapters(self, requests: set[Any],
21
                            mapping: Optional[Any]) -> None:
22
        raise NotImplementedError
23
24
25

    @abstractmethod
    def add_adapter(self, adapter_request: Any) -> bool:
26
        raise NotImplementedError
27
28
29

    @abstractmethod
    def remove_adapter(self, adapter_id: int) -> bool:
30
        raise NotImplementedError
31
32

    @abstractmethod
33
34
    def remove_all_adapters(self) -> None:
        raise NotImplementedError
35
36

    @abstractmethod
37
    def list_adapters(self) -> set[int]:
38
        raise NotImplementedError