diff options
Diffstat (limited to 'synapse/streams/__init__.py')
-rw-r--r-- | synapse/streams/__init__.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/synapse/streams/__init__.py b/synapse/streams/__init__.py index 2dcd43d0a2..8a48ffc48d 100644 --- a/synapse/streams/__init__.py +++ b/synapse/streams/__init__.py @@ -11,10 +11,10 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +from abc import ABC, abstractmethod +from typing import Generic, List, Optional, Tuple, TypeVar -from typing import Collection, Generic, List, Optional, Tuple, TypeVar - -from synapse.types import UserID +from synapse.types import StrCollection, UserID # The key, this is either a stream token or int. K = TypeVar("K") @@ -22,14 +22,15 @@ K = TypeVar("K") R = TypeVar("R") -class EventSource(Generic[K, R]): +class EventSource(ABC, Generic[K, R]): + @abstractmethod async def get_new_events( self, user: UserID, from_key: K, limit: int, - room_ids: Collection[str], + room_ids: StrCollection, is_guest: bool, explicit_room_id: Optional[str] = None, ) -> Tuple[List[R], K]: - ... + raise NotImplementedError() |