listener: Kill off mopidy.listener.send_async

This is no longer needed as the plain send method makes sure to use tell to
queue actor message. Which has better performance, and avoids deadlocks.

A side effect of this is that assuming you have a core actor running and a
dummy audio in use audio events just work.
This commit is contained in:
Thomas Adamcik 2015-09-03 22:50:40 +02:00
parent 71b04213ff
commit b9b0b6aaa3
5 changed files with 4 additions and 14 deletions

View File

@ -18,7 +18,7 @@ class AudioListener(listener.Listener):
@staticmethod
def send(event, **kwargs):
"""Helper to allow calling of audio listener events"""
listener.send_async(AudioListener, event, **kwargs)
listener.send(AudioListener, event, **kwargs)
def reached_end_of_stream(self):
"""

View File

@ -426,7 +426,7 @@ class BackendListener(listener.Listener):
@staticmethod
def send(event, **kwargs):
"""Helper to allow calling of backend listener events"""
listener.send_async(BackendListener, event, **kwargs)
listener.send(BackendListener, event, **kwargs)
def playlists_loaded(self):
"""

View File

@ -18,7 +18,7 @@ class CoreListener(listener.Listener):
@staticmethod
def send(event, **kwargs):
"""Helper to allow calling of core listener events"""
listener.send_async(CoreListener, event, **kwargs)
listener.send(CoreListener, event, **kwargs)
def on_event(self, event, **kwargs):
"""

View File

@ -7,16 +7,6 @@ import pykka
logger = logging.getLogger(__name__)
def send_async(cls, event, **kwargs):
# This file is imported by mopidy.backends, which again is imported by all
# backend extensions. By importing modules that are not easily installable
# close to their use, we make some extensions able to run their tests in a
# virtualenv with global site-packages disabled.
import gobject
gobject.idle_add(lambda: send(cls, event, **kwargs))
def send(cls, event, **kwargs):
listeners = pykka.ActorRegistry.get_by_class(cls)
logger.debug('Sending %s to %s: %s', event, cls.__name__, kwargs)

View File

@ -130,7 +130,7 @@ class MixerListener(listener.Listener):
@staticmethod
def send(event, **kwargs):
"""Helper to allow calling of mixer listener events"""
listener.send_async(MixerListener, event, **kwargs)
listener.send(MixerListener, event, **kwargs)
def volume_changed(self, volume):
"""