summaryrefslogtreecommitdiff
path: root/src/req-wrap.h
blob: 240df76ebf481daa098250952ca7e2cff68a3762 (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
#ifndef SRC_REQ_WRAP_H_
#define SRC_REQ_WRAP_H_

#include "async-wrap.h"
#include "env.h"
#include "util.h"
#include "v8.h"

namespace node {

template <typename T>
class ReqWrap : public AsyncWrap {
 public:
  inline ReqWrap(Environment* env,
                 v8::Local<v8::Object> object,
                 AsyncWrap::ProviderType provider);
  inline ~ReqWrap() override;
  inline void Dispatched();  // Call this after the req has been dispatched.

 private:
  friend class Environment;
  ListNode<ReqWrap> req_wrap_queue_;

 public:
  T req_;  // Must be last.  TODO(bnoordhuis) Make private.
};

}  // namespace node

#endif  // SRC_REQ_WRAP_H_