summaryrefslogtreecommitdiff
path: root/core/ops_json.rs
diff options
context:
space:
mode:
authorAaron O'Mullan <aaron.omullan@gmail.com>2021-04-11 07:05:43 +0200
committerGitHub <noreply@github.com>2021-04-11 07:05:43 +0200
commit29eca72fea4f1e160a8d76d2ebda26e2c48b9658 (patch)
treebe8db9d2253a1f64bda23a01b035932b6dc5d34b /core/ops_json.rs
parent8aa0d5f96ed418e21efb99967f1f6b7fea0dc87f (diff)
core: avoid async op future reboxing to bundle PromiseId (#10123)
Diffstat (limited to 'core/ops_json.rs')
-rw-r--r--core/ops_json.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/core/ops_json.rs b/core/ops_json.rs
index 0efd44a90..3e2b532d0 100644
--- a/core/ops_json.rs
+++ b/core/ops_json.rs
@@ -85,12 +85,13 @@ where
p: OpPayload,
buf: Option<ZeroCopyBuf>|
-> Result<Op, AnyError> {
+ let pid = p.promise_id;
// Parse args
let args = p.deserialize()?;
use crate::futures::FutureExt;
let fut = op_fn(state.clone(), args, buf)
- .map(move |result| serialize_op_result(result, state));
+ .map(move |result| (pid, serialize_op_result(result, state)));
Ok(Op::Async(Box::pin(fut)))
};