[SOLVED] RoomListSnapshot improvements request

All Union Platform questions, comments, feature requests, and bug reports.

RoomListSnapshot improvements request  

Postby goodguy » Sun 23 Oct 2011 02:06

Hi,
I was just trying to create a DataGrid object that would contain all room ID's of all rooms on the server and three columns with some special attribute names. In my case they are the creator's first name, last name and a map name. I know, all of my rooms have these attributes set when they're just created, so I can definitely "ask" any of these rooms for these attributes.
But I find it very inconvenient to load a RoomListSnapshot first and then load a RoomSnapshot for all of the rooms in RoomListSnapshot.
So I wanted to ask if you could add a new feature to the RoomListSnapshot.
I think it would be good to add one more parameter to its constructor, like:
Code: Select all
RoomListSnapshot (qualifier:String = null, recursive:Boolean = false, roomAttributesList:Array = null);

So that it would be possible to request a specified attributes from all rooms right away.

Could you, please, add something like this to the next version of Union?

regards, Konstantin.

p.s. These new forums look way better than the old ones, good job :)
goodguy
 
Posts: 66
Joined: Sun 23 Oct 2011 01:47

Re: RoomListSnapshot improvements request

Postby colin » Wed 26 Oct 2011 21:03

hi konstantin,
welcome to the new forums!

our current protocol is hard-coded around specific examples of general data-sharing cases. when you ask for a RoomListSnapshot, you are told about an object that is itself a collection of references to objects (Rooms). your feature request, in the general case, is a request for more granular control over the amount of data that is contained by snapshots. by extension, it is also request for more granular control over data synchronization. for example, you can imagine wanting to receive updates about a limited subset of attributes when observing a room or a client. or a limited subset of a list (e.g., "give me a list of all clients with pings under 100").

your request is definitely valid, but we are not planning to implement that level of granularity in the current generation of the UPC protocol. we do have plans to generalize the currently overly specific protocol to allow for improved granularity and flexibility in data retrieval and synchronization. that said, we don't regret the current protocol's specificity. it has helped us understand the needs of connected applications and network-distributed object-oriented programming.

in the current generation, you have two options:

1) request the room list, then observe the rooms (i.e., keep doing what you are doing, despite it being a little inconvenient)
2) write a server module to generate the exact room list you need, and query that module instead of using the built-in RoomListSnapshot

colin
colin
 
Posts: 232
Joined: Mon 17 Oct 2011 18:47

Re: RoomListSnapshot improvements request

Postby goodguy » Fri 28 Oct 2011 10:49

hey Colin,
thanks for the detailed explanation :)
I've solved this particular problem already. I've written a code that calculates the number of visible DataGrid rows after every scroll event, and loads only necessary snapshots. It also adds them to a Vector, so that loaded snapshots were not requested again if user scrolls the list back. I haven't tested it out properly yet, so maybe I'll have to follow your second advice, but right now it seems to be working pretty good.

Anyway, it's good that you're planning to add some more flexibility to future versions of your protocol. That'll definitely get Union closer to being the best of the best
goodguy
 
Posts: 66
Joined: Sun 23 Oct 2011 01:47


Return to Union Platform

Online

Users browsing this forum: No registered users and 6 guests