Created Transmission Architecture (markdown)

JohnClay 2016-08-29 22:41:06 -04:00
parent bb197e55b1
commit f3820a94dc
1 changed files with 28 additions and 0 deletions

@ -0,0 +1,28 @@
Transmission is fundamentally a Bit Torrent client and communicates with other Bit Torrent peers.
In addition to this Transmission supports network-based remote control, whereby an authorised user may control the Transmission core from another machine via the [wiki:rpc Transmission JSON RPC protocol].
To make remote control easier from an arbitrary machine, Transmission Core can also serve a javascript web application to any browser and which in turn makes JSON RPC calls back to the Transmission core.
The Core components and methods of control are shown below:
[[Image(Transmission_Architecture.gif)]]
From the above diagram it can be seen that a Transmission Core may be controlled by the following:
* ''Local'' directly linked GUI (OS X, GTK+)
* ''Local'' or ''Remote'' Qt GUI
* ''Local'' or ''Remote'' Command Line Utility
* ''Local'' or ''Remote'' Transmission Web Application running in a web browser
The multiple methods of controlling Transmission and the various native GUIs available result in several different Transmission products as shown in the figure below:
[[Image(Transmission_Products.gif)]]
The products are:
* Transmission Desktop - OS X
* Transmission Desktop - Linux/GTK+
* Transmission Desktop - Un*x/Qt
* Transmission Daemon (headless)
* Transmission Command Line
The Transmission packages available on various distributions may include one or more of these components.
Note. Although the diagram shows "Transmission Desktop Qt" as being Qt GUI + Transmission Core, the Qt component may be packaged on its own as a purely remote tool.