Source code for heimdallsword.dispatcher.subscriber

# -*- coding: utf-8 -*-
#
# Copyright (c) 2022 rwprimitives
# Author: eldiablo <avsarria@gmail.com>
#

"""
Subscriber Module
=================

This module is an Observer interface which defines update methods.
"""

# standard modules
from __future__ import annotations
from abc import abstractmethod

# internal modules
from heimdallsword.data.metrics import Metrics


[docs]class Subscriber(): """ The :py:class:`heimdallsword.dispatcher.subscriber.Subscriber` is an **Observer** interface used for the purpose of receiving :py:class:`heimdallsword.data.metrics.Metrics` as the :py:class:`heimdallsword.dispatcher.orchestrator.Orchestrator` publishes new updates. """
[docs] @abstractmethod def update_metrics(self, metrics: Metrics) -> None: """ Receive metrics update from Orchestrator. :param metrics: a reference to a :py:class:`heimdallsword.data.metrics.Metrics` class :type: :py:class:`heimdallsword.data.metrics.Metrics` """ pass