Goby3
3.1.5a
2024.05.23
|
Classes and functions pertaining to acoustic communications (acomms) as well as related marine relevant communications links (such as satellite) More...
Namespaces | |
abc | |
benthos | |
directip | |
iridium | |
micromodem | |
popoto | |
protobuf | |
store_server | |
udp | |
udp_multicast | |
Classes | |
class | ABCDriver |
provides an API to the imaginary ABC modem (as an example how to write drivers) More... | |
class | BenthosATM900Driver |
class | DCCLCodec |
struct | DCCLRepeatedTypedFieldCodec |
struct | DCCLTypedFieldCodec |
struct | DCCLTypedFixedFieldCodec |
class | DefaultNumericFieldCodec |
class | DynamicBuffer |
Represents a time-dependent priority queue for several groups of messages (multiple DynamicSubBuffers) More... | |
class | DynamicBufferNoDataException |
class | DynamicSubBuffer |
Represents a time-dependent priority queue for a single group of messages (e.g. for a single DCCL ID) More... | |
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 | MMDriver |
provides an API to the WHOI Micro-Modem driver More... | |
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 | NetShortCodec |
class | NoOpIdentifierCodec |
class | OnCallBase |
class | PopotoDriver |
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 | SBDPacketException |
class | StaticCodec |
class | StoreServerDriver |
class | TimeCodec |
class | TimeCodec< dccl::int64 > |
class | TimeCodec< dccl::uint64 > |
class | TimeCodec< double > |
class | UDPDriver |
class | UDPMulticastDriver |
Typedefs | |
typedef dccl::Exception | DCCLException |
using | DCCLNullValueException = dccl::NullValueException |
using | DCCLDefaultIdentifierCodec = dccl::DefaultIdentifierCodec |
using | DCCLDefaultBoolCodec = dccl::v2::DefaultBoolCodec |
using | DCCLDefaultStringCodec = dccl::v2::DefaultStringCodec |
using | DCCLDefaultBytesCodec = dccl::v2::DefaultBytesCodec |
using | DCCLDefaultEnumCodec = dccl::v2::DefaultEnumCodec |
using | DCCLDefaultMessageCodec = dccl::v2::DefaultMessageCodec |
using | DCCLFieldCodecBase = dccl::FieldCodecBase |
using | DCCLFieldCodecManager = dccl::FieldCodecManager |
using | Bitset = dccl::Bitset |
typedef std::list< QueuedMessage >::iterator | messages_it |
using | waiting_for_ack_it = std::multimap< unsigned int, messages_it >::iterator |
Enumerations | |
enum | { RATE_RUDICS = 1, RATE_SBD = 0 } |
enum | Direction { DIRECTION_MOBILE_ORIGINATED, DIRECTION_MOBILE_TERMINATED } |
Functions | |
void | bind (ModemDriverBase &driver, QueueManager &queue_manager) |
binds the driver link-layer callbacks to the QueueManager More... | |
void | bind (MACManager &mac, ModemDriverBase &driver) |
binds the MAC initiate transmission callback to the driver and the driver parsed message callback to the MAC More... | |
void | bind (QueueManager &queue_manager, RouteManager &route_manager) |
creates bindings for a RouteManager to control a particular queue (QueueManager) More... | |
void | bind (ModemDriverBase &driver, QueueManager &queue_manager, MACManager &mac) |
bind all three (shortcut to calling the other three bind functions) More... | |
void | unbind (ModemDriverBase &driver, QueueManager &queue_manager) |
unbinds the driver link-layer callbacks to the QueueManager More... | |
void | unbind (MACManager &mac, ModemDriverBase &driver) |
unbinds the MAC initiate transmission callback to the driver and the driver parsed message callback to the MAC More... | |
void | unbind (QueueManager &queue_manager, RouteManager &route_manager) |
creates unbindings for a RouteManager to control a particular queue (QueueManager) More... | |
void | unbind (ModemDriverBase &driver, QueueManager &queue_manager, MACManager &mac) |
unbind all three (shortcut to calling the other three unbind functions) More... | |
template<typename Container > | |
size_t | data_size (const Container &c) |
template<typename Signal , typename Slot > | |
void | connect (Signal *signal, Slot slot) |
connect a signal to a slot (e.g. function pointer) More... | |
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 More... | |
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 More... | |
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 More... | |
template<typename Signal , typename Slot > | |
void | disconnect (Signal *signal, Slot slot) |
disconnect a signal to a slot (e.g. function pointer) More... | |
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 More... | |
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 More... | |
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 More... | |
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 | iridium_rate_to_bytes (int rate, iridium::protobuf::DeviceType device, Direction direction) |
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 (const std::string &s) |
void | serialize_sbd_packet (std::string bytes, std::string *sbd_pkt, bool include_crc=true) |
void | parse_sbd_packet (std::string *bytes, std::string sbd_pkt, bool include_crc=true) |
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) More... | |
Variables | |
constexpr unsigned | BITS_IN_BYTE {8} |
constexpr unsigned | NIBS_IN_BYTE {2} |
One hex char is a nibble (4 bits), two nibbles per byte. More... | |
constexpr int | BROADCAST_ID {0} |
special modem id for the broadcast destination - no one is assigned this address. Analogous to internet protocol address 192.168.1.255 on a 192.168.1.0/24 subnet More... | |
constexpr 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 QueueManager or DynamicBuffer) More... | |
constexpr int | QUERY_SOURCE_ID {-1} |
similar to QUERY_DESTINATION_ID but for the source modem id More... | |
std::shared_ptr< dccl::Codec > | benthos_header_dccl_ |
std::shared_ptr< dccl::Codec > | iridium_header_dccl_ |
constexpr int | IRIDIUM_SBD_CRC_BYTE_SIZE = 4 |
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) |
Classes and functions pertaining to acoustic communications (acomms) as well as related marine relevant communications links (such as satellite)
using goby::acomms::Bitset = typedef dccl::Bitset |
using goby::acomms::DCCLDefaultBoolCodec = typedef dccl::v2::DefaultBoolCodec |
using goby::acomms::DCCLDefaultBytesCodec = typedef dccl::v2::DefaultBytesCodec |
using goby::acomms::DCCLDefaultEnumCodec = typedef dccl::v2::DefaultEnumCodec |
using goby::acomms::DCCLDefaultIdentifierCodec = typedef dccl::DefaultIdentifierCodec |
using goby::acomms::DCCLDefaultMessageCodec = typedef dccl::v2::DefaultMessageCodec |
using goby::acomms::DCCLDefaultStringCodec = typedef dccl::v2::DefaultStringCodec |
typedef dccl::Exception goby::acomms::DCCLException |
using goby::acomms::DCCLFieldCodecBase = typedef dccl::FieldCodecBase |
typedef dccl::FieldCodecManager goby::acomms::DCCLFieldCodecManager |
using goby::acomms::DCCLNullValueException = typedef dccl::NullValueException |
typedef std::list<QueuedMessage>::iterator goby::acomms::messages_it |
using goby::acomms::waiting_for_ack_it = typedef std::multimap<unsigned int, messages_it>::iterator |
anonymous enum |
Enumerator | |
---|---|
RATE_RUDICS | |
RATE_SBD |
Definition at line 41 of file iridium_driver_common.h.
Enumerator | |
---|---|
DIRECTION_MOBILE_ORIGINATED | |
DIRECTION_MOBILE_TERMINATED |
Definition at line 47 of file iridium_driver_common.h.
|
inline |
|
inline |
binds the driver link-layer callbacks to the QueueManager
|
inline |
|
inline |
creates bindings for a RouteManager to control a particular queue (QueueManager)
uint32_t goby::acomms::byte_string_to_uint32 | ( | const std::string & | s | ) |
void goby::acomms::connect | ( | Signal * | signal, |
Obj * | obj, | ||
void(Obj::*)(A1) | mem_func | ||
) |
void goby::acomms::connect | ( | Signal * | signal, |
Obj * | obj, | ||
void(Obj::*)(A1, A2) | mem_func | ||
) |
void goby::acomms::connect | ( | Signal * | signal, |
Obj * | obj, | ||
void(Obj::*)(A1, A2, A3) | mem_func | ||
) |
void goby::acomms::connect | ( | Signal * | signal, |
Slot | slot | ||
) |
size_t goby::acomms::data_size | ( | const Container & | c | ) |
Definition at line 62 of file dynamic_buffer.h.
void goby::acomms::disconnect | ( | Signal * | signal, |
Obj * | obj, | ||
void(Obj::*)(A1) | mem_func | ||
) |
void goby::acomms::disconnect | ( | Signal * | signal, |
Obj * | obj, | ||
void(Obj::*)(A1, A2) | mem_func | ||
) |
void goby::acomms::disconnect | ( | Signal * | signal, |
Obj * | obj, | ||
void(Obj::*)(A1, A2, A3) | mem_func | ||
) |
void goby::acomms::disconnect | ( | Signal * | signal, |
Slot | slot | ||
) |
|
inline |
Definition at line 97 of file benthos_atm900_driver.h.
|
inline |
Definition at line 107 of file iridium_driver_common.h.
|
inline |
Definition at line 162 of file iridium_driver_common.h.
uint16_t goby::acomms::net_checksum | ( | const std::string & | data | ) |
|
inline |
std::ostream& goby::acomms::operator<< | ( | std::ostream & | os, |
const MACManager & | mac | ||
) |
std::ostream& goby::acomms::operator<< | ( | std::ostream & | os, |
const Queue & | oq | ||
) |
std::ostream& goby::acomms::operator<< | ( | std::ostream & | out, |
const QueueManager & | d | ||
) |
outputs information about all available messages (same as info_all)
|
inline |
Definition at line 135 of file benthos_atm900_driver.h.
|
inline |
Definition at line 140 of file iridium_driver_common.h.
void goby::acomms::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 |
||
) |
void goby::acomms::parse_sbd_packet | ( | std::string * | bytes, |
std::string | sbd_pkt, | ||
bool | include_crc = true |
||
) |
|
inline |
Definition at line 110 of file benthos_atm900_driver.h.
|
inline |
Definition at line 119 of file iridium_driver_common.h.
void goby::acomms::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 goby::acomms::serialize_sbd_packet | ( | std::string | bytes, |
std::string * | sbd_pkt, | ||
bool | include_crc = true |
||
) |
std::string goby::acomms::uint32_to_byte_string | ( | uint32_t | i | ) |
|
inline |
|
inline |
unbinds the driver link-layer callbacks to the QueueManager
|
inline |
|
inline |
creates unbindings for a RouteManager to control a particular queue (QueueManager)
std::shared_ptr<dccl::Codec> goby::acomms::benthos_header_dccl_ |
|
constexpr |
Definition at line 38 of file acomms_constants.h.
|
constexpr |
special modem id for the broadcast destination - no one is assigned this address. Analogous to internet protocol address 192.168.1.255 on a 192.168.1.0/24 subnet
Definition at line 43 of file acomms_constants.h.
const unsigned goby::acomms::BROADCAST_MASK = 1 << 6 |
Definition at line 36 of file queue_constants.h.
std::shared_ptr<dccl::Codec> goby::acomms::iridium_header_dccl_ |
|
constexpr |
Definition at line 45 of file iridium_sbd_packet.h.
const unsigned goby::acomms::MULTIMESSAGE_MASK = 1 << 7 |
Definition at line 35 of file queue_constants.h.
|
constexpr |
One hex char is a nibble (4 bits), two nibbles per byte.
Definition at line 40 of file acomms_constants.h.
const boost::posix_time::time_duration goby::acomms::ON_DEMAND_SKEW = boost::posix_time::seconds(1) |
Definition at line 43 of file queue_constants.h.
|
constexpr |
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 QueueManager or DynamicBuffer)
Definition at line 46 of file acomms_constants.h.
|
constexpr |
similar to QUERY_DESTINATION_ID but for the source modem id
Definition at line 49 of file acomms_constants.h.
const unsigned goby::acomms::USER_FRAME_NEXT_SIZE_BYTES = 1 |
Definition at line 40 of file queue_constants.h.
const unsigned goby::acomms::VAR_ID_MASK = 0xFF ^ MULTIMESSAGE_MASK ^ BROADCAST_MASK |
Definition at line 37 of file queue_constants.h.