(self, stage: str, topicObj: Topic, pubListener: Listener = None)
Called multiple times during a sendMessage: once before message
        sending has started (pre), once for each listener about to be sent the
        message, and once after all listeners have received the message (post).

        :param stage: 'pre', 'post', or 'loop'.
        :param topicObj: the Topic object for the message.
        :param pubListener: None for pre and post stages; for loop, the listener
            that is about to be sent the message.
Called multiple times during a sendMessage: once before message
        sending has started (pre), once for each listener about to be sent the
        message, and once after all listeners have received the message (post).
Called multiple times during a sendMessage : once before message sending has started ( pre ) once for each listener about to be sent the message and once after all listeners have received the message ( post ) .
def notifySend(self, stage: str, topicObj: Topic, pubListener: Listener = None):
        """
        Called multiple times during a sendMessage: once before message
        sending has started (pre), once for each listener about to be sent the
        message, and once after all listeners have received the message (post).

        :param stage: 'pre', 'post', or 'loop'.
        :param topicObj: the Topic object for the message.
        :param pubListener: None for pre and post stages; for loop, the listener
            that is about to be sent the message.
        """
        raise NotImplementedError
def notifySend ( self , stage : str , topicObj : Topic , pubListener : Listener = None ) : raise NotImplementedError