Tim,

I would avoid any and all globals.  I'd strongly suggest finding a way to do
things with sessions.

There's no way to push an ad hoc CometActor to the browser.  CometActors
must be on the page at full page-load time.  They can be hidden and dormant,
but they must be on the page.  I'd opt for a timed poll rather than comet
push.  A 1 second or 3 second resolution on the upload widget update seems
very reasonable to me.

I suspect that you'll run into a nasty problem with the 2 connection limit
that browsers have.  You've got 1 connection for the upload... you have to
carefully manage the second connection.

Thanks,

David


On Sun, Jul 12, 2009 at 11:57 AM, Timothy Perrett
<[email protected]>wrote:

>
> Hey guys,
>
> Implementing this upload progress widget with comet, I just wanted a
> quick sense check about how to organize things.
>
> As the CometActor for a particular session will be instantiated adhoc,
> and the LiftRules.progessListener is global, my current thinking is to
> register a given comet actor with a singleton manager actor upon its
> instantiation. Giving a progressListener something like:
>
> LiftRules.progessListener = (pBytesRead, pContentLength, pItems) => {
>  UploadProgressManager ! StatusUpdate(
>    S.session.map(_.uniqueId).openOr("default"),
>    pBytesRead, pContentLength, pItems)
> }
>
> The idea being that when comet actors register with the manager actor
> they give there sessionId and then I can ensure that only upload
> progress for the current session goes to a given user (and user B
> doesnt get user A's upload progress).
>
> However, I cant help but feel this is a little messy? Thoughts?
>
> Cheers, Tim
> >
>


-- 
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp

--~--~---------~--~----~------------~-------~--~----~
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