blob: 578e45e9ff6149487ecc6d845f31a9d8b31d75ef [file] [log] [blame]
#ifndef SRC_NODE_BOB_INL_H_
#define SRC_NODE_BOB_INL_H_
#include "node_bob.h"
#include <functional>
namespace node {
namespace bob {
template <typename T>
int SourceImpl<T>::Pull(
Next<T> next,
int options,
T* data,
size_t count,
size_t max_count_hint) {
int status;
if (eos_) {
status = bob::Status::STATUS_EOS;
std::move(next)(status, nullptr, 0, [](size_t len) {});
return status;
}
status = DoPull(std::move(next), options, data, count, max_count_hint);
if (status == bob::Status::STATUS_END)
eos_ = true;
return status;
}
} // namespace bob
} // namespace node
#endif // SRC_NODE_BOB_INL_H_