| Index: runtime/include/dart_api.h
|
| ===================================================================
|
| --- runtime/include/dart_api.h (revision 1904)
|
| +++ runtime/include/dart_api.h (working copy)
|
| @@ -382,8 +382,8 @@
|
| * processing this message.
|
| */
|
| typedef bool (*Dart_PostMessageCallback)(Dart_Isolate dest_isolate,
|
| - Dart_Port dest_port,
|
| - Dart_Port reply_port,
|
| + Dart_Port dest_port_id,
|
| + Dart_Port reply_port_id,
|
| Dart_Message message);
|
| // TODO(turnidge): Add a Dart_ReleaseMessage to hide allocation details.
|
|
|
| @@ -397,7 +397,7 @@
|
| * 'port' parameter when all active ports are being closed at once.
|
| */
|
| typedef void (*Dart_ClosePortCallback)(Dart_Isolate isolate,
|
| - Dart_Port port);
|
| + Dart_Port port_id);
|
|
|
| /**
|
| * Allows embedders to provide an alternative mechanism for sending
|
| @@ -424,8 +424,8 @@
|
| *
|
| * \return A valid handle if no error occurs during the operation.
|
| */
|
| -DART_EXPORT Dart_Handle Dart_HandleMessage(Dart_Port dest_port,
|
| - Dart_Port reply_port,
|
| +DART_EXPORT Dart_Handle Dart_HandleMessage(Dart_Port dest_port_id,
|
| + Dart_Port reply_port_id,
|
| Dart_Message dart_message);
|
| // TODO(turnidge): Revisit memory management of 'dart_message'.
|
|
|
| @@ -445,6 +445,18 @@
|
| // TODO(turnidge): Should this be removed from the public api?
|
|
|
| /**
|
| + * Gets the main port id for the current isolate.
|
| + */
|
| +DART_EXPORT Dart_Port Dart_GetMainPortId();
|
| +
|
| +/**
|
| + * Does the current isolate have live ReceivePorts?
|
| + *
|
| + * A ReceivePort is live when it has not been closed.
|
| + */
|
| +DART_EXPORT bool Dart_HasLivePorts();
|
| +
|
| +/**
|
| * Posts a message for some isolate. The message is built from a raw
|
| * array.
|
| *
|
| @@ -454,7 +466,7 @@
|
| *
|
| * \return True if the message was posted.
|
| */
|
| -DART_EXPORT bool Dart_PostIntArray(Dart_Port port,
|
| +DART_EXPORT bool Dart_PostIntArray(Dart_Port port_id,
|
| intptr_t length,
|
| intptr_t* data);
|
| // TODO(turnidge): Should this be intptr_t or some fixed length type?
|
| @@ -471,8 +483,20 @@
|
| *
|
| * \return True if the message was posted.
|
| */
|
| -DART_EXPORT bool Dart_Post(Dart_Port port, Dart_Handle object);
|
| +DART_EXPORT bool Dart_Post(Dart_Port port_id, Dart_Handle object);
|
|
|
| +/**
|
| + * Returns a new SendPort with the provided port id.
|
| + */
|
| +DART_EXPORT Dart_Handle Dart_NewSendPort(Dart_Port port_id);
|
| +
|
| +/**
|
| + * Gets the ReceivePort for the provided port id, creating it if necessary.
|
| + *
|
| + * Note that there is at most one ReceivePort for a given port id.
|
| + */
|
| +DART_EXPORT Dart_Handle Dart_GetReceivePort(Dart_Port port_id);
|
| +
|
| // --- Scopes ----
|
|
|
| /**
|
|
|