|
Goby3 3.3.0
2025.07.10
|
Classes and functions pertaining to acoustic communications (acomms) as well as related marine relevant communications links (such as satellite) More...
Namespaces | |
| namespace | abc |
| namespace | benthos |
| namespace | directip |
| namespace | iridium |
| namespace | janus |
| namespace | micromodem |
| namespace | popoto |
| namespace | protobuf |
| namespace | store_server |
| namespace | udp |
| namespace | 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 | JanusDriver |
| provides an API to the imaginary ABC modem (as an example how to write drivers) More... | |
| 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 | GobyHeaderBits { GOBY_DATA_TYPE = 1 , GOBY_ACK_TYPE = 2 , GOBY_HEADER_TYPE = 0 , GOBY_HEADER_ACK_REQUEST = 1 } |
| 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 | |
| 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 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) | |
| 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 | 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) | |
Acoustic MAC Library callback function type definitions | |
| std::ostream & | operator<< (std::ostream &os, const MACManager &mac) |
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. | |
| 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 | |
| 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) | |
| constexpr int | QUERY_SOURCE_ID {-1} |
| similar to QUERY_DESTINATION_ID but for the source modem id | |
| 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.
| Enumerator | |
|---|---|
| GOBY_DATA_TYPE | |
| GOBY_ACK_TYPE | |
| GOBY_HEADER_TYPE | |
| GOBY_HEADER_ACK_REQUEST | |
Definition at line 41 of file driver_helpers.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)
|
extern |
|
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.
|
extern |
|
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.