[sldev] Understanding the viewer event queue code

Suzy Deffeyes suzyq at pobox.com
Wed May 20 12:51:51 PDT 2009


Thanks Tess,

It's the registration part that I'm hung up on.  I grok the cap and the
polling part,  but there are a bunch of LLHTTPRegistration entries for event
types that aren't in the list processed by
LLHTTPRegistrar::buildAllServices(), which confused me.

I thought that anything with an entry similar to this:

LLHTTPRegistration<LLMyNodeType>  gHTTPServiceAlphaBeta("/alpha/beta");

would show up in the list sent in to buildAllServices(). It doesn't appear
to work quite that way.

SQ


On Wed, May 20, 2009 at 2:24 PM, Tess Chu <tess at lindenlab.com> wrote:

> The viewer requests for capabilities via the seed capability.
>  "EventQueueGet" is the capability for polling for events queues for the
> client from the region.  The viewer then periodically invokes that
> capability essentially polling the server for messages.  See
> llviewerregion.cpp, lleventpoll.cpp.  There are then routing code that maps
>  the events received to the registered http handlers that you see.
>
> - Tess
> Sent from my iPhone
>
> On May 20, 2009, at 9:00 AM, Infinity Linden <infinity at lindenlab.com>
> wrote:
>
> lemme dig through my notes and see if i have more / better documentation on
> using caps.
> yes. if the viewer is still as i remember it, we have an event queue for
> the region you're connected to and for each adjacent region for object
> updates from child cameras. (but... it's been close to a year since i
> touched the client code... though the llmessage code is shared between
> viewer and server.)
>
> On Wed, May 20, 2009 at 7:49 AM, Suzy Deffeyes < <suzyq at pobox.com>
> suzyq at pobox.com> wrote:
>
>> I'm attempting to understand how the event queue in the viewer works,
>> specifically, creating and registering new services. I'm thankful for the
>> documentation in llhttpnode.h, but I'm still scratching my head a bit.
>>
>> In LLHTTPRegistrar::buildAllServices(), I see all the message/* type nodes
>> getting registered, as well as the trusted-message one.  I *thought* all one
>> had to do to get something registered was to have something like this:
>>
>> LLHTTPRegistration<LLMyNodeType> gHTTPServiceAlphaBeta("/alpha/beta");
>>
>> So I expected (hoped?) to see the services defined in llsdappservices.cpp
>> in the call to buildAllServices....but i don't see them in the list being
>> registered.  Is there something else needed? Or some other mechanism being
>> used? Are they added later?
>>
>> Also, is there a separate event queue opened with each child region that
>> the viewer is connected to?  Or is there only one with the region the agent
>> is in?
>> Thanks
>> Suzy
>>
>>
> _______________________________________________
> Policies and (un)subscribe information available here:
> http://wiki.secondlife.com/wiki/SLDev
> Please read the policies before posting to keep unmoderated posting
> privileges
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/sldev/attachments/20090520/cd087f83/attachment.htm 


More information about the SLDev mailing list