Goby v2
Classes | Typedefs | Enumerations | Functions | Variables
goby::acomms Namespace Reference

Objects pertaining to acoustic communications (acomms) More...

Classes

class  ABCDriver
 provides an API to the imaginary ABC modem (as an example how to write drivers) More...
 
class  BenthosATM900Driver
 
class  Bridge
 
class  DCCLCodec
 
struct  DCCLRepeatedTypedFieldCodec
 
struct  DCCLTypedFieldCodec
 
struct  DCCLTypedFixedFieldCodec
 
class  DefaultNumericFieldCodec
 
class  FileTransfer
 
class  GobyStoreServer
 
class  IPGateway
 
class  IPGatewayEmptyIdentifierCodec
 
class  IPv4AddressCodec
 
class  IPv4FlagsFragOffsetCodec
 
class  IridiumDriver
 
class  IridiumHeaderIdentifierCodec
 
class  IridiumShoreDriver
 
class  MACManager
 provides an API to the goby-acomms MAC library. MACManager is essentially a std::list<protobuf::ModemTransmission> plus a timer. More...
 
class  MessageHandler
 
class  MMDriver
 provides an API to the WHOI Micro-Modem driver More...
 
class  ModemDriver
 
class  ModemDriverBase
 provides an abstract base class for acoustic modem drivers. This is subclassed by the various drivers for different manufacturers' modems. More...
 
class  ModemDriverException
 
class  MoshRelay
 
class  NetShortCodec
 
class  NoOpIdentifierCodec
 
class  OnCallBase
 
class  Packetizer
 
class  Queue
 
struct  QueuedMessage
 
class  QueueException
 Exception class for libdccl. More...
 
class  QueueManager
 provides an API to the goby-acomms Queuing Library. More...
 
class  RouteManager
 
class  RUDICSConnection
 
class  RudicsPacketException
 
class  RUDICSServer
 
class  SBDConnection
 
class  SBDMessageReader
 
class  SBDMOMessageReader
 
class  SBDMTConfirmationMessageReader
 
class  SBDServer
 
class  StaticCodec
 
class  TimeCodec
 
class  TimeCodec< dccl::int64 >
 
class  TimeCodec< dccl::uint64 >
 
class  TimeCodec< double >
 
class  UDPDriver
 

Typedefs

typedef dccl::Exception DCCLException
 
typedef dccl::NullValueException DCCLNullValueException
 
typedef dccl::DefaultIdentifierCodec DCCLDefaultIdentifierCodec
 
typedef dccl::v2::DefaultBoolCodec DCCLDefaultBoolCodec
 
typedef dccl::v2::DefaultStringCodec DCCLDefaultStringCodec
 
typedef dccl::v2::DefaultBytesCodec DCCLDefaultBytesCodec
 
typedef dccl::v2::DefaultEnumCodec DCCLDefaultEnumCodec
 
typedef dccl::v2::DefaultMessageCodec DCCLDefaultMessageCodec
 
typedef dccl::FieldCodecBase DCCLFieldCodecBase
 
typedef dccl::FieldCodecManager DCCLFieldCodecManager
 
typedef dccl::internal::FromProtoCppTypeBase FromProtoCppTypeBase
 
typedef dccl::Bitset Bitset
 
typedef dccl::internal::TypeHelper DCCLTypeHelper
 
typedef std::list< QueuedMessage >::iterator messages_it
 
typedef std::multimap< unsigned, messages_it >::iterator waiting_for_ack_it
 

Enumerations

enum  { RATE_RUDICS = 1, RATE_SBD = 0 }
 

Functions

std::ostream & operator<< (std::ostream &out, const google::protobuf::Message &msg)
 
void bind (ModemDriverBase &driver, QueueManager &queue_manager)
 binds the driver link-layer callbacks to the QueueManager
 
void bind (MACManager &mac, ModemDriverBase &driver)
 binds the MAC initiate transmission callback to the driver and the driver parsed message callback to the MAC
 
void bind (QueueManager &queue_manager, RouteManager &route_manager)
 creates bindings for a RouteManager to control a particular queue (QueueManager)
 
void bind (ModemDriverBase &driver, QueueManager &queue_manager, MACManager &mac)
 bind all three (shortcut to calling the other three bind functions)
 
void unbind (ModemDriverBase &driver, QueueManager &queue_manager)
 unbinds the driver link-layer callbacks to the QueueManager
 
void unbind (MACManager &mac, ModemDriverBase &driver)
 unbinds the MAC initiate transmission callback to the driver and the driver parsed message callback to the MAC
 
void unbind (QueueManager &queue_manager, RouteManager &route_manager)
 creates unbindings for a RouteManager to control a particular queue (QueueManager)
 
void unbind (ModemDriverBase &driver, QueueManager &queue_manager, MACManager &mac)
 unbind all three (shortcut to calling the other three unbind functions)
 
template<typename Signal , typename Slot >
void connect (Signal *signal, Slot slot)
 connect a signal to a slot (e.g. function pointer)
 
template<typename Signal , typename Obj , typename A1 >
void connect (Signal *signal, Obj *obj, void(Obj::*mem_func)(A1))
 connect a signal to a member function with one argument
 
template<typename Signal , typename Obj , typename A1 , typename A2 >
void connect (Signal *signal, Obj *obj, void(Obj::*mem_func)(A1, A2))
 connect a signal to a member function with two arguments
 
template<typename Signal , typename Obj , typename A1 , typename A2 , typename A3 >
void connect (Signal *signal, Obj *obj, void(Obj::*mem_func)(A1, A2, A3))
 connect a signal to a member function with three arguments
 
template<typename Signal , typename Slot >
void disconnect (Signal *signal, Slot slot)
 disconnect a signal to a slot (e.g. function pointer)
 
template<typename Signal , typename Obj , typename A1 >
void disconnect (Signal *signal, Obj *obj, void(Obj::*mem_func)(A1))
 disconnect a signal to a member function with one argument
 
template<typename Signal , typename Obj , typename A1 , typename A2 >
void disconnect (Signal *signal, Obj *obj, void(Obj::*mem_func)(A1, A2))
 disconnect a signal to a member function with two arguments
 
template<typename Signal , typename Obj , typename A1 , typename A2 , typename A3 >
void disconnect (Signal *signal, Obj *obj, void(Obj::*mem_func)(A1, A2, A3))
 disconnect a signal to a member function with three arguments
 
std::ostream & operator<< (std::ostream &os, const DCCLCodec &codec)
 
uint16_t net_checksum (const std::string &data)
 
void init_benthos_dccl ()
 
void serialize_benthos_modem_message (std::string *out, const goby::acomms::protobuf::ModemTransmission &in)
 
void parse_benthos_modem_message (std::string in, goby::acomms::protobuf::ModemTransmission *out)
 
void init_iridium_dccl ()
 
void serialize_iridium_modem_message (std::string *out, const goby::acomms::protobuf::ModemTransmission &in)
 
void parse_iridium_modem_message (std::string in, goby::acomms::protobuf::ModemTransmission *out)
 
unsigned sbd_csum (const std::string &data)
 
void serialize_rudics_packet (std::string bytes, std::string *rudics_pkt, const std::string &reserved=std::string("\0\r\n", 3)+std::string(1, 0xff), bool include_crc=true)
 
void parse_rudics_packet (std::string *bytes, std::string rudics_pkt, const std::string &reserved=std::string("\0\r\n", 3)+std::string(1, 0xff), bool include_crc=true)
 
std::string uint32_to_byte_string (uint32_t i)
 
uint32_t byte_string_to_uint32 (std::string s)
 
std::ostream & operator<< (std::ostream &os, const Queue &oq)
 
std::ostream & operator<< (std::ostream &out, const QueueManager &d)
 outputs information about all available messages (same as info_all)
 
Acoustic MAC Library callback function type definitions
std::ostream & operator<< (std::ostream &os, const MACManager &mac)
 

Variables

const unsigned BITS_IN_BYTE = 8
 
const unsigned NIBS_IN_BYTE = 2
 
const int BROADCAST_ID = 0
 special modem id for the broadcast destination - no one is assigned this address. Analogous to 192.168.1.255 on a 192.168.1.0 subnet
 
const int QUERY_DESTINATION_ID = -1
 special modem id used internally to goby-acomms for indicating that the MAC layer (amac) is agnostic to the next destination. The next destination is thus set by the data provider (typically queue).
 
const int QUERY_SOURCE_ID = -1
 
const unsigned char DCCL_CCL_HEADER = 32
 
boost::shared_ptr< dccl::Codec > benthos_header_dccl_
 
boost::shared_ptr< dccl::Codec > iridium_header_dccl_
 
const unsigned MULTIMESSAGE_MASK = 1 << 7
 
const unsigned BROADCAST_MASK = 1 << 6
 
const unsigned VAR_ID_MASK = 0xFF ^ MULTIMESSAGE_MASK ^ BROADCAST_MASK
 
const unsigned USER_FRAME_NEXT_SIZE_BYTES = 1
 
const boost::posix_time::time_duration ON_DEMAND_SKEW = boost::posix_time::seconds(1)
 

Detailed Description

Objects pertaining to acoustic communications (acomms)