Goby3 3.6.1
2026.09.15
Loading...
Searching...
No Matches
goby::middleware::languages Namespace Reference

Support code shared by the Goby language bindings (e.g. Julia, Python) More...

Classes

struct  Identifier
 Fully identifies a publication or subscription crossing the language boundary. More...
 

Enumerations

enum class  PubSubLayer { INTERTHREAD = 0 , INTERPROCESS = 1 , INTERMODULE = 2 }
 The publish/subscribe layer used for a given publication or subscription. More...
 

Functions

std::string to_string (PubSubLayer layer)
 Converts a PubSubLayer to the layer name used in interface.yml.
 
bool operator== (const Identifier &i1, const Identifier &i2)
 
bool operator!= (const Identifier &i1, const Identifier &i2)
 
std::ostream & operator<< (std::ostream &os, const Identifier &i)
 
template<typename DataType , int scheme>
std::vector< std::uint8_t > serialize_uint8 (const DataType &msg)
 Marshals a message using the given scheme, returning the bytes to hand to the bound language.
 

Detailed Description

Support code shared by the Goby language bindings (e.g. Julia, Python)

The bindings all work the same way: the application author declares the publish/subscribe interface statically in an interface.yml file, a generator turns that into C++ glue code, and values cross the language boundary as marshalled bytes tagged with an Identifier. Everything in this header is language-neutral; the language-specific pieces live alongside it in goby/middleware/languages/<language>/application.h

Enumeration Type Documentation

◆ PubSubLayer

The publish/subscribe layer used for a given publication or subscription.

These values are part of the interface between the C++ glue code and the bound language, so they must not be renumbered.

Enumerator
INTERTHREAD 
INTERPROCESS 
INTERMODULE 

Definition at line 51 of file interface.h.

Function Documentation

◆ operator!=()

bool goby::middleware::languages::operator!= ( const Identifier &  i1,
const Identifier &  i2 
)
inline

Definition at line 89 of file interface.h.

◆ operator<<()

std::ostream & goby::middleware::languages::operator<< ( std::ostream &  os,
const Identifier &  i 
)
inline

Definition at line 91 of file interface.h.

◆ operator==()

bool goby::middleware::languages::operator== ( const Identifier &  i1,
const Identifier &  i2 
)
inline

Definition at line 83 of file interface.h.

◆ serialize_uint8()

template<typename DataType , int scheme>
std::vector< std::uint8_t > goby::middleware::languages::serialize_uint8 ( const DataType &  msg)

Marshals a message using the given scheme, returning the bytes to hand to the bound language.

Definition at line 100 of file interface.h.

◆ to_string()

std::string goby::middleware::languages::to_string ( PubSubLayer  layer)
inline

Converts a PubSubLayer to the layer name used in interface.yml.

Definition at line 59 of file interface.h.