David,

thanks for taking your time to give such an in-depth explanation. That
gave me/all some valuable insights.

- Chris

On 30 Jan., 00:24, David Pollak <[email protected]> wrote:
> On Fri, Jan 29, 2010 at 12:56 PM, ced <[email protected]> wrote:
> > David,
> > thanks for the explanation!
>
> > Let me explain my use case in more depth. Maybe another solution would
> > be suitable that I don't see.
>
> > I use the comet actor to display a list of files which is sent by an
> > actor object monitoring a directory in turn. This is done via comet
> > because changes of the monitored directory can happen frequently and
> > it's not suitable for the user to reload the page to look for new
> > files having arrived. Each file should be displayed as a link so you
> > can click on it to get some detailed information.
>
> > Another approach, which seems not so elegant to me, would be to render
> > links that take the file's name or some sort of file id as a
> > parameter, so that the snippet can resolve it to the file again.
>
> This is one approach and likely to be the easiest in the short run...
> basically, have a SessionVar that maps GUID to file name and just include
> the GUID as a query param for the new window.
>
> We will have to come up with a longer term solution to this issue.  The big
> problem is that Actors are guaranteed to only execute code in one thread.
> If you have a function that's bound to an Actor's instance variables, having
> that function execute code on another thread can have catastrophic impact.
> And there's no way to figure out if the function passed to the SHtml.link()
> method closed over CometActor instance variables.  If it did, the function
> has to be executed in the context of the CometActor and can't have access to
> RequestVars.  So, my first two ideas will not work:
>
>    - Have functions passed to link always execute in the Request context
>    rather than the context based on where they were created.
>    - Have functions executed during a full page load (rather than during an
>    Ajax operation) execute in the Request context
>
> What we could do is execute the functions synchronously on the CometActor
> and capture the RequestVar scope from the CometActor and merge that
> RequestVar context back into the main RequestVar context of the main request
> servicing thread.
>
> Marius -- do you have any thoughts on this issue?
>
>
>
>
>
>
>
> > - Chris
>
> > On 29 Jan., 21:40, David Pollak <[email protected]> wrote:
> > > CometActors do not have a request context and thus do not support request
> > > vars.  The function generated during the execution of a CometActor is run
> > in
> > > the context of the CometActor.
>
> > > This is an interesting and novel use case... Let me think about it for a
> > > little while.
>
> > > On Fri, Jan 29, 2010 at 12:31 PM, ced <[email protected]> wrote:
> > > > Hi all,
>
> > > > I've got the following scenario: A comet actor renders a link like
> > > > this:
> > > > SHtml.link(myURL, handleClick, Text(linkText), "target" ->
> > > > "new_window")
>
> > > > The handleClick function then stores some information in a RequestVar.
> > > > Embedded into the page referenced by myURL, is a snippet that accesses
> > > > the RequestVar.
>
> > > > My problem now is that the RequestVar, when accessed by the snippet is
> > > > always empty. What I know is that the "handleClick" really stores
> > > > something into the RequestVar.
>
> > > > What am I doing wrong? Any help is appreciated.
>
> > > > Thanks,
> > > > Chris
>
> > > > --
> > > > You received this message because you are subscribed to the Google
> > Groups
> > > > "Lift" group.
> > > > To post to this group, send email to [email protected].
> > > > To unsubscribe from this group, send email to
> > > > [email protected]<liftweb%[email protected]
> > > >  >
> > <liftweb%[email protected]<liftweb%252bunsubscr...@googlegroup 
> > s.com>>
> > > > .
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/liftweb?hl=en.
>
> > > --
> > > Lift, the simply functional web frameworkhttp://liftweb.net
> > > Beginning Scalahttp://www.apress.com/book/view/1430219890
> > > Follow me:http://twitter.com/dpp
> > > Surf the harmonics
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Lift" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<liftweb%[email protected] 
> > >
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/liftweb?hl=en.
>
> --
> Lift, the simply functional web frameworkhttp://liftweb.net
> Beginning Scalahttp://www.apress.com/book/view/1430219890
> Follow me:http://twitter.com/dpp
> Surf the harmonics

-- 
You received this message because you are subscribed to the Google Groups 
"Lift" 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/liftweb?hl=en.

Reply via email to