24 #ifndef GOBY_MIDDLEWARE_IO_DETAIL_IO_TRANSPORTERS_H
25 #define GOBY_MIDDLEWARE_IO_DETAIL_IO_TRANSPORTERS_H
34 class InterThreadTransporter;
35 template <
typename InnerTransporter>
class InterProcessForwarder;
57 template <
class Derived, Direction direction>
65 template <
class Derived, Direction direction>
74 bool use_indexed_group>
79 template <
class Derived, const goby::m
iddleware::Group& line_in_group, PubSubLayer layer>
90 this->io_transporter().template publish<line_in_group, Data, scheme>(data);
94 template <
class Derived, const goby::m
iddleware::Group& line_in_group, PubSubLayer layer>
100 : in_group_(std::string(line_in_group), index == -1 ?
Group::invalid_numeric_group : index)
112 this->io_transporter().template publish_dynamic<Data, scheme>(data, in_group_);
120 bool use_indexed_group>
125 template <
class Derived, const goby::m
iddleware::Group& line_out_group, PubSubLayer layer>
131 template <
typename Data,
134 layer>::Transporter>(),
138 this->io_transporter().template subscribe<line_out_group, Data, scheme, necessity>(f);
143 layer>::Transporter>()>
146 this->io_transporter().template unsubscribe<line_out_group, Data, scheme>();
150 template <
class Derived, const goby::m
iddleware::Group& line_out_group, PubSubLayer layer>
155 : out_group_(std::string(line_out_group),
156 index == -1 ?
Group::invalid_numeric_group : index)
163 template <
typename Data,
166 layer>::Transporter>(),
170 this->io_transporter().template subscribe_dynamic<Data, scheme>(f, out_group_);
175 layer>::Transporter>()>
178 this->io_transporter().template unsubscribe_dynamic<Data, scheme>(out_group_);