'Publish a TopologyDescriptionChangedEvent to all topology listeners.
:Parameters:
- `previous_description`: The previous topology description.
- `new_description`: The new topology description.
- `topology_id`: A unique identifier for the topology this server
is a part of.'

def publish_topology_description_changed(self, previous_description, new_description, topology_id):

    event = TopologyDescriptionChangedEvent(previous_description, new_description, topology_id)
    for subscriber in self.__topology_listeners:
        try:
            subscriber.description_changed(event)
        except Exception:
            _handle_exception()
