worker_manager.py 749 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from abc import ABC, abstractmethod
from typing import Any, Optional, Set

import torch


class AbstractWorkerManager(ABC):

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

    @property
    @abstractmethod
    def is_enabled(self) -> bool:
        ...

    @abstractmethod
    def set_active_adapters(self, requests: Set[Any],
                            mapping: Optional[Any]) -> None:
        ...

    @abstractmethod
    def add_adapter(self, adapter_request: Any) -> bool:
        ...

    @abstractmethod
    def remove_adapter(self, adapter_id: int) -> bool:
        ...

    @abstractmethod
    def remove_all_adapters(self):
        ...

    @abstractmethod
    def list_adapters(self) -> Set[int]:
        ...