+ raise NotImplementedError
+
+ @abc.abstractmethod
+ def start_session_by_name(self, name):
+ # type: (str) -> None
+ """
+ Start a session by name.
+ """
+ raise NotImplementedError
+
+ @abc.abstractmethod
+ def start_session_by_glob_pattern(self, pattern):
+ # type: (str) -> None
+ """
+ Start sessions whose name matches `pattern`, see GLOB(7).
+ """
+ raise NotImplementedError
+
+ @abc.abstractmethod
+ def start_sessions_all(self):
+ """
+ Start all sessions visible to the current user.
+ """
+ # type: () -> None
+ raise NotImplementedError
+
+ @abc.abstractmethod
+ def stop_session_by_name(self, name):
+ # type: (str) -> None
+ """
+ Stop a session by name.
+ """
+ raise NotImplementedError
+
+ @abc.abstractmethod
+ def stop_session_by_glob_pattern(self, pattern):
+ # type: (str) -> None
+ """
+ Stop sessions whose name matches `pattern`, see GLOB(7).
+ """
+ raise NotImplementedError
+
+ @abc.abstractmethod
+ def stop_sessions_all(self):
+ """
+ Stop all sessions visible to the current user.
+ """
+ # type: () -> None
+ raise NotImplementedError
+
+ @abc.abstractmethod
+ def destroy_session_by_name(self, name):
+ # type: (str) -> None
+ """
+ Destroy a session by name.
+ """
+ raise NotImplementedError
+
+ @abc.abstractmethod
+ def destroy_session_by_glob_pattern(self, pattern):
+ # type: (str) -> None
+ """
+ Destroy sessions whose name matches `pattern`, see GLOB(7).
+ """
+ raise NotImplementedError
+
+ @abc.abstractmethod
+ def destroy_sessions_all(self):
+ # type: () -> None
+ """
+ Destroy all sessions visible to the current user.
+ """
+ raise NotImplementedError
+
+ @abc.abstractmethod
+ def list_sessions(self):
+ # type: () -> List[Session]
+ """
+ List all sessions visible to the current user.
+ """
+ raise NotImplementedError
+
+ @abc.abstractmethod
+ def rotate_session_by_name(self, name, wait=True):
+ # type: (str, bool) -> None
+ """
+ Rotate a session
+ """
+ raise NotImplementedError
+
+ @abc.abstractmethod
+ def schedule_size_based_rotation(self, name, size_bytes):
+ # type: (str, int) -> None
+ """
+ Schedule automatic size-based rotations.
+ """
+ raise NotImplementedError
+
+ @abc.abstractmethod
+ def schedule_time_based_rotation(self, name, period_seconds):
+ # type: (str, int) -> None
+ """
+ Schedule automatic time-based rotations.
+ """
+ raise NotImplementedError