File tree Expand file tree Collapse file tree 1 file changed +10
-6
lines changed Expand file tree Collapse file tree 1 file changed +10
-6
lines changed Original file line number Diff line number Diff line change @@ -219,13 +219,17 @@ std::shared_ptr<Variable> Stream::inquire_variable(const std::string& name) cons
219
219
if (var == variables_.end ())
220
220
throw UnknownVariableException (XBT_THROW_POINT, name);
221
221
222
- auto new_var = std::make_shared<Variable>(name, var->second ->get_element_size (), var->second ->get_shape ());
223
- auto subscriber = sg4::Actor::self ();
224
- new_var->set_local_start (subscriber, std::vector<size_t >(0 , var->second ->get_shape ().size ()));
225
- new_var->set_local_count (subscriber, std::vector<size_t >(0 , var->second ->get_shape ().size ()));
226
- new_var->set_metadata (var->second ->get_metadata ());
222
+ auto actor = sg4::Actor::self ();
223
+ if (not engine_ || engine_->is_publisher (actor))
224
+ return var->second ;
225
+ else {
226
+ auto new_var = std::make_shared<Variable>(name, var->second ->get_element_size (), var->second ->get_shape ());
227
+ new_var->set_local_start (actor, std::vector<size_t >(0 , var->second ->get_shape ().size ()));
228
+ new_var->set_local_count (actor, std::vector<size_t >(0 , var->second ->get_shape ().size ()));
229
+ new_var->set_metadata (var->second ->get_metadata ());
227
230
228
- return new_var;
231
+ return new_var;
232
+ }
229
233
}
230
234
231
235
bool Stream::remove_variable (const std::string& name)
You can’t perform that action at this time.
0 commit comments