summaryrefslogtreecommitdiff
path: root/src/libdeno.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libdeno.rs')
-rw-r--r--src/libdeno.rs18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/libdeno.rs b/src/libdeno.rs
index 204f817b5..6696a382b 100644
--- a/src/libdeno.rs
+++ b/src/libdeno.rs
@@ -1,4 +1,9 @@
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
+
+// TODO Remove. While core is being developed, it may not use the complete
+// libdeno API. Thus we allow dead code until things settle.
+#![allow(dead_code)]
+
use libc::c_char;
use libc::c_int;
use libc::c_void;
@@ -25,6 +30,7 @@ pub struct deno_buf {
alloc_len: usize,
data_ptr: *const u8,
data_len: usize,
+ pub zero_copy_id: usize,
}
/// `deno_buf` can not clone, and there is no interior mutability.
@@ -39,6 +45,7 @@ impl deno_buf {
alloc_len: 0,
data_ptr: null(),
data_len: 0,
+ zero_copy_id: 0,
}
}
@@ -49,6 +56,7 @@ impl deno_buf {
alloc_len: 0,
data_ptr: ptr,
data_len: len,
+ zero_copy_id: 0,
}
}
}
@@ -62,6 +70,7 @@ impl<'a> From<&'a [u8]> for deno_buf {
alloc_len: 0,
data_ptr: x.as_ref().as_ptr(),
data_len: x.len(),
+ zero_copy_id: 0,
}
}
}
@@ -106,9 +115,8 @@ impl AsMut<[u8]> for deno_buf {
#[allow(non_camel_case_types)]
type deno_recv_cb = unsafe extern "C" fn(
user_data: *mut c_void,
- req_id: i32,
- buf: deno_buf,
- data_buf: deno_buf,
+ control_buf: deno_buf, // deprecated
+ zero_copy_buf: deno_buf,
);
#[allow(non_camel_case_types)]
@@ -137,12 +145,14 @@ extern "C" {
pub fn deno_delete(i: *const isolate);
pub fn deno_last_exception(i: *const isolate) -> *const c_char;
pub fn deno_check_promise_errors(i: *const isolate);
+ pub fn deno_lock(i: *const isolate);
+ pub fn deno_unlock(i: *const isolate);
pub fn deno_respond(
i: *const isolate,
user_data: *const c_void,
- req_id: i32,
buf: deno_buf,
);
+ pub fn deno_zero_copy_release(i: *const isolate, zero_copy_id: usize);
pub fn deno_execute(
i: *const isolate,
user_data: *const c_void,