/home/garaemon/ros/hydro/src/jsk-ros-pkg/jsk_common/jsk_network_tools/README.md - Grip

### /home/garaemon/ros/hydro/src/jsk-ros-pkg/jsk_common/jsk_network_tools/README.md

# jsk_network_tools

## Limited Network Communication.

The goal of silverhammer is to provide communication between two different ROS networks over limited network.

Currently jsk_network_tools supports two types of limited network model:

1. Bidirectional and narrow network.
2. Unidirectional and intermittent network.

These two models are strongly inspired by DRC-final.

### Bidirectional and narrow network

jsk_network_tools provides `silverhammer_lowspeed_gateway.py`, which is a gateway between two different ROS network over narrow network.

Concenpt of `silverhammer_lowspeed_gateway.py` is:

1. Use UDP prevent hand-shaking and re-sending.

   Simply use UDP protocol with fixed rate.

2. Serialize data into small format.

   Automatically generate serialization format from definition of ROS message. However, this serialization only supports the simplest message definition. Limitation of the serialization are:

   1. No nested field is allowed.
   2. No variable length array is allowed.
   3. `string` is not supported.
   4. `int8` is not supported.