summaryrefslogtreecommitdiff
path: root/libdeno
diff options
context:
space:
mode:
Diffstat (limited to 'libdeno')
-rw-r--r--libdeno/binding.cc7
-rw-r--r--libdeno/deno.h7
-rw-r--r--libdeno/libdeno_test.cc14
3 files changed, 11 insertions, 17 deletions
diff --git a/libdeno/binding.cc b/libdeno/binding.cc
index 55a78069e..c5f582aae 100644
--- a/libdeno/binding.cc
+++ b/libdeno/binding.cc
@@ -243,7 +243,7 @@ void Send(const v8::FunctionCallbackInfo<v8::Value>& args) {
DCHECK_EQ(d->currentArgs, nullptr);
d->currentArgs = &args;
- d->cb(d, req_id, control, data);
+ d->cb(d->user_data, req_id, control, data);
if (d->currentArgs == nullptr) {
// This indicates that deno_repond() was called already.
@@ -431,11 +431,6 @@ void deno_init() {
v8::V8::Initialize();
}
-void* deno_get_data(const Deno* d) {
- CHECK(d->user_data != nullptr);
- return d->user_data;
-}
-
const char* deno_v8_version() { return v8::V8::GetVersion(); }
void deno_set_v8_flags(int* argc, char** argv) {
diff --git a/libdeno/deno.h b/libdeno/deno.h
index c166c7fde..5fad6a1c3 100644
--- a/libdeno/deno.h
+++ b/libdeno/deno.h
@@ -23,8 +23,8 @@ typedef struct deno_s Deno;
// A callback to receive a message from a libdeno.send() javascript call.
// control_buf is valid for only for the lifetime of this callback.
// data_buf is valid until deno_respond() is called.
-typedef void (*deno_recv_cb)(Deno* d, int32_t req_id, deno_buf control_buf,
- deno_buf data_buf);
+typedef void (*deno_recv_cb)(void* user_data, int32_t req_id,
+ deno_buf control_buf, deno_buf data_buf);
void deno_init();
const char* deno_v8_version();
@@ -33,9 +33,6 @@ void deno_set_v8_flags(int* argc, char** argv);
Deno* deno_new(deno_recv_cb cb);
void deno_delete(Deno* d);
-// Returns the void* user_data provided in deno_new.
-void* deno_get_data(Deno*);
-
// Returns false on error.
// Get error text with deno_last_exception().
// 0 = fail, 1 = success
diff --git a/libdeno/libdeno_test.cc b/libdeno/libdeno_test.cc
index 2748a60cc..e46c62978 100644
--- a/libdeno/libdeno_test.cc
+++ b/libdeno/libdeno_test.cc
@@ -69,16 +69,17 @@ TEST(LibDenoTest, RecvReturnEmpty) {
TEST(LibDenoTest, RecvReturnBar) {
static int count = 0;
- Deno* d = deno_new([](auto deno, int req_id, auto buf, auto data_buf) {
+ Deno* d = deno_new([](auto user_data, int req_id, auto buf, auto data_buf) {
+ auto d = reinterpret_cast<Deno*>(user_data);
assert_null(data_buf);
count++;
EXPECT_EQ(static_cast<size_t>(3), buf.data_len);
EXPECT_EQ(buf.data_ptr[0], 'a');
EXPECT_EQ(buf.data_ptr[1], 'b');
EXPECT_EQ(buf.data_ptr[2], 'c');
- deno_respond(deno, nullptr, req_id, strbuf("bar"));
+ deno_respond(d, user_data, req_id, strbuf("bar"));
});
- EXPECT_TRUE(deno_execute(d, nullptr, "a.js", "RecvReturnBar()"));
+ EXPECT_TRUE(deno_execute(d, d, "a.js", "RecvReturnBar()"));
EXPECT_EQ(count, 1);
deno_delete(d);
}
@@ -91,7 +92,8 @@ TEST(LibDenoTest, DoubleRecvFails) {
TEST(LibDenoTest, SendRecvSlice) {
static int count = 0;
- Deno* d = deno_new([](auto deno, int req_id, auto buf, auto data_buf) {
+ Deno* d = deno_new([](auto user_data, int req_id, auto buf, auto data_buf) {
+ auto d = reinterpret_cast<Deno*>(user_data);
assert_null(data_buf);
static const size_t alloc_len = 1024;
size_t i = count++;
@@ -115,9 +117,9 @@ TEST(LibDenoTest, SendRecvSlice) {
buf2.data_ptr[0] = 200 + i;
buf2.data_ptr[buf2.data_len - 1] = 200 - i;
// Send back.
- deno_respond(deno, nullptr, req_id, buf2);
+ deno_respond(d, user_data, req_id, buf2);
});
- EXPECT_TRUE(deno_execute(d, nullptr, "a.js", "SendRecvSlice()"));
+ EXPECT_TRUE(deno_execute(d, d, "a.js", "SendRecvSlice()"));
EXPECT_EQ(count, 5);
deno_delete(d);
}