I get a workaround but no idea if it makes right sense.
Create a JSNI factory method to by pass the GWT like this
private final native short[] createShortArray(int length)
/*-{
var dataArray= new Array(length);
return dataArray;
}-*/;
Now in your GWT code, you can use it as below:
short[] myShortArray=createShortArray(100);
Now if you passMessage(myShortArray), it works.
In your worker side , you need a method like this:
public final native short[] getDataAsShortArray()
/*-{
return this.data;
}-*/;
Anybody can kindly confirm it ?
Thanks a lot.
OrNot
On Aug 7, 7:52 am, OrNOt <[email protected]> wrote:
> Hi, Christian,
> Yes,I have tried to modify the code to pass array. But it seems
> impossible. The reason is not from speed tracer part but from GWT
> internal implementation If I understand well. When you create a array
> in GWT like this :
>
> short[] dataArray = new short[100];
>
> The GWT will translate it to a none native javascript array like
> this:
>
> this.m_shortArray = initDim(_3S_classLit, {22:1}, -1, 4, 1);
>
> Once you want to pass your dataArray, an exception will be thrown
> because
>
> of clone error.
>
> It seemsWebworkeronly supports native array clone. I have tried
> chrome and
> firefox and getting the same error.
>
> I don't know how to go further now. ;-( . Convert the array to
> string might be a
> solution but the performance will be bad for big array.
>
> OrNot
>
> On Aug 6, 2:01 am, cidylle0 <[email protected]> wrote:
>
>
>
>
>
>
>
> > Hi OrNot,
>
> > Yes please if you could help out and let me take a look at your
> > project that would be great ([email protected]). Thanks a lot.
> > As for passing a canvas image array it should be possible since it can
> > be done in JavaScript. The postMessage method in the SpeedTracer code
> > indeed does only have String and Double. Maybe you could modify the
> > speedtracer MessageHandler class and add a method for array passing.
> > Or would stringifying the canvas array be possible ?
>
> > On Aug 4, 6:08 pm, OrNOt <[email protected]> wrote:
>
> > > Hi, Cidylle,
> > > I wrote one example based on speed tracer 'swebworkerand
> > > after some sort of struggling
> > > make it run.
>
> > > If you like , I can send the source code to you. It seems no
> > > place to attach file here?
>
> > > Regards.
> > > OrNot
>
> > > BTW: I also need your help if possible. I want to pass a canvas'
> > > image array from front thread toworker,
> > > in javascript, it seems easy by the event.data. But I don't know how
> > > to pass it in Speed Tracer 's implementation.
> > > If I understand right, it only passes string and double.
>
> > > On Aug 3, 8:56 am, cidylle0 <[email protected]> wrote:
>
> > > > Chris,
> > > > Thanks again for your pointers, they have been very helpful. Following
> > > > your advice I believe I managed to set up the proper configuration and
> > > > I feel I am very close to succeeding. So far I am simply trying to
> > > > test the set up by sending a message from the main module to the
> > > >worker, and have theworkersend back the message then display it in
> > > > an alert window. As I attempt to do so with postMessage() methods I
> > > > run into an error I cannot seem to correct:
>
> > > > ("workerbootstrap error" : "alert not defined" )
>
> > > > Do you have any idea what that error could be ? I have the error
> > > > whether i use simple strings or JSON objects in postMessage. I have
> > > > ran a couple searches and looked into the wc3 specs but to no avail.
> > > > Thank you.
>
> > > > On Aug 2, 10:18 am, Chris Conroy <[email protected]> wrote:
>
> > > > > Within SpeedTracer take a look at the BreakyWorkerinfrastructure
> > > > > (used to
> > > > > validate the schema of records SpeedTracer receives from Chrome):
>
> > > > > client/ui/src/com/google/speedtracer/...
> > > > > breaky/BreakyWorker.gwt.xml
> > > > > breaky/worker/BreakyWorker.java
> > > > > client/model/BreakyWorkerHost.java
>
> > > > > To get an idea of how all this stuff is wired up. TheWorkerHost lives
> > > > > in
> > > > > the normal GWT module side of things, and the BreakyWorker is a
> > > > > DedicatedWorkerEntryPoint responsible for initializing theworker.
> > > > > Since
> > > > > it's small, it also handles the handling of messages.
>
> > > > > The BreakyWorker.gwt.xml module pulls in our WebWorker definition
> > > > > and uses
> > > > > the DedicatedWorkerLinker.
>
> > > > > On Mon, Aug 1, 2011 at 7:58 PM, cidylle0 <[email protected]> wrote:
> > > > > > Thank you for your input Chris.
> > > > > > Yes I have been looking at the code included in Speedtracer but
> > > > > > without documentation (and the fact that I am a novice GWT
> > > > > > developer)
> > > > > > I am having a difficult time figuring out how to the webworker is
> > > > > > being set up and used in Speedtracer. There seems to be a module for
> > > > > > the webworker with various classes representingworkerentry points
> > > > > > but I am not sure which would to implement and in what context. In
> > > > > > the
> > > > > > xml files of the modules i did notice an <add-linker ...> tag which
> > > > > > I
> > > > > > am assuming points to the module that represents theworker. Again,
> > > > > > if
> > > > > > anyone could provide a few basic steps to make a simplewebworker
> > > > > > work in GWT I would greatly appreciate.
>
> > > > > > On a general note, I am a bit surprised by the lack of support
> > > > > > available forwebworkers in gwt, when there is support for other
> > > > > > HTML5 features like local storage, canvas etc. Does anyone know why
> > > > > > it
> > > > > > is the case ? Are people not interested in using multi-threading in
> > > > > > GWT or is GWT not a suitable tool for such an application ?
>
> > > > > > On Aug 1, 3:54 pm, Chris Conroy <[email protected]> wrote:
> > > > > > > You definitely don't want to use gears.
>
> > > > > > > You can take a look at how SpeedTracer uses WebWorkers via a
> > > > > > > custom
> > > > > > > DedicatedWebWorker linker:
> > > > > >http://code.google.com/p/speedtracer/source/browse/#svn%2Ftrunk%2Fsrc...
>
> > > > > > > Note that you cannot reference $doc or $wnd in the webworker.
>
> > > > > > > On Mon, Aug 1, 2011 at 6:37 PM, cidylle0 <[email protected]>
> > > > > > > wrote:
> > > > > > > > Hi Allahbaksh.
>
> > > > > > > > I did run accross the gwt-ns you mentioned but I am having
> > > > > > > > trouble
> > > > > > > > running the sample described. Can't seem to set it up right. The
> > > > > > > > documentation is very minimal and the project seems to have been
> > > > > > > > halted. Can anyone who has usedwebworkers with GWT before help
> > > > > > > > me
> > > > > > > > out or point me out to some JAR or tutorial out there ? I found
> > > > > > > > something called google Gears that seemed to have been doing
> > > > > > > > something
> > > > > > > > very similar (workerpool) but it has recently been deprecated.
> > > > > > > > Any
> > > > > > > > help would be appreciated. Thanks.
>
> > > > > > > > On Aug 1, 5:02 am, Allahbaksh <[email protected]> wrote:
> > > > > > > > > HI,
> > > > > > > > > Check gwt-ns project. I have personally not used it.
> > > > > > > > > Regards,
> > > > > > > > > Allahbaksh
>
> > > > > > > > > On Jul 30, 6:08 am, cidylle0 <[email protected]> wrote:
>
> > > > > > > > > > Hello,
>
> > > > > > > > > > I am currently playing around with GWT and I would like to
> > > > > > implement
> > > > > > > > > > some HTML5 features with it likewebworkers. In the GWT
> > > > > > documentation
> > > > > > > > > > I see that it supports a couple HTML5 features but
> > > > > > > > > > noWebWorkers.
> > > > > > Are
> > > > > > > > > > there any libraries out there that would
> > > > > > > > > > implementwebworkers in
> > > > > > > > > > GWT ? Or can anybody point me to a simple tutorial ? I would
> > > > > > > > > > appreciate. Thanks.
>
> > > > > > > > --
> > > > > > > > You received this message because you are subscribed to the
> > > > > > > > Google
> > > > > > Groups
> > > > > > > > "GoogleWebToolkit" group.
> > > > > > > > To post to this group, send email to
> > > > > > [email protected].
> > > > > > > > To unsubscribe from this group, send email to
> > > > > > > > [email protected].
> > > > > > > > For more options, visit this group at
> > > > > > > >http://groups.google.com/group/google-web-toolkit?hl=en.
>
> > > > > > --
> > > > > > You received this message because you are subscribed to the Google
> > > > > > Groups
> > > > > > "GoogleWebToolkit" group.
> > > > > > To post to this group, send email to
> > > > > > [email protected].
> > > > > > To unsubscribe from this group, send email to
> > > > > > [email protected].
> > > > > > For more options, visit this group at
> > > > > >http://groups.google.com/group/google-web-toolkit?hl=en.
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.