From e4feb863bb7afb55f544d3f5cad965ef9edc39b1 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sat, 20 Mar 2010 01:50:39 +0100 Subject: [PATCH] docs: Update class instantiation diagram --- docs/development/internals.rst | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/docs/development/internals.rst b/docs/development/internals.rst index 0062f2df..ca6edc8a 100644 --- a/docs/development/internals.rst +++ b/docs/development/internals.rst @@ -14,22 +14,32 @@ Class instantiation and usage The following diagram shows how Mopidy with the despotify backend and ALSA mixer is wired together. The gray nodes are part of external dependencies, and -not Mopidy. +not Mopidy. The red nodes lives in the ``main`` process (running an +:mod:`asyncore` loop), while the blue nodes lives in a secondary process named +``core`` (running a service loop in :class:`mopidy.core.CoreProcess`). .. digraph:: class_instantiation_and_usage "spytify" [ color="gray" ] "despotify" [ color="gray" ] "alsaaudio" [ color="gray" ] - "__main__" -> "MpdServer" [ label="create 1" ] - "__main__" -> "AlsaMixer" [ label="create 1" ] - "__main__" -> "DespotifyBackend" [ label="create 1" ] - "MpdServer" -> "MpdSession" [ label="create 1 per client" ] + "__main__" [ color="red" ] + "CoreProcess" [ color="blue" ] + "DespotifyBackend" [ color="blue" ] + "AlsaMixer" [ color="blue" ] + "MpdHandler" [ color="blue" ] + "MpdServer" [ color="red" ] + "MpdSession" [ color="red" ] + "__main__" -> "CoreProcess" [ label="create" ] + "__main__" -> "MpdServer" [ label="create" ] + "CoreProcess" -> "DespotifyBackend" [ label="create" ] + "CoreProcess" -> "MpdHandler" [ label="create" ] + "MpdServer" -> "MpdSession" [ label="create one per client" ] "MpdSession" -> "MpdHandler" [ label="pass MPD requests to" ] "MpdHandler" -> "DespotifyBackend" [ label="use backend API" ] + "DespotifyBackend" -> "AlsaMixer" [ label="create and use mixer API" ] "DespotifyBackend" -> "spytify" [ label="use Python wrapper" ] "spytify" -> "despotify" [ label="use C library" ] - "DespotifyBackend" -> "AlsaMixer" [ label="use mixer API" ] "AlsaMixer" -> "alsaaudio" [ label="use Python library" ]