aboutsummaryrefslogtreecommitdiff
path: root/src/req_wrap.h
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2015-01-30 12:54:53 +0100
committerBen Noordhuis <info@bnoordhuis.nl>2015-02-11 23:06:29 +0100
commit38dc0cd8f43867092ce190db0e8fddae5a6d5f6c (patch)
tree3df685453148bfa0690baaf77151cda20b9e7bd9 /src/req_wrap.h
parent58eb00c6936ac1a01663b2c363fb493a5e0c00a4 (diff)
downloadandroid-node-v8-38dc0cd8f43867092ce190db0e8fddae5a6d5f6c.tar.gz
android-node-v8-38dc0cd8f43867092ce190db0e8fddae5a6d5f6c.tar.bz2
android-node-v8-38dc0cd8f43867092ce190db0e8fddae5a6d5f6c.zip
src: switch from QUEUE to intrusive list
This commit also breaks up req_wrap.h into req-wrap.h and req-wrap-inl.h to work around a circular dependency issue in env.h. PR-URL: https://github.com/iojs/io.js/pull/667 Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com> Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Diffstat (limited to 'src/req_wrap.h')
-rw-r--r--src/req_wrap.h49
1 files changed, 0 insertions, 49 deletions
diff --git a/src/req_wrap.h b/src/req_wrap.h
deleted file mode 100644
index 6ec0251434..0000000000
--- a/src/req_wrap.h
+++ /dev/null
@@ -1,49 +0,0 @@
-#ifndef SRC_REQ_WRAP_H_
-#define SRC_REQ_WRAP_H_
-
-#include "async-wrap.h"
-#include "async-wrap-inl.h"
-#include "env.h"
-#include "env-inl.h"
-#include "queue.h"
-#include "util.h"
-
-namespace node {
-
-template <typename T>
-class ReqWrap : public AsyncWrap {
- public:
- ReqWrap(Environment* env,
- v8::Handle<v8::Object> object,
- AsyncWrap::ProviderType provider)
- : AsyncWrap(env, object, provider) {
- if (env->in_domain())
- object->Set(env->domain_string(), env->domain_array()->Get(0));
-
- QUEUE_INSERT_TAIL(env->req_wrap_queue(), &req_wrap_queue_);
- }
-
-
- ~ReqWrap() override {
- QUEUE_REMOVE(&req_wrap_queue_);
- // Assert that someone has called Dispatched()
- CHECK_EQ(req_.data, this);
- CHECK_EQ(false, persistent().IsEmpty());
- persistent().Reset();
- }
-
- // Call this after the req has been dispatched.
- void Dispatched() {
- req_.data = this;
- }
-
- // TODO(bnoordhuis) Make these private.
- QUEUE req_wrap_queue_;
- T req_; // *must* be last, GetActiveRequests() in node.cc depends on it
-};
-
-
-} // namespace node
-
-
-#endif // SRC_REQ_WRAP_H_