BUGS - jython 2.5.3 hangs on testBClookup0000 in test_naming on Windows - remote flame console won't close in IronPython Ideas / TODO * connection validator is missing and I want it back with similar features as Pyro3, but see next item * clean way to have server hooks for client connects and disconnects * IPV6 support (testable in 'ipv6' branch) * Alternative serializers (Json, Xmlrpc, pluggable) * HMAC: Allow per-proxy HMAC key (to be able to connect to different servers with different keys) -- but perhaps remove HMAC completely once the connection validator logic has been reimplemented * Add more topics to the index of the docs * More decorators? @synchronized, @oneway, @expose (also on attributes?) * let async/Future use a client-side threadpool instead of spawning endless new threads * explain callbacks better * automatic callback handling if you pass a callable to the server * Make Pyro support listening to multiple network interfaces at the same time (and returning the correct URI from the daemon. Name server is harder...) * Add to docs: how to use the socketserver API to write your own implementation * investigate socket server based on another async/multiplexing event mechanism such as epoll, kqueue (instead of the less efficient select) * add multiprocess server (forking?) based on multiprocessing * simplify the shutdown/close methods so that they only signal a shutdown condition and let the eventloop thread clean up nicely. This to avoid all kinds of exceptions on shutdown (mainly socketserver on ironpython now) * on proxy connect: query the server about the object. Can be a method on the DaemonObject itself. Query for meta info about the object: oneway methods, security settings, exposed attributes (to create properties?), whatever. * object activation / object registration strategies: instance_per_call, instance_per_connection, shared_instance (let the daemon instantiate your object's class instead of user code) * persistent Name Server (store namespace in a database on disk) use sqlite because it needs multithreading/transactions * daemon (nameserver) should be able to disconnect clients that haven't been active over the past X seconds * look at SSL support. The standard ssl module should be enough to do this without the need of 3rd party stuff such as m2crypto or pyopenssl * Pyro-over-SSH (not SSL) using Paramiko