Goby3 3.7.0
2026.11.12
Loading...
Searching...
No Matches
pubsub_entry.h File Reference
#include <cstdint>
#include <ostream>
#include <set>
#include <string>
#include <yaml-cpp/yaml.h>
#include "goby/middleware/tool/interface/yaml_raii.h"
#include "goby/middleware/transport/interface.h"

Go to the source code of this file.

Classes

struct  goby::middleware::tool::interface::PubSubEntry
 One publication or subscription as written to (and read from) an interface file. More...
 
struct  goby::middleware::tool::interface::detail::GroupKey
 

Namespaces

namespace  goby
 The global namespace for the Goby project.
 
namespace  goby::middleware
 Objects implementing the Goby nested middleware.
 
namespace  goby::middleware::tool
 
namespace  goby::middleware::tool::interface
 
namespace  goby::middleware::tool::interface::detail
 

Enumerations

enum class  goby::middleware::tool::interface::Layer {
  goby::middleware::tool::interface::UNKNOWN = -1 , goby::middleware::tool::interface::INTERTHREAD = 0 , goby::middleware::tool::interface::INTERPROCESS = 10 , goby::middleware::tool::interface::INTERMODULE = 20 ,
  goby::middleware::tool::interface::INTERVEHICLE = 30
}
 
enum class  goby::middleware::tool::interface::GroupMatch { goby::middleware::tool::interface::NONE , goby::middleware::tool::interface::EXACT , goby::middleware::tool::interface::LOOSE }
 How a publication's group reaches a subscription's. More...
 

Functions

std::string goby::middleware::tool::interface::layer_name (Layer layer)
 
char goby::middleware::tool::interface::layer_code (Layer layer)
 
std::string goby::middleware::tool::interface::necessity_name (goby::middleware::Necessity n)
 
goby::middleware::Necessity goby::middleware::tool::interface::necessity_from_name (const std::string &s)
 
std::string goby::middleware::tool::interface::compact_numerics (const std::set< std::uint32_t > &values)
 e.g. {1, 2, 3, 7} -> "1-3,7"
 
GroupKey goby::middleware::tool::interface::detail::group_key (const PubSubEntry &e)
 
GroupMatch goby::middleware::tool::interface::group_match (const PubSubEntry &a, const PubSubEntry &b)
 
std::ostream & goby::middleware::tool::interface::operator<< (std::ostream &os, const PubSubEntry &e)
 
bool goby::middleware::tool::interface::operator< (const PubSubEntry &a, const PubSubEntry &b)
 
GroupMatch goby::middleware::tool::interface::connection (const PubSubEntry &a, const PubSubEntry &b)
 Would a publication a reach subscription b (or vice versa) if they share a scope?
 
bool goby::middleware::tool::interface::connects (const PubSubEntry &a, const PubSubEntry &b)