<?xml version="1.0"?>
<!--
###################################################
##Simple XMLRPC Server
###################################################
 -->
<block>
	<name>XMLRPC Server</name>
	<key>xmlrpc_server</key>
	<import>import SimpleXMLRPCServer</import>
	<import>import threading</import>
	<make>SimpleXMLRPCServer.SimpleXMLRPCServer(($addr, $port), allow_none=True)
self.$(id).register_instance(self)
self.$(id)_thread = threading.Thread(target=self.$(id).serve_forever)
self.$(id)_thread.daemon = True
self.$(id)_thread.start()</make>
	<param>
		<name>Address</name>
		<key>addr</key>
		<value>localhost</value>
		<type>string</type>
	</param>
	<param>
		<name>Port</name>
		<key>port</key>
		<value>8080</value>
		<type>int</type>
	</param>
	<doc>
This block will start an XMLRPC server. \
The server provides access to the run, start, stop, wait functions of the flow graph. \
The server also provides access to the variable callbacks in the flow graph. \
Ex: If the variable is called freq, the function provided by the server will be called set_freq(new_freq).

Example client in python:

import xmlrpclib
s = xmlrpclib.Server('http://localhost:8080')
s.set_freq(5000)
	</doc>
</block>
