mirror of
https://github.com/quizhizhe/LiteLoaderBDS-1.16.40.git
synced 2025-06-07 12:18:11 +00:00
38 lines
657 B
C++
38 lines
657 B
C++
#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_
|