It is certainly the case that several request/response-type messages
do not have a way of signaling that all of the data was sent. This
arose from thinking of the protocol in a purely viewer-centric way,
i.e. if the viewer was populating a list view, the data in additional
packets is simply appended. This imposes unfortunate constrains the
design of clients that want to process things differently than the
viewer.
This varies from message to message and even within message usage,
e.g. MapBlockReply has a "end of results" signal when issued in
response to to MapNameRequest, but not when issued in response to
MapBlockRequest.
I took a peek at the sim code that issues ParcelAccessListReply and
your analysis appears to be correct; there's a special case for
sending a null entry if there are no entries at all, otherwise the
data is just sent in as many packets as necessary, with no termination
indicator.
On Sun, Apr 18, 2010 at 5:51 AM, Dale Glass <dale at daleglass.net> wrote:
> Hi!
>> I've run into an issue here: I'd like to reliably edit a parcel's
> banlist.
>> However, it seems that ParcelAccessListReply has no way of indicating
> that the entire banlist has been delivered:
>>http://wiki.secondlife.com/wiki/ParcelAccessListReply>> The best way I came up with for now is that if the packet is not
> entirely full (has less than 49 entries), then it's the last one. That
> doesn't help with ban lists with 49 people in them, though. And at that
> point the available solutions seem horribly hackish.
>> Is there something I'm missing, or it's really a grid limitation?
>> Thanks!
> _______________________________________________
> Policies and (un)subscribe information available here:
>http://wiki.secondlife.com/wiki/OpenSource-Dev> Please read the policies before posting to keep unmoderated posting privileges
>