diff options
author | Aaron O'Mullan <aaron.omullan@gmail.com> | 2021-04-11 07:05:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-11 07:05:43 +0200 |
commit | 29eca72fea4f1e160a8d76d2ebda26e2c48b9658 (patch) | |
tree | be8db9d2253a1f64bda23a01b035932b6dc5d34b /core/ops_json.rs | |
parent | 8aa0d5f96ed418e21efb99967f1f6b7fea0dc87f (diff) |
core: avoid async op future reboxing to bundle PromiseId (#10123)
Diffstat (limited to 'core/ops_json.rs')
-rw-r--r-- | core/ops_json.rs | 3 |
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))) }; |