Welcome to mirror list, hosted at ThFree Co, Russian Federation.

node_bob-inl.h « src - github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 578e45e9ff6149487ecc6d845f31a9d8b31d75ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#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_