summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/isolate.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/isolate.rs b/src/isolate.rs
index 0adfdb884..4d6f7cdfc 100644
--- a/src/isolate.rs
+++ b/src/isolate.rs
@@ -171,7 +171,6 @@ impl Isolate {
}
pub fn respond(&mut self, req_id: i32, buf: Buf) {
- self.state.metrics_op_completed(buf.len() as u64);
// TODO(zero-copy) Use Buf::leak(buf) to leak the heap allocated buf. And
// don't do the memcpy in ImportBuf() (in libdeno/binding.cc)
unsafe {
@@ -189,7 +188,9 @@ impl Isolate {
// completing.
self.ntasks_decrement();
// Call into JS with the buf.
+ let buf_size = buf.len() as u64;
self.respond(req_id, buf);
+ self.state.metrics_op_completed(buf_size)
}
fn timeout(&mut self) {
@@ -307,6 +308,7 @@ extern "C" fn pre_dispatch(
if buf_size != 0 {
// Set the synchronous response, the value returned from isolate.send().
isolate.respond(req_id, buf);
+ isolate.state.metrics_op_completed(buf_size as u64);
}
} else {
// Execute op asynchronously.