Public Types | Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes
Session< Socket > Class Template Reference

#include <Session.h>

List of all members.

Public Types

enum  Version { PROTOCOL_UNKNOWN = 0, PROTOCOL_VER1 = 1, PROTOCOL_VER2 = 2, PROTOCOL_MAX }

Public Member Functions

 Session (boost::asio::io_service &io_service)
Socket & socket ()
void start ()
virtual ~Session ()

Private Types

enum  { buffer_max = 1023 }

Private Member Functions

void attempt_sync ()
template<typename M >
bool check_set (std::string param_name, M map)
void handle_time (ros::serialization::IStream &stream)
void read_body (ros::serialization::IStream &stream, uint16_t topic_id)
void read_failed (const boost::system::error_code &error)
void read_id_length (ros::serialization::IStream &stream)
void read_sync_first (ros::serialization::IStream &stream)
void read_sync_header ()
void read_sync_second (ros::serialization::IStream &stream)
void request_topics ()
void required_topics_check (const boost::system::error_code &error)
void set_sync_timeout (const boost::posix_time::time_duration &interval)
void setup_publisher (ros::serialization::IStream &stream)
void setup_subscriber (ros::serialization::IStream &stream)
void sync_timeout (const boost::system::error_code &error)
void write_buffer (BufferPtr buffer_ptr)
void write_cb (const boost::system::error_code &error, BufferPtr buffer_ptr)
void write_message (Buffer &message, const uint16_t topic_id, Session::Version version)

Static Private Member Functions

static uint8_t checksum (ros::serialization::IStream &stream)
static uint8_t checksum (uint16_t val)

Private Attributes

AsyncReadBuffer< Socket > async_read_buffer_
boost::posix_time::time_duration attempt_interval_
std::map< uint16_t,
boost::function< void(ros::serialization::IStream)> > 
callbacks_
Session::Version client_version
Session::Version client_version_try
ros::NodeHandle nh_
std::map< uint16_t, PublisherPtrpublishers_
boost::posix_time::time_duration require_check_interval_
boost::asio::deadline_timer require_check_timer_
Socket socket_
std::map< uint16_t, SubscriberPtrsubscribers_
boost::asio::deadline_timer sync_timer_
boost::posix_time::time_duration timeout_interval_

Detailed Description

template<typename Socket>
class Session< Socket >

Definition at line 52 of file Session.h.


Member Enumeration Documentation

template<typename Socket>
anonymous enum [private]
Enumerator:
buffer_max 

Definition at line 401 of file Session.h.

template<typename Socket>
enum Session::Version
Enumerator:
PROTOCOL_UNKNOWN 
PROTOCOL_VER1 
PROTOCOL_VER2 
PROTOCOL_MAX 

Definition at line 93 of file Session.h.


Constructor & Destructor Documentation

template<typename Socket>
Session< Socket >::Session ( boost::asio::io_service &  io_service) [inline]

Definition at line 55 of file Session.h.

template<typename Socket>
virtual Session< Socket >::~Session ( ) [inline, virtual]

Definition at line 75 of file Session.h.


Member Function Documentation

template<typename Socket>
void Session< Socket >::attempt_sync ( ) [inline, private]

Definition at line 268 of file Session.h.

template<typename Socket>
template<typename M >
bool Session< Socket >::check_set ( std::string  param_name,
map 
) [inline, private]

Definition at line 325 of file Session.h.

template<typename Socket>
static uint8_t Session< Socket >::checksum ( ros::serialization::IStream stream) [inline, static, private]

Definition at line 346 of file Session.h.

template<typename Socket>
static uint8_t Session< Socket >::checksum ( uint16_t  val) [inline, static, private]

Definition at line 354 of file Session.h.

template<typename Socket>
void Session< Socket >::handle_time ( ros::serialization::IStream stream) [inline, private]

Definition at line 382 of file Session.h.

template<typename Socket>
void Session< Socket >::read_body ( ros::serialization::IStream stream,
uint16_t  topic_id 
) [inline, private]

Definition at line 164 of file Session.h.

template<typename Socket>
void Session< Socket >::read_failed ( const boost::system::error_code &  error) [inline, private]

Definition at line 198 of file Session.h.

template<typename Socket>
void Session< Socket >::read_id_length ( ros::serialization::IStream stream) [inline, private]

Definition at line 139 of file Session.h.

template<typename Socket>
void Session< Socket >::read_sync_first ( ros::serialization::IStream stream) [inline, private]

Definition at line 108 of file Session.h.

template<typename Socket>
void Session< Socket >::read_sync_header ( ) [inline, private]

Definition at line 104 of file Session.h.

template<typename Socket>
void Session< Socket >::read_sync_second ( ros::serialization::IStream stream) [inline, private]

Definition at line 118 of file Session.h.

template<typename Socket>
void Session< Socket >::request_topics ( ) [inline, private]

Definition at line 289 of file Session.h.

template<typename Socket>
void Session< Socket >::required_topics_check ( const boost::system::error_code &  error) [inline, private]

Definition at line 314 of file Session.h.

template<typename Socket>
void Session< Socket >::set_sync_timeout ( const boost::posix_time::time_duration &  interval) [inline, private]

Definition at line 273 of file Session.h.

template<typename Socket>
void Session< Socket >::setup_publisher ( ros::serialization::IStream stream) [inline, private]

Definition at line 360 of file Session.h.

template<typename Socket>
void Session< Socket >::setup_subscriber ( ros::serialization::IStream stream) [inline, private]

Definition at line 371 of file Session.h.

template<typename Socket>
Socket& Session< Socket >::socket ( ) [inline]

Definition at line 80 of file Session.h.

template<typename Socket>
void Session< Socket >::start ( ) [inline]

Definition at line 85 of file Session.h.

template<typename Socket>
void Session< Socket >::sync_timeout ( const boost::system::error_code &  error) [inline, private]

Definition at line 280 of file Session.h.

template<typename Socket>
void Session< Socket >::write_buffer ( BufferPtr  buffer_ptr) [inline, private]

Definition at line 252 of file Session.h.

template<typename Socket>
void Session< Socket >::write_cb ( const boost::system::error_code &  error,
BufferPtr  buffer_ptr 
) [inline, private]

Definition at line 257 of file Session.h.

template<typename Socket>
void Session< Socket >::write_message ( Buffer message,
const uint16_t  topic_id,
Session< Socket >::Version  version 
) [inline, private]

Definition at line 215 of file Session.h.


Member Data Documentation

template<typename Socket>
AsyncReadBuffer<Socket> Session< Socket >::async_read_buffer_ [private]

Definition at line 400 of file Session.h.

template<typename Socket>
boost::posix_time::time_duration Session< Socket >::attempt_interval_ [private]

Definition at line 407 of file Session.h.

template<typename Socket>
std::map< uint16_t, boost::function<void(ros::serialization::IStream)> > Session< Socket >::callbacks_ [private]

Definition at line 412 of file Session.h.

template<typename Socket>
Session::Version Session< Socket >::client_version [private]

Definition at line 404 of file Session.h.

template<typename Socket>
Session::Version Session< Socket >::client_version_try [private]

Definition at line 405 of file Session.h.

template<typename Socket>
ros::NodeHandle Session< Socket >::nh_ [private]

Definition at line 402 of file Session.h.

template<typename Socket>
std::map<uint16_t, PublisherPtr> Session< Socket >::publishers_ [private]

Definition at line 413 of file Session.h.

template<typename Socket>
boost::posix_time::time_duration Session< Socket >::require_check_interval_ [private]

Definition at line 408 of file Session.h.

template<typename Socket>
boost::asio::deadline_timer Session< Socket >::require_check_timer_ [private]

Definition at line 410 of file Session.h.

template<typename Socket>
Socket Session< Socket >::socket_ [private]

Definition at line 399 of file Session.h.

template<typename Socket>
std::map<uint16_t, SubscriberPtr> Session< Socket >::subscribers_ [private]

Definition at line 414 of file Session.h.

template<typename Socket>
boost::asio::deadline_timer Session< Socket >::sync_timer_ [private]

Definition at line 409 of file Session.h.

template<typename Socket>
boost::posix_time::time_duration Session< Socket >::timeout_interval_ [private]

Definition at line 406 of file Session.h.


The documentation for this class was generated from the following file:


rosserial_server
Author(s): Mike Purvis
autogenerated on Fri Aug 28 2015 12:44:56