Am Dienstag, 6. Februar 2007 12:18 schrieb Jerome Flesch: > > Am Dienstag, 6. Februar 2007 09:06 schrieb Jano: > > > bbackde at googlemail.com wrote: > > > > On 2/5/07, Jerome Flesch <jflesch at nerim.net> > > > > > > > > wrote: > > > >> > > I don't see why this is a problem; he has to parse it when he > > > >> > > submits the request in the first place, and/or when he connects > > > >> > > to the global queue after starting up, so the code is only > > > >> > > slightly different for updating it. > > > >> > > > > >> > Just for the records: the difference is that in the first time we > > > >> > see a PersistentBlah we create a new object for it in our client > > > >> > list. If we see it a second time, then we have to compare our own > > > >> > values against the values in the second PersistentBlah and figure > > > >> > out IF and WHAT changed. If nothing changed then we don't have to > > > >> > update the gui item (which is expensive, redraw, ...). A > > > >> > ModifiedPersistentRequest could be applied without further checks, > > > >> > because something really changed. > > > >> > > > >> I don't know how it's implemented in Frost, but in Thaw, having all > > > >> the value given again would not be a problem: > > > >> Thaw would just update all its values according to the ones given in > > > >> the message., and then do a refresh of the corresponding row in its > > > >> JTable (redraw a row in a JTable is not *so* expensive). So there is > > > >> no need for Thaw to compare something, and so in the end, both > > > >> solutions are the same for me. > > > >> (Yes, I know, this answer probably helps you a lot :) > > > > > > > > So Thaw does what I thought: updating all values, causing table > > > > resorts and redraws. I know that in most cases this isn't such > > > > expensive, but my point is: it is not needed at all if the node tells > > > > clearly what was changed. So we should not ask: _could_ the client > > > > handle this, but we should ask: should the client _have_ to handle > > > > this :) > > > > > > IMHO it's better for the node to always provide a full, consistent > > > picture, and leave to the client to look for what has changed (which, > > > in the end, is a comparison between two hash maps!). Just for the > > > record. > > > > for a full, consistent picture of the queue the client need to do > > a "ListPersistentRequest". > > > > all others (the persitant command sending connection and all watchers) > > should get notyfied with a small notify message instead of sending the > > priority changed PersistantPutDir (~10k, 2000 items in repository) from > > freenetsvn to each queue watcher. > > while rebuilding a freenstsvn-repository i have up to 5 PutDirs in queue. > > so thaw needs to parse 10,000 lines to find 5 changed "Priority=newvalue" > > items? > > I'm not sure why, but it doesn't sound to me like a good idea to put > 10.000 transfers on the global queue ? > By the way, a PersistantPutDir is not managed as only one transfer ? > (I must admit I don't know, I never try them)
the PersistentPutDir messege contains the file list, they are huge here. so for five PersistentPutDir messages i have to parse 10000 lines to find 5 changed "Priority=newvalue". and the node transfers these things whoes nobody asked for. start with a "ListPersistentRequests", this gives you a complete list, then do a "WatchGlobal" and you get only small notify messages instead the complete PersistentPutDir with 2000 files, each file have at least to items, File.x.Name and Files.x.UploadFrom i hav changed the priority, not the file list. imho, bback's proposal for the notifier should be perfectionized and implemented soon. > > imho, bback's proposal for the notifier should appeare on the todo list. > > > > > ITOH it's true that incremental updates are more efficient, but it's > > > the difference between forcing the client to be state-aware or not. > > > > > > _______________________________________________ > > > Devl mailing list > > > Devl at freenetproject.org > > > http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl > > > > -- > > Mfg > > saces > > _______________________________________________ > > Devl mailing list > > Devl at freenetproject.org > > http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl > > _______________________________________________ > Devl mailing list > Devl at freenetproject.org > http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl -- Mfg saces