<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>async_read_buffer.h</name>
    <path>/tmp/ws/src/rosserial/rosserial_server/include/rosserial_server/</path>
    <filename>async__read__buffer_8h</filename>
    <class kind="class">rosserial_server::AsyncReadBuffer</class>
    <namespace>rosserial_server</namespace>
  </compound>
  <compound kind="file">
    <name>serial_node.cpp</name>
    <path>/tmp/ws/src/rosserial/rosserial_server/src/</path>
    <filename>serial__node_8cpp</filename>
    <includes id="serial__session_8h" name="serial_session.h" local="yes" imported="no">rosserial_server/serial_session.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>serial__node_8cpp.html</anchorfile>
      <anchor>a0ddf1224851353fc92bfbff6f499fa97</anchor>
      <arglist>(int argc, char *argv[])</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>serial_session.h</name>
    <path>/tmp/ws/src/rosserial/rosserial_server/include/rosserial_server/</path>
    <filename>serial__session_8h</filename>
    <includes id="session_8h" name="session.h" local="yes" imported="no">rosserial_server/session.h</includes>
    <class kind="class">rosserial_server::SerialSession</class>
    <namespace>rosserial_server</namespace>
  </compound>
  <compound kind="file">
    <name>session.h</name>
    <path>/tmp/ws/src/rosserial/rosserial_server/include/rosserial_server/</path>
    <filename>session_8h</filename>
    <includes id="async__read__buffer_8h" name="async_read_buffer.h" local="yes" imported="no">rosserial_server/async_read_buffer.h</includes>
    <includes id="topic__handlers_8h" name="topic_handlers.h" local="yes" imported="no">rosserial_server/topic_handlers.h</includes>
    <class kind="class">rosserial_server::Session</class>
    <namespace>rosserial_server</namespace>
    <member kind="typedef">
      <type>std::vector&lt; uint8_t &gt;</type>
      <name>Buffer</name>
      <anchorfile>namespacerosserial__server.html</anchorfile>
      <anchor>acbf2b261ed83c30cec3ed97cb1fb477b</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; Buffer &gt;</type>
      <name>BufferPtr</name>
      <anchorfile>namespacerosserial__server.html</anchorfile>
      <anchor>ab03ad6afc0fa2515793dd4aa014ce8ef</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>socket_node.cpp</name>
    <path>/tmp/ws/src/rosserial/rosserial_server/src/</path>
    <filename>socket__node_8cpp</filename>
    <includes id="tcp__server_8h" name="tcp_server.h" local="yes" imported="no">rosserial_server/tcp_server.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>socket__node_8cpp.html</anchorfile>
      <anchor>a0ddf1224851353fc92bfbff6f499fa97</anchor>
      <arglist>(int argc, char *argv[])</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tcp_server.h</name>
    <path>/tmp/ws/src/rosserial/rosserial_server/include/rosserial_server/</path>
    <filename>tcp__server_8h</filename>
    <includes id="session_8h" name="session.h" local="yes" imported="no">rosserial_server/session.h</includes>
    <class kind="class">rosserial_server::TcpServer</class>
    <namespace>rosserial_server</namespace>
  </compound>
  <compound kind="file">
    <name>topic_handlers.h</name>
    <path>/tmp/ws/src/rosserial/rosserial_server/include/rosserial_server/</path>
    <filename>topic__handlers_8h</filename>
    <class kind="class">rosserial_server::Publisher</class>
    <class kind="class">rosserial_server::ServiceClient</class>
    <class kind="class">rosserial_server::Subscriber</class>
    <namespace>rosserial_server</namespace>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; Publisher &gt;</type>
      <name>PublisherPtr</name>
      <anchorfile>namespacerosserial__server.html</anchorfile>
      <anchor>a8b2dd5a0e3969d92ed371e64ab93eaa5</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; ServiceClient &gt;</type>
      <name>ServiceClientPtr</name>
      <anchorfile>namespacerosserial__server.html</anchorfile>
      <anchor>a14d5acb9a566cfcc022a2a554e302984</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; Subscriber &gt;</type>
      <name>SubscriberPtr</name>
      <anchorfile>namespacerosserial__server.html</anchorfile>
      <anchor>ae887cbff9c81e34d32fddf23cfae7bd4</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>udp_socket_node.cpp</name>
    <path>/tmp/ws/src/rosserial/rosserial_server/src/</path>
    <filename>udp__socket__node_8cpp</filename>
    <includes id="udp__socket__session_8h" name="udp_socket_session.h" local="yes" imported="no">rosserial_server/udp_socket_session.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>udp__socket__node_8cpp.html</anchorfile>
      <anchor>a0ddf1224851353fc92bfbff6f499fa97</anchor>
      <arglist>(int argc, char *argv[])</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>udp_socket_session.h</name>
    <path>/tmp/ws/src/rosserial/rosserial_server/include/rosserial_server/</path>
    <filename>udp__socket__session_8h</filename>
    <includes id="session_8h" name="session.h" local="yes" imported="no">rosserial_server/session.h</includes>
    <includes id="udp__stream_8h" name="udp_stream.h" local="yes" imported="no">rosserial_server/udp_stream.h</includes>
    <class kind="class">rosserial_server::UdpSocketSession</class>
    <namespace>rosserial_server</namespace>
  </compound>
  <compound kind="file">
    <name>udp_stream.h</name>
    <path>/tmp/ws/src/rosserial/rosserial_server/include/rosserial_server/</path>
    <filename>udp__stream_8h</filename>
    <includes id="session_8h" name="session.h" local="yes" imported="no">rosserial_server/session.h</includes>
    <class kind="class">rosserial_server::UdpStream</class>
    <namespace>rosserial_server</namespace>
  </compound>
  <compound kind="class">
    <name>rosserial_server::AsyncReadBuffer</name>
    <filename>classrosserial__server_1_1AsyncReadBuffer.html</filename>
    <templarg>AsyncReadStream</templarg>
    <member kind="function">
      <type></type>
      <name>AsyncReadBuffer</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a85922feb415cb445ee203b4fe399dbbe</anchor>
      <arglist>(AsyncReadStream &amp;s, size_t capacity, boost::function&lt; void(const boost::system::error_code &amp;)&gt; error_callback)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>read</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>aef35829560d91664fd08280429be41b0</anchor>
      <arglist>(size_t requested_bytes, boost::function&lt; void(ros::serialization::IStream &amp;)&gt; callback)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>size_t</type>
      <name>bytesAvailable</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a5b1e10675c6533284b241d97e27f8f36</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>size_t</type>
      <name>bytesHeadroom</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a7b6ae2ab4613e04a6913370f83dbc44f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>callback</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a3aefc6f6b2273e0bc025fad555cbf11f</anchor>
      <arglist>(const boost::system::error_code &amp;error, size_t bytes_transferred)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>callSuccessCallback</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a34be47749d87c1e4b3379bf5addc9fc5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a1fa7e1ce2059f46fea7407e3c7abf16e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::function&lt; void(const boost::system::error_code &amp;)&gt;</type>
      <name>error_callback_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>ac02c74d620261dd279d5113b0dd33d28</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; uint8_t &gt;</type>
      <name>mem_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a7bde2ef786fbc1fe7c6a3e3015d7b98d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>read_index_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a8a5500ec9015f4a9c3454da31e3a78da</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>read_requested_bytes_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>ada2847d6372ef11b6806a4a067d59da8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::function&lt; void(ros::serialization::IStream &amp;)&gt;</type>
      <name>read_success_callback_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a698dff4b1a07333a6b8bc810d9b09bc9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>AsyncReadStream &amp;</type>
      <name>stream_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>ad20420a144ddff92447e306fcfbd919c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>write_index_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a38e2baf3fece53196d11d02c31a2e4eb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>AsyncReadBuffer&lt; boost::asio::serial_port &gt;</name>
    <filename>classrosserial__server_1_1AsyncReadBuffer.html</filename>
    <member kind="function">
      <type></type>
      <name>AsyncReadBuffer</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a85922feb415cb445ee203b4fe399dbbe</anchor>
      <arglist>(boost::asio::serial_port &amp;s, size_t capacity, boost::function&lt; void(const boost::system::error_code &amp;)&gt; error_callback)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>read</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>aef35829560d91664fd08280429be41b0</anchor>
      <arglist>(size_t requested_bytes, boost::function&lt; void(ros::serialization::IStream &amp;)&gt; callback)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>size_t</type>
      <name>bytesAvailable</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a5b1e10675c6533284b241d97e27f8f36</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>size_t</type>
      <name>bytesHeadroom</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a7b6ae2ab4613e04a6913370f83dbc44f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>callback</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a3aefc6f6b2273e0bc025fad555cbf11f</anchor>
      <arglist>(const boost::system::error_code &amp;error, size_t bytes_transferred)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>callSuccessCallback</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a34be47749d87c1e4b3379bf5addc9fc5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a1fa7e1ce2059f46fea7407e3c7abf16e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::function&lt; void(const boost::system::error_code &amp;)&gt;</type>
      <name>error_callback_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>ac02c74d620261dd279d5113b0dd33d28</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; uint8_t &gt;</type>
      <name>mem_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a7bde2ef786fbc1fe7c6a3e3015d7b98d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>read_index_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a8a5500ec9015f4a9c3454da31e3a78da</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>read_requested_bytes_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>ada2847d6372ef11b6806a4a067d59da8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::function&lt; void(ros::serialization::IStream &amp;)&gt;</type>
      <name>read_success_callback_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a698dff4b1a07333a6b8bc810d9b09bc9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::serial_port &amp;</type>
      <name>stream_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>ad20420a144ddff92447e306fcfbd919c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>write_index_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a38e2baf3fece53196d11d02c31a2e4eb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>AsyncReadBuffer&lt; Socket &gt;</name>
    <filename>classrosserial__server_1_1AsyncReadBuffer.html</filename>
    <member kind="function">
      <type></type>
      <name>AsyncReadBuffer</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a85922feb415cb445ee203b4fe399dbbe</anchor>
      <arglist>(Socket &amp;s, size_t capacity, boost::function&lt; void(const boost::system::error_code &amp;)&gt; error_callback)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>read</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>aef35829560d91664fd08280429be41b0</anchor>
      <arglist>(size_t requested_bytes, boost::function&lt; void(ros::serialization::IStream &amp;)&gt; callback)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>size_t</type>
      <name>bytesAvailable</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a5b1e10675c6533284b241d97e27f8f36</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>size_t</type>
      <name>bytesHeadroom</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a7b6ae2ab4613e04a6913370f83dbc44f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>callback</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a3aefc6f6b2273e0bc025fad555cbf11f</anchor>
      <arglist>(const boost::system::error_code &amp;error, size_t bytes_transferred)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>callSuccessCallback</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a34be47749d87c1e4b3379bf5addc9fc5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a1fa7e1ce2059f46fea7407e3c7abf16e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::function&lt; void(const boost::system::error_code &amp;)&gt;</type>
      <name>error_callback_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>ac02c74d620261dd279d5113b0dd33d28</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; uint8_t &gt;</type>
      <name>mem_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a7bde2ef786fbc1fe7c6a3e3015d7b98d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>read_index_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a8a5500ec9015f4a9c3454da31e3a78da</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>read_requested_bytes_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>ada2847d6372ef11b6806a4a067d59da8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::function&lt; void(ros::serialization::IStream &amp;)&gt;</type>
      <name>read_success_callback_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a698dff4b1a07333a6b8bc810d9b09bc9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Socket &amp;</type>
      <name>stream_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>ad20420a144ddff92447e306fcfbd919c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>write_index_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a38e2baf3fece53196d11d02c31a2e4eb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>AsyncReadBuffer&lt; UdpStream &gt;</name>
    <filename>classrosserial__server_1_1AsyncReadBuffer.html</filename>
    <member kind="function">
      <type></type>
      <name>AsyncReadBuffer</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a85922feb415cb445ee203b4fe399dbbe</anchor>
      <arglist>(UdpStream &amp;s, size_t capacity, boost::function&lt; void(const boost::system::error_code &amp;)&gt; error_callback)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>read</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>aef35829560d91664fd08280429be41b0</anchor>
      <arglist>(size_t requested_bytes, boost::function&lt; void(ros::serialization::IStream &amp;)&gt; callback)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>size_t</type>
      <name>bytesAvailable</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a5b1e10675c6533284b241d97e27f8f36</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>size_t</type>
      <name>bytesHeadroom</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a7b6ae2ab4613e04a6913370f83dbc44f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>callback</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a3aefc6f6b2273e0bc025fad555cbf11f</anchor>
      <arglist>(const boost::system::error_code &amp;error, size_t bytes_transferred)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>callSuccessCallback</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a34be47749d87c1e4b3379bf5addc9fc5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a1fa7e1ce2059f46fea7407e3c7abf16e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::function&lt; void(const boost::system::error_code &amp;)&gt;</type>
      <name>error_callback_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>ac02c74d620261dd279d5113b0dd33d28</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; uint8_t &gt;</type>
      <name>mem_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a7bde2ef786fbc1fe7c6a3e3015d7b98d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>read_index_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a8a5500ec9015f4a9c3454da31e3a78da</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>read_requested_bytes_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>ada2847d6372ef11b6806a4a067d59da8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::function&lt; void(ros::serialization::IStream &amp;)&gt;</type>
      <name>read_success_callback_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a698dff4b1a07333a6b8bc810d9b09bc9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>UdpStream &amp;</type>
      <name>stream_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>ad20420a144ddff92447e306fcfbd919c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>write_index_</name>
      <anchorfile>classrosserial__server_1_1AsyncReadBuffer.html</anchorfile>
      <anchor>a38e2baf3fece53196d11d02c31a2e4eb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>rosserial_server::Publisher</name>
    <filename>classrosserial__server_1_1Publisher.html</filename>
    <member kind="function">
      <type>std::string</type>
      <name>get_topic</name>
      <anchorfile>classrosserial__server_1_1Publisher.html</anchorfile>
      <anchor>a7be38ceb9ba19edea0ce073bdb22ee3d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>handle</name>
      <anchorfile>classrosserial__server_1_1Publisher.html</anchorfile>
      <anchor>a04e5dae458378a1cca78de7bd0f4b42c</anchor>
      <arglist>(ros::serialization::IStream stream)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Publisher</name>
      <anchorfile>classrosserial__server_1_1Publisher.html</anchorfile>
      <anchor>a2975c19d1d948cffbac519e503e1cdf0</anchor>
      <arglist>(ros::NodeHandle &amp;nh, const rosserial_msgs::TopicInfo &amp;topic_info)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>topic_tools::ShapeShifter</type>
      <name>message_</name>
      <anchorfile>classrosserial__server_1_1Publisher.html</anchorfile>
      <anchor>a93ef706cdde800c84c806042f1391ffe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>publisher_</name>
      <anchorfile>classrosserial__server_1_1Publisher.html</anchorfile>
      <anchor>a707c98aa7d042dba89c712bcf2c26c49</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private" static="yes">
      <type>static ros::ServiceClient</type>
      <name>message_service_</name>
      <anchorfile>classrosserial__server_1_1Publisher.html</anchorfile>
      <anchor>a2374be808f772b72d1463a8598c1d149</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>rosserial_server::SerialSession</name>
    <filename>classrosserial__server_1_1SerialSession.html</filename>
    <base>Session&lt; boost::asio::serial_port &gt;</base>
    <member kind="function">
      <type></type>
      <name>SerialSession</name>
      <anchorfile>classrosserial__server_1_1SerialSession.html</anchorfile>
      <anchor>a1f5e8ec0a568054b1126c83f7f44ab32</anchor>
      <arglist>(boost::asio::io_service &amp;io_service, std::string port, int baud)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>attempt_connection</name>
      <anchorfile>classrosserial__server_1_1SerialSession.html</anchorfile>
      <anchor>a3bdfac1b574bd84d286f22fa55a0ab49</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>check_connection</name>
      <anchorfile>classrosserial__server_1_1SerialSession.html</anchorfile>
      <anchor>ac93e76fb604ae24e61266405da7182e2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>baud_</name>
      <anchorfile>classrosserial__server_1_1SerialSession.html</anchorfile>
      <anchor>a64171d455dd193eb3caad1570783d5a1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>failed_connection_attempts_</name>
      <anchorfile>classrosserial__server_1_1SerialSession.html</anchorfile>
      <anchor>afea7282fa610518a811046c20786b34b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>port_</name>
      <anchorfile>classrosserial__server_1_1SerialSession.html</anchorfile>
      <anchor>a303c9ca0389d13a11fd02f5509a3f6fd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::deadline_timer</type>
      <name>timer_</name>
      <anchorfile>classrosserial__server_1_1SerialSession.html</anchorfile>
      <anchor>a3a9a11b0d5915d1ed9edc6d3d66f870e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>rosserial_server::ServiceClient</name>
    <filename>classrosserial__server_1_1ServiceClient.html</filename>
    <member kind="function">
      <type>std::string</type>
      <name>getRequestMessageMD5</name>
      <anchorfile>classrosserial__server_1_1ServiceClient.html</anchorfile>
      <anchor>af82a420864900f7ec73a76515b58fa8d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>getResponseMessageMD5</name>
      <anchorfile>classrosserial__server_1_1ServiceClient.html</anchorfile>
      <anchor>a27aaafb2300be7b9b4d3349eb1b091b1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>handle</name>
      <anchorfile>classrosserial__server_1_1ServiceClient.html</anchorfile>
      <anchor>a6e04b23ea0b3e2266632fd43bad91aa7</anchor>
      <arglist>(ros::serialization::IStream stream)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ServiceClient</name>
      <anchorfile>classrosserial__server_1_1ServiceClient.html</anchorfile>
      <anchor>a359b08df7b5f1e234ed40e826e22c421</anchor>
      <arglist>(ros::NodeHandle &amp;nh, rosserial_msgs::TopicInfo &amp;topic_info, boost::function&lt; void(std::vector&lt; uint8_t &gt; &amp;buffer, const uint16_t topic_id)&gt; write_fn)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setTopicId</name>
      <anchorfile>classrosserial__server_1_1ServiceClient.html</anchorfile>
      <anchor>a72a362e8dae534b947385f5508c25c6f</anchor>
      <arglist>(uint16_t topic_id)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>topic_tools::ShapeShifter</type>
      <name>request_message_</name>
      <anchorfile>classrosserial__server_1_1ServiceClient.html</anchorfile>
      <anchor>ac8a8d884c618251d48738b69959776bf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>request_message_md5_</name>
      <anchorfile>classrosserial__server_1_1ServiceClient.html</anchorfile>
      <anchor>a1f85f5a0e506274691767fd22e16c52c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>topic_tools::ShapeShifter</type>
      <name>response_message_</name>
      <anchorfile>classrosserial__server_1_1ServiceClient.html</anchorfile>
      <anchor>a96634e6b37495ad9a6bf578cd46d4f9f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>response_message_md5_</name>
      <anchorfile>classrosserial__server_1_1ServiceClient.html</anchorfile>
      <anchor>acaf4d83e641bb8483d0ebc277ea9f265</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::ServiceClient</type>
      <name>service_client_</name>
      <anchorfile>classrosserial__server_1_1ServiceClient.html</anchorfile>
      <anchor>afc3817d3bf52a049f882e25ec171cd09</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>service_md5_</name>
      <anchorfile>classrosserial__server_1_1ServiceClient.html</anchorfile>
      <anchor>a35c09e4bc124178625a276f414ad8789</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>uint16_t</type>
      <name>topic_id_</name>
      <anchorfile>classrosserial__server_1_1ServiceClient.html</anchorfile>
      <anchor>aed8712d5b8ba15e171445a90e5da407f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::function&lt; void(std::vector&lt; uint8_t &gt; &amp;buffer, const uint16_t topic_id)&gt;</type>
      <name>write_fn_</name>
      <anchorfile>classrosserial__server_1_1ServiceClient.html</anchorfile>
      <anchor>aedb77bdd18bb0b4efd55cac7e53d2b02</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private" static="yes">
      <type>static ros::ServiceClient</type>
      <name>service_info_service_</name>
      <anchorfile>classrosserial__server_1_1ServiceClient.html</anchorfile>
      <anchor>a66ded4bd23b03809adc0aee8d68c01db</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>rosserial_server::Session</name>
    <filename>classrosserial__server_1_1Session.html</filename>
    <templarg>Socket</templarg>
    <member kind="function">
      <type>bool</type>
      <name>is_active</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ac6c253ddb7b569638026026940dce144</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Session</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>aadaa842e57e75bfb61af0daf421dd35b</anchor>
      <arglist>(boost::asio::io_service &amp;io_service)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>set_require_param</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a69e0dee02f14d9760e3fbaf1b33ce2b9</anchor>
      <arglist>(std::string param_name)</arglist>
    </member>
    <member kind="function">
      <type>Socket &amp;</type>
      <name>socket</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a700424a14515fceff53667520fc681f7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>start</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a411d722c5850de064c76d77bcc072220</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>stop</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>af1bbb868ded0069c181f45516b7bed55</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="enumvalue" protection="private">
      <name>buffer_max</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ae37b8d7f690c55df3687e6a817bb08b8a4e5d1857a75a4cc11a37654c41bae5a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue" protection="private">
      <name>buffer_max</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ae37b8d7f690c55df3687e6a817bb08b8a4e5d1857a75a4cc11a37654c41bae5a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>attempt_sync</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a2db7af36bd26e512bdf331b67524b796</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>check_set</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a9accddbb68dedd575672f9ad1c0a99b4</anchor>
      <arglist>(std::string param_name, M map)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>handle_log</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a313f8f57f0c6ae7f43d19f9fc3ef01e5</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>handle_time</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ad373b98f150a414905c420bf4dcee81d</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_body</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>aa10e39e7dbc9b9f8fa300da25ae609de</anchor>
      <arglist>(ros::serialization::IStream &amp;stream, uint16_t topic_id)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_failed</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a1c52dca2a2670e7658a75204cb0f5c4a</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_id_length</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a786d48655c1f86d735743e743457bb3c</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_sync_first</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a0e01fe6c396e7f117fc22b64c82c8472</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_sync_header</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ac6d6d3e33cf89b4e4ac0818d8f620c08</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_sync_second</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a031fbe4dff1ee778ae2d5beb42fdde44</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>request_topics</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ae1d2dd01999bceae54da78e5c33eb81e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>required_topics_check</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a296030215f084bd110014d931afd56eb</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>ros_spin_timeout</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a00cbd312f07e5292a2fdb3d33fe33762</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>set_sync_timeout</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>abd5261da8d8cde71fff4d23199133be4</anchor>
      <arglist>(const boost::posix_time::time_duration &amp;interval)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setup_publisher</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>aad170e91bbbba60661894d2f2b33ef27</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setup_service_client_publisher</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>aba11b8beb78d9920d2b685d5b5d8043b</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setup_service_client_subscriber</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ae4c88c40f51a482b1e13f450af789f8d</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setup_subscriber</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a9b377e7f377064dc0013b1c54c43d8fd</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>sync_timeout</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a7e49a5589528f3dceceefaed1623daaa</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>write_completion_cb</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a268310873f384ef4e1303f323b33c233</anchor>
      <arglist>(const boost::system::error_code &amp;error, BufferPtr buffer_ptr)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>write_message</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a044a537bf8cfee96930fd00f714e5a74</anchor>
      <arglist>(Buffer &amp;message, const uint16_t topic_id)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static uint8_t</type>
      <name>checksum</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a27e9f55c32d0fce0ba55f7f72cdbb147</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static uint8_t</type>
      <name>checksum</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a6200aba16590b4c0b91a09cc2691fb7d</anchor>
      <arglist>(uint16_t val)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>active_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a22208f25949af7e899429caed7189ebd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>AsyncReadBuffer&lt; Socket &gt;</type>
      <name>async_read_buffer_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>acf95e21544c34e123ec50114aadbea4b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::posix_time::time_duration</type>
      <name>attempt_interval_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>afcb0650393ddee3086a7a42cba138327</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::map&lt; uint16_t, boost::function&lt; void(ros::serialization::IStream &amp;)&gt; &gt;</type>
      <name>callbacks_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a28c0dac2e820a4eba77b72fe52e0e74b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ad24c141ec9be100cd5c6b27fee2cd8d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::map&lt; uint16_t, PublisherPtr &gt;</type>
      <name>publishers_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a721644b555142498856d48071c854793</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::posix_time::time_duration</type>
      <name>require_check_interval_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a03992570ef26c8eea12b063666090bc7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::deadline_timer</type>
      <name>require_check_timer_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a205dd08110408446605e802e9322dc44</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>require_param_name_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>af9c5a5cf5628b7e395c153e842ed7252</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::CallbackQueue</type>
      <name>ros_callback_queue_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a431d01e52a1f183b9756255e6f0b4be9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::posix_time::time_duration</type>
      <name>ros_spin_interval_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a3c9e79292bbf34b23818d946af7d344b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::deadline_timer</type>
      <name>ros_spin_timer_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a52ff3b29cff81f04979a9d930bfe13a5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::map&lt; std::string, ServiceClientPtr &gt;</type>
      <name>services_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a3443479509aaa5d75f76bc03144d6dc4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Socket</type>
      <name>socket_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ab9a8e8bf0214351328b95ceb9f3b31e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::map&lt; uint16_t, SubscriberPtr &gt;</type>
      <name>subscribers_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a796f7b725d5779ffebce21a7389d42dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::deadline_timer</type>
      <name>sync_timer_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a14d7ee47973b0c4c59690c5405314288</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::posix_time::time_duration</type>
      <name>timeout_interval_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ad0e6bbe1724a2a5ac3f8923e13aa633a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Session&lt; boost::asio::serial_port &gt;</name>
    <filename>classrosserial__server_1_1Session.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>is_active</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ac6c253ddb7b569638026026940dce144</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Session</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>aadaa842e57e75bfb61af0daf421dd35b</anchor>
      <arglist>(boost::asio::io_service &amp;io_service)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>set_require_param</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a69e0dee02f14d9760e3fbaf1b33ce2b9</anchor>
      <arglist>(std::string param_name)</arglist>
    </member>
    <member kind="function">
      <type>boost::asio::serial_port &amp;</type>
      <name>socket</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a700424a14515fceff53667520fc681f7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>start</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a411d722c5850de064c76d77bcc072220</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>stop</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>af1bbb868ded0069c181f45516b7bed55</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="enumvalue" protection="private">
      <name>buffer_max</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ae37b8d7f690c55df3687e6a817bb08b8a4e5d1857a75a4cc11a37654c41bae5a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>attempt_sync</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a2db7af36bd26e512bdf331b67524b796</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>check_set</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a9accddbb68dedd575672f9ad1c0a99b4</anchor>
      <arglist>(std::string param_name, M map)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>handle_log</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a313f8f57f0c6ae7f43d19f9fc3ef01e5</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>handle_time</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ad373b98f150a414905c420bf4dcee81d</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_body</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>aa10e39e7dbc9b9f8fa300da25ae609de</anchor>
      <arglist>(ros::serialization::IStream &amp;stream, uint16_t topic_id)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_failed</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a1c52dca2a2670e7658a75204cb0f5c4a</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_id_length</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a786d48655c1f86d735743e743457bb3c</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_sync_first</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a0e01fe6c396e7f117fc22b64c82c8472</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_sync_header</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ac6d6d3e33cf89b4e4ac0818d8f620c08</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_sync_second</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a031fbe4dff1ee778ae2d5beb42fdde44</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>request_topics</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ae1d2dd01999bceae54da78e5c33eb81e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>required_topics_check</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a296030215f084bd110014d931afd56eb</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>ros_spin_timeout</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a00cbd312f07e5292a2fdb3d33fe33762</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>set_sync_timeout</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>abd5261da8d8cde71fff4d23199133be4</anchor>
      <arglist>(const boost::posix_time::time_duration &amp;interval)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setup_publisher</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>aad170e91bbbba60661894d2f2b33ef27</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setup_service_client_publisher</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>aba11b8beb78d9920d2b685d5b5d8043b</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setup_service_client_subscriber</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ae4c88c40f51a482b1e13f450af789f8d</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setup_subscriber</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a9b377e7f377064dc0013b1c54c43d8fd</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>sync_timeout</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a7e49a5589528f3dceceefaed1623daaa</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>write_completion_cb</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a268310873f384ef4e1303f323b33c233</anchor>
      <arglist>(const boost::system::error_code &amp;error, BufferPtr buffer_ptr)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>write_message</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a044a537bf8cfee96930fd00f714e5a74</anchor>
      <arglist>(Buffer &amp;message, const uint16_t topic_id)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static uint8_t</type>
      <name>checksum</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a27e9f55c32d0fce0ba55f7f72cdbb147</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static uint8_t</type>
      <name>checksum</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a6200aba16590b4c0b91a09cc2691fb7d</anchor>
      <arglist>(uint16_t val)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>active_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a22208f25949af7e899429caed7189ebd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>AsyncReadBuffer&lt; boost::asio::serial_port &gt;</type>
      <name>async_read_buffer_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>acf95e21544c34e123ec50114aadbea4b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::posix_time::time_duration</type>
      <name>attempt_interval_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>afcb0650393ddee3086a7a42cba138327</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::map&lt; uint16_t, boost::function&lt; void(ros::serialization::IStream &amp;)&gt; &gt;</type>
      <name>callbacks_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a28c0dac2e820a4eba77b72fe52e0e74b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ad24c141ec9be100cd5c6b27fee2cd8d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::map&lt; uint16_t, PublisherPtr &gt;</type>
      <name>publishers_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a721644b555142498856d48071c854793</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::posix_time::time_duration</type>
      <name>require_check_interval_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a03992570ef26c8eea12b063666090bc7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::deadline_timer</type>
      <name>require_check_timer_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a205dd08110408446605e802e9322dc44</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>require_param_name_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>af9c5a5cf5628b7e395c153e842ed7252</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::CallbackQueue</type>
      <name>ros_callback_queue_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a431d01e52a1f183b9756255e6f0b4be9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::posix_time::time_duration</type>
      <name>ros_spin_interval_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a3c9e79292bbf34b23818d946af7d344b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::deadline_timer</type>
      <name>ros_spin_timer_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a52ff3b29cff81f04979a9d930bfe13a5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::map&lt; std::string, ServiceClientPtr &gt;</type>
      <name>services_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a3443479509aaa5d75f76bc03144d6dc4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::serial_port</type>
      <name>socket_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ab9a8e8bf0214351328b95ceb9f3b31e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::map&lt; uint16_t, SubscriberPtr &gt;</type>
      <name>subscribers_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a796f7b725d5779ffebce21a7389d42dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::deadline_timer</type>
      <name>sync_timer_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a14d7ee47973b0c4c59690c5405314288</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::posix_time::time_duration</type>
      <name>timeout_interval_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ad0e6bbe1724a2a5ac3f8923e13aa633a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Session&lt; UdpStream &gt;</name>
    <filename>classrosserial__server_1_1Session.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>is_active</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ac6c253ddb7b569638026026940dce144</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Session</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>aadaa842e57e75bfb61af0daf421dd35b</anchor>
      <arglist>(boost::asio::io_service &amp;io_service)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>set_require_param</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a69e0dee02f14d9760e3fbaf1b33ce2b9</anchor>
      <arglist>(std::string param_name)</arglist>
    </member>
    <member kind="function">
      <type>UdpStream &amp;</type>
      <name>socket</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a700424a14515fceff53667520fc681f7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>start</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a411d722c5850de064c76d77bcc072220</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>stop</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>af1bbb868ded0069c181f45516b7bed55</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="enumvalue" protection="private">
      <name>buffer_max</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ae37b8d7f690c55df3687e6a817bb08b8a4e5d1857a75a4cc11a37654c41bae5a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>attempt_sync</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a2db7af36bd26e512bdf331b67524b796</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>check_set</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a9accddbb68dedd575672f9ad1c0a99b4</anchor>
      <arglist>(std::string param_name, M map)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>handle_log</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a313f8f57f0c6ae7f43d19f9fc3ef01e5</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>handle_time</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ad373b98f150a414905c420bf4dcee81d</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_body</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>aa10e39e7dbc9b9f8fa300da25ae609de</anchor>
      <arglist>(ros::serialization::IStream &amp;stream, uint16_t topic_id)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_failed</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a1c52dca2a2670e7658a75204cb0f5c4a</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_id_length</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a786d48655c1f86d735743e743457bb3c</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_sync_first</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a0e01fe6c396e7f117fc22b64c82c8472</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_sync_header</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ac6d6d3e33cf89b4e4ac0818d8f620c08</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read_sync_second</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a031fbe4dff1ee778ae2d5beb42fdde44</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>request_topics</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ae1d2dd01999bceae54da78e5c33eb81e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>required_topics_check</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a296030215f084bd110014d931afd56eb</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>ros_spin_timeout</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a00cbd312f07e5292a2fdb3d33fe33762</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>set_sync_timeout</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>abd5261da8d8cde71fff4d23199133be4</anchor>
      <arglist>(const boost::posix_time::time_duration &amp;interval)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setup_publisher</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>aad170e91bbbba60661894d2f2b33ef27</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setup_service_client_publisher</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>aba11b8beb78d9920d2b685d5b5d8043b</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setup_service_client_subscriber</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ae4c88c40f51a482b1e13f450af789f8d</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setup_subscriber</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a9b377e7f377064dc0013b1c54c43d8fd</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>sync_timeout</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a7e49a5589528f3dceceefaed1623daaa</anchor>
      <arglist>(const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>write_completion_cb</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a268310873f384ef4e1303f323b33c233</anchor>
      <arglist>(const boost::system::error_code &amp;error, BufferPtr buffer_ptr)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>write_message</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a044a537bf8cfee96930fd00f714e5a74</anchor>
      <arglist>(Buffer &amp;message, const uint16_t topic_id)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static uint8_t</type>
      <name>checksum</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a27e9f55c32d0fce0ba55f7f72cdbb147</anchor>
      <arglist>(ros::serialization::IStream &amp;stream)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static uint8_t</type>
      <name>checksum</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a6200aba16590b4c0b91a09cc2691fb7d</anchor>
      <arglist>(uint16_t val)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>active_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a22208f25949af7e899429caed7189ebd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>AsyncReadBuffer&lt; UdpStream &gt;</type>
      <name>async_read_buffer_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>acf95e21544c34e123ec50114aadbea4b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::posix_time::time_duration</type>
      <name>attempt_interval_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>afcb0650393ddee3086a7a42cba138327</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::map&lt; uint16_t, boost::function&lt; void(ros::serialization::IStream &amp;)&gt; &gt;</type>
      <name>callbacks_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a28c0dac2e820a4eba77b72fe52e0e74b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ad24c141ec9be100cd5c6b27fee2cd8d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::map&lt; uint16_t, PublisherPtr &gt;</type>
      <name>publishers_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a721644b555142498856d48071c854793</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::posix_time::time_duration</type>
      <name>require_check_interval_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a03992570ef26c8eea12b063666090bc7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::deadline_timer</type>
      <name>require_check_timer_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a205dd08110408446605e802e9322dc44</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>require_param_name_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>af9c5a5cf5628b7e395c153e842ed7252</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::CallbackQueue</type>
      <name>ros_callback_queue_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a431d01e52a1f183b9756255e6f0b4be9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::posix_time::time_duration</type>
      <name>ros_spin_interval_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a3c9e79292bbf34b23818d946af7d344b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::deadline_timer</type>
      <name>ros_spin_timer_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a52ff3b29cff81f04979a9d930bfe13a5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::map&lt; std::string, ServiceClientPtr &gt;</type>
      <name>services_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a3443479509aaa5d75f76bc03144d6dc4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>UdpStream</type>
      <name>socket_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ab9a8e8bf0214351328b95ceb9f3b31e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::map&lt; uint16_t, SubscriberPtr &gt;</type>
      <name>subscribers_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a796f7b725d5779ffebce21a7389d42dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::deadline_timer</type>
      <name>sync_timer_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>a14d7ee47973b0c4c59690c5405314288</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::posix_time::time_duration</type>
      <name>timeout_interval_</name>
      <anchorfile>classrosserial__server_1_1Session.html</anchorfile>
      <anchor>ad0e6bbe1724a2a5ac3f8923e13aa633a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>rosserial_server::Subscriber</name>
    <filename>classrosserial__server_1_1Subscriber.html</filename>
    <member kind="function">
      <type>std::string</type>
      <name>get_topic</name>
      <anchorfile>classrosserial__server_1_1Subscriber.html</anchorfile>
      <anchor>aad566bd735262d4ec4400fea29b1d83e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Subscriber</name>
      <anchorfile>classrosserial__server_1_1Subscriber.html</anchorfile>
      <anchor>a1eee522cf8eb74df3777531d4d08f7b6</anchor>
      <arglist>(ros::NodeHandle &amp;nh, rosserial_msgs::TopicInfo &amp;topic_info, boost::function&lt; void(std::vector&lt; uint8_t &gt; &amp;buffer)&gt; write_fn)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>handle</name>
      <anchorfile>classrosserial__server_1_1Subscriber.html</anchorfile>
      <anchor>a797771cca607f755a69c0df48a7d0179</anchor>
      <arglist>(const boost::shared_ptr&lt; topic_tools::ShapeShifter const  &gt; &amp;msg)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>subscriber_</name>
      <anchorfile>classrosserial__server_1_1Subscriber.html</anchorfile>
      <anchor>acebe6c7770476a35bac10b51fd754d66</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::function&lt; void(std::vector&lt; uint8_t &gt; &amp;buffer)&gt;</type>
      <name>write_fn_</name>
      <anchorfile>classrosserial__server_1_1Subscriber.html</anchorfile>
      <anchor>ac72148e265a5ebe6e253e9db92c300fa</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>rosserial_server::TcpServer</name>
    <filename>classrosserial__server_1_1TcpServer.html</filename>
    <templarg>Session</templarg>
    <member kind="function">
      <type></type>
      <name>TcpServer</name>
      <anchorfile>classrosserial__server_1_1TcpServer.html</anchorfile>
      <anchor>ac78b258e305abe990261d878c810291d</anchor>
      <arglist>(boost::asio::io_service &amp;io_service, short port)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>handle_accept</name>
      <anchorfile>classrosserial__server_1_1TcpServer.html</anchorfile>
      <anchor>aaabf944d6eaa1d62cd3101de1d77c00b</anchor>
      <arglist>(Session *new_session, const boost::system::error_code &amp;error)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>start_accept</name>
      <anchorfile>classrosserial__server_1_1TcpServer.html</anchorfile>
      <anchor>a67dd601360c344f903fed24833a20719</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tcp::acceptor</type>
      <name>acceptor_</name>
      <anchorfile>classrosserial__server_1_1TcpServer.html</anchorfile>
      <anchor>a813bd00f9eac0e6af6d6779333dd5094</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::io_service &amp;</type>
      <name>io_service_</name>
      <anchorfile>classrosserial__server_1_1TcpServer.html</anchorfile>
      <anchor>a4e20d6dd7cd1bacd7dc01652240fe133</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>rosserial_server::UdpSocketSession</name>
    <filename>classrosserial__server_1_1UdpSocketSession.html</filename>
    <base>Session&lt; UdpStream &gt;</base>
    <member kind="function">
      <type></type>
      <name>UdpSocketSession</name>
      <anchorfile>classrosserial__server_1_1UdpSocketSession.html</anchorfile>
      <anchor>ad575e4d5fe565746b63668305650980e</anchor>
      <arglist>(boost::asio::io_service &amp;io_service, udp::endpoint server_endpoint, udp::endpoint client_endpoint)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>check_connection</name>
      <anchorfile>classrosserial__server_1_1UdpSocketSession.html</anchorfile>
      <anchor>ab36157ea39c46a7c4f17cd6bf41b677b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>udp::endpoint</type>
      <name>client_endpoint_</name>
      <anchorfile>classrosserial__server_1_1UdpSocketSession.html</anchorfile>
      <anchor>ad4fd5fe50a4973ad47db3d3943b76cd2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>udp::endpoint</type>
      <name>server_endpoint_</name>
      <anchorfile>classrosserial__server_1_1UdpSocketSession.html</anchorfile>
      <anchor>aa96c9d7aeaf6487daaf3e6fa80c5bee2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::deadline_timer</type>
      <name>timer_</name>
      <anchorfile>classrosserial__server_1_1UdpSocketSession.html</anchorfile>
      <anchor>a76dd8a199560faab6839f565649bbcec</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>rosserial_server::UdpStream</name>
    <filename>classrosserial__server_1_1UdpStream.html</filename>
    <member kind="function">
      <type></type>
      <name>BOOST_ASIO_INITFN_RESULT_TYPE</name>
      <anchorfile>classrosserial__server_1_1UdpStream.html</anchorfile>
      <anchor>a4155773ddee66a12e91703f49d2f4ff3</anchor>
      <arglist>(WriteHandler, void(boost::system::error_code, std::size_t)) async_write_some(const ConstBufferSequence &amp;buffers</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>BOOST_ASIO_INITFN_RESULT_TYPE</name>
      <anchorfile>classrosserial__server_1_1UdpStream.html</anchorfile>
      <anchor>a9071f18f5d192db0fafeff009a3d9695</anchor>
      <arglist>(ReadHandler, void(boost::system::error_code, std::size_t)) async_read_some(const MutableBufferSequence &amp;buffers</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>BOOST_ASIO_MOVE_ARG</name>
      <anchorfile>classrosserial__server_1_1UdpStream.html</anchorfile>
      <anchor>a69674ff6106f40fdf42f2356e8fee17c</anchor>
      <arglist>(WriteHandler) handler)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>BOOST_ASIO_MOVE_ARG</name>
      <anchorfile>classrosserial__server_1_1UdpStream.html</anchorfile>
      <anchor>af960f66f46d51fe2b4f79d9fad76bb01</anchor>
      <arglist>(ReadHandler) handler)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>open</name>
      <anchorfile>classrosserial__server_1_1UdpStream.html</anchorfile>
      <anchor>a3b42b046fddb9e8d2354bd6cc0f33298</anchor>
      <arglist>(udp::endpoint server_endpoint, udp::endpoint client_endpoint)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>UdpStream</name>
      <anchorfile>classrosserial__server_1_1UdpStream.html</anchorfile>
      <anchor>ae193827abc4ed288a8a4614250f5c7c7</anchor>
      <arglist>(boost::asio::io_service &amp;io_service)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>udp::endpoint</type>
      <name>client_endpoint_</name>
      <anchorfile>classrosserial__server_1_1UdpStream.html</anchorfile>
      <anchor>a14427a8556b1f36581f23e95e313e2b6</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>rosserial_server</name>
    <filename>namespacerosserial__server.html</filename>
    <class kind="class">rosserial_server::AsyncReadBuffer</class>
    <class kind="class">rosserial_server::Publisher</class>
    <class kind="class">rosserial_server::SerialSession</class>
    <class kind="class">rosserial_server::ServiceClient</class>
    <class kind="class">rosserial_server::Session</class>
    <class kind="class">rosserial_server::Subscriber</class>
    <class kind="class">rosserial_server::TcpServer</class>
    <class kind="class">rosserial_server::UdpSocketSession</class>
    <class kind="class">rosserial_server::UdpStream</class>
    <member kind="typedef">
      <type>std::vector&lt; uint8_t &gt;</type>
      <name>Buffer</name>
      <anchorfile>namespacerosserial__server.html</anchorfile>
      <anchor>acbf2b261ed83c30cec3ed97cb1fb477b</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; Buffer &gt;</type>
      <name>BufferPtr</name>
      <anchorfile>namespacerosserial__server.html</anchorfile>
      <anchor>ab03ad6afc0fa2515793dd4aa014ce8ef</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; Publisher &gt;</type>
      <name>PublisherPtr</name>
      <anchorfile>namespacerosserial__server.html</anchorfile>
      <anchor>a8b2dd5a0e3969d92ed371e64ab93eaa5</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; ServiceClient &gt;</type>
      <name>ServiceClientPtr</name>
      <anchorfile>namespacerosserial__server.html</anchorfile>
      <anchor>a14d5acb9a566cfcc022a2a554e302984</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; Subscriber &gt;</type>
      <name>SubscriberPtr</name>
      <anchorfile>namespacerosserial__server.html</anchorfile>
      <anchor>ae887cbff9c81e34d32fddf23cfae7bd4</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
