|
@@ -37,19 +37,19 @@ public:
|
|
|
inline void add_input_buffer(const std::string& name, std::shared_ptr<SharedQueue<std::shared_ptr<meta::MetaData>>> buffer)
|
|
|
{
|
|
|
std::unique_lock<std::mutex> lock(mutex_);
|
|
|
- input_buffers_[name] = buffer;
|
|
|
- }
|
|
|
-
|
|
|
- inline void add_output_buffer(const std::string& name, std::shared_ptr<SharedQueue<std::shared_ptr<meta::MetaData>>> buffer)
|
|
|
- {
|
|
|
- std::unique_lock<std::mutex> lock(mutex_);
|
|
|
- // 设置回调,当数据push时通知当前节点
|
|
|
std::weak_ptr<BaseNode> weak_self = shared_from_this();
|
|
|
+ // 设置回调,当数据push时通知当前节点
|
|
|
buffer->set_push_callback([weak_self]() {
|
|
|
if (auto self = weak_self.lock()) {
|
|
|
self->cond_var_->notify_one();
|
|
|
}
|
|
|
});
|
|
|
+ input_buffers_[name] = buffer;
|
|
|
+ }
|
|
|
+
|
|
|
+ inline void add_output_buffer(const std::string& name, std::shared_ptr<SharedQueue<std::shared_ptr<meta::MetaData>>> buffer)
|
|
|
+ {
|
|
|
+ std::unique_lock<std::mutex> lock(mutex_);
|
|
|
output_buffers_[name] = buffer;
|
|
|
}
|
|
|
|