summaryrefslogtreecommitdiff
path: root/src/node_messaging.h
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2019-08-25 21:48:58 +0200
committerDaniel Bevenius <daniel.bevenius@gmail.com>2019-09-06 06:12:47 +0200
commit72650bcf7283c7b9eb9df9154f981eabdf8c523a (patch)
tree771b2eb895d9cc0d72a9bbf2d99ef2fba2939722 /src/node_messaging.h
parent754d5a9375beecd95ab7f26de769259ee090e5f6 (diff)
downloadandroid-node-v8-72650bcf7283c7b9eb9df9154f981eabdf8c523a.tar.gz
android-node-v8-72650bcf7283c7b9eb9df9154f981eabdf8c523a.tar.bz2
android-node-v8-72650bcf7283c7b9eb9df9154f981eabdf8c523a.zip
worker: make transfer list behave like web MessagePort
Allow generic iterables as transfer list arguments, as well as an options object with a `transfer` option, for web compatibility. PR-URL: https://github.com/nodejs/node/pull/29319 Refs: https://github.com/nodejs/node/pull/28033#discussion_r289964991 Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'src/node_messaging.h')
-rw-r--r--src/node_messaging.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/node_messaging.h b/src/node_messaging.h
index d9f25a95d7..054521b056 100644
--- a/src/node_messaging.h
+++ b/src/node_messaging.h
@@ -14,6 +14,8 @@ namespace worker {
class MessagePortData;
class MessagePort;
+typedef MaybeStackBuffer<v8::Local<v8::Value>, 8> TransferList;
+
// Represents a single communication message.
class Message : public MemoryRetainer {
public:
@@ -44,7 +46,7 @@ class Message : public MemoryRetainer {
v8::Maybe<bool> Serialize(Environment* env,
v8::Local<v8::Context> context,
v8::Local<v8::Value> input,
- v8::Local<v8::Value> transfer_list,
+ const TransferList& transfer_list,
v8::Local<v8::Object> source_port =
v8::Local<v8::Object>());
@@ -149,7 +151,7 @@ class MessagePort : public HandleWrap {
// serialized with transfers, then silently discarded.
v8::Maybe<bool> PostMessage(Environment* env,
v8::Local<v8::Value> message,
- v8::Local<v8::Value> transfer);
+ const TransferList& transfer);
// Start processing messages on this port as a receiving end.
void Start();