Hi,

Kind reminder to answer the below.
If the issue is still not clear please let's arrange a meeting. 

Thanks,
Abed

-----Original Message-----
From: Khet, Abed 
Sent: Wednesday, March 02, 2016 12:32
To: 'Alexis Menard' <[email protected]>
Cc: [email protected]; Boimel, Ohad 
<[email protected]>
Subject: RE: [Asynchronous message posting] RE: [Crosswalk-help] Asynchronous 
message posting

Hi Alexis,

I am still reading the article but I want to clear to you our use case:
We have a "send" operation which might take a long time. A user might need to 
abort this operation using "abort" call. 
We have tests in Crodova that call "send", and after 0.5 sec(for example) 
"abort" is called, so the operation is aborted.
This is not the case in Crosswalk. "abort" reaches the extension just after 
"send" completed totally its work and returns. This is the problem we are 
facing and I wanted to learn from you how would you suggest we solve this 
problem?

Thanks,
Abed

-----Original Message-----
From: Alexis Menard [mailto:[email protected]]
Sent: Monday, February 29, 2016 23:56
To: Khet, Abed <[email protected]>
Cc: [email protected]; Boimel, Ohad 
<[email protected]>
Subject: Re: [Asynchronous message posting] RE: [Crosswalk-help] Asynchronous 
message posting

On Mon, Feb 29, 2016 at 1:40 PM, Khet, Abed <[email protected]> wrote:
> Thanks for your answer Alexis. I did not think it is not clear, else I was to 
> clear before.
>
> So I will explain the scenario as following:
>
> ## At Cross walk app Javascript side happens the following scenario:
>         1. Async Function A is called
>         2. Async Function B is called
>
>         A & B are invoking calls to the same crosswalk extension.
>
> ## At extension Side:
>         Happens today: function A is calling PostMessage. When it returns, 
> Function B calls PostMessage.

I think this is the expected behavior. PostMessage will be called and then the 
callback attached to it will be executed, then the context return and you can 
execute more.

>         Expected Behavior: PostMessage should be called in Parallel on two 
> different threads.

Nope there is no such mechanism in place.

>
> Javascript interpreters are supporting parallel execution and event driven 
> model. This is not working for extensions as I described.

Nope some tasks are happening in parallel but unless you use something like Web 
Worker there is not parallelism out of the box in JavaScript.

https://blog.mozilla.org/javascript/2015/02/26/the-path-to-parallel-javascript/
is a good article about it.

> If this is not clear I prefer to set a meeting with you so I show you the 
> problem.
>
> Thanks,
> Abed
>
>
>
> -----Original Message-----
> From: Alexis Menard [mailto:[email protected]]
> Sent: Monday, February 29, 2016 23:30
> To: Khet, Abed <[email protected]>
> Cc: [email protected]; Boimel, Ohad 
> <[email protected]>
> Subject: Re: [Crosswalk-help] Asynchronous message posting
>
> Hi,
>
> I don't understand the context. In one side you are talking about some JS 
> execution then you talk about C++ and threads. Hard to get the big picture. 
> Can you post a snipped of code/pseudo code of what you're trying to achieve.
>
> But the behavior you describe is what setTimeout would normally do if say the 
> delay is the same. Calls are getting queued and then triggered.
>
> Thanks.
>
> On Thu, Feb 18, 2016 at 9:27 AM, Khet, Abed <[email protected]> wrote:
>> Hi,
>>
>>
>>
>> I have the following line in my initialization function:
>>
>> g_messaging->Register(extension, handle_message);
>>
>>
>>
>> where g_messaging is from XW_MessagingInterface type.
>>
>>
>>
>> According to the documentation in the header file this function
>> (handle_message) should be an called as an asynchronous messaging 
>> function and can be called in parallel form Javascript part. What 
>> happens is that even that calls in javascript that are fired using 
>> setTimeout JS function are being called serially one by one where the 
>> second one is called totally when the first one finishes its processing.
>>
>> I’ve tried solving this by using std::thread for each task depending 
>> on the fact the PostMessage function
>> (XW_MessagingInterface_1::PostMessage) – but this caused a crash in the 
>> extension.
>>
>>
>>
>> How could I use asynchronous messaging in Crosswalk extension?
>>
>>
>>
>> Thanks,
>>
>> Abed
>>
>>
>>
>> ---------------------------------------------------------------------
>> Intel Israel (74) Limited
>>
>> This e-mail and any attachments may contain confidential material for 
>> the sole use of the intended recipient(s). Any review or distribution 
>> by others is strictly prohibited. If you are not the intended 
>> recipient, please contact the sender and delete all copies.
>>
>>
>> _______________________________________________
>> Crosswalk-help mailing list
>> [email protected]
>> https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-help
>>
> ---------------------------------------------------------------------
> Intel Israel (74) Limited
>
> This e-mail and any attachments may contain confidential material for 
> the sole use of the intended recipient(s). Any review or distribution 
> by others is strictly prohibited. If you are not the intended 
> recipient, please contact the sender and delete all copies.
---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
_______________________________________________
Crosswalk-help mailing list
[email protected]
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-help

Reply via email to