Probably not exactly what we want as they just relay over a regular ros topic. However they do have great code showing how to drop in relays (they do one with a raw socket connection). This prompts some thoughts:
use the hubs to negotiate an acceptable port - that way we can restrict a port range and handle firewalls
use zeromq to form the transport instead of a raw socket or a ros connection
they have alot of good code doing c++ handling of special cases (images and point clouds), tap into this.
Can we use the
data_link_toolset
for this?http://www.ros.org/news/2014/04/new-packages-datalink-toolkit-for-remote-operation-with-high-latency-and-low-bandwidth-connections.html