On Tue, Jul 27, 2010 at 17:00, Jeremy McDermond <[email protected]> wrote: > On Jul 27, 2010, at 4:53 PM, Curt, WE7U wrote: > >> On Wed, 28 Jul 2010, James Cameron wrote: >> >>> Are the http requests streamed in one connection, or are there multiple >>> connections? Are the multiple connections fired simultaneously or are >>> they queued one by one? >>> >>> The reason I ask is that several users are on high latency connections, >>> such as satellite or commercial wireless "broadband", and a tiling >>> implementation that makes multiple requests pays the latency penalty >>> many times. > > I don't think the real question is whether they're simultaneous, but whether > the HTTP request can be pipelined. That way you can request multiple tiles > in one TCP connection and save the TCP setup costs over a high latency > connection. >
I had the same questions and went looking through the code for answers. Indeed the tiles are requested serially. Each tile download is delegated to fetch_remote_file() in fetch_remote.c. This function uses libcurl or wget. I think a new helper function would be required to support multiple downloads via one connection. Latency is a killer for this feature. My connection is pretty good, but it appears the server latency is pretty bad. Two parallel connections instead of the serial requests would probably speed things up greatly. I might try to implement this, but it might take me a while to figure out threading in C. I know exactly how I would do it in Python :) Despite the latency, tile support has sped things up a lot. I'm really liking this feature. Once the tiles are cached, map panning is very speedy! Tom KD7LXL _______________________________________________ Xastir mailing list [email protected] http://lists.xastir.org/cgi-bin/mailman/listinfo/xastir
