Skip to content

Commit ff1d979

Browse files
committed
do not reset local size for publishers
1 parent 15db1c9 commit ff1d979

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

src/Stream.cpp

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -219,13 +219,17 @@ std::shared_ptr<Variable> Stream::inquire_variable(const std::string& name) cons
219219
if (var == variables_.end())
220220
throw UnknownVariableException(XBT_THROW_POINT, name);
221221

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());
227230

228-
return new_var;
231+
return new_var;
232+
}
229233
}
230234

231235
bool Stream::remove_variable(const std::string& name)

0 commit comments

Comments
 (0)