diff options
author | Diva Canto | 2011-01-06 12:48:28 -0800 |
---|---|---|
committer | Diva Canto | 2011-01-06 12:48:28 -0800 |
commit | 21dedb573be61a52cbbcc519f999f6046e20e070 (patch) | |
tree | d8f5d5443140e6f0b2371901ca52d2fb29501d35 /OpenSim/Services/Connectors/Hypergrid | |
parent | HG bug fix. Must wait for client's UDP contact before getting scene presence. (diff) | |
download | opensim-SC-21dedb573be61a52cbbcc519f999f6046e20e070.zip opensim-SC-21dedb573be61a52cbbcc519f999f6046e20e070.tar.gz opensim-SC-21dedb573be61a52cbbcc519f999f6046e20e070.tar.bz2 opensim-SC-21dedb573be61a52cbbcc519f999f6046e20e070.tar.xz |
HG map tile fetch: handle cached images appropriately.
Diffstat (limited to 'OpenSim/Services/Connectors/Hypergrid')
-rw-r--r-- | OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs b/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs index 1aa3282..8ab323a 100644 --- a/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs +++ b/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs | |||
@@ -158,10 +158,17 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
158 | try | 158 | try |
159 | { | 159 | { |
160 | WebClient c = new WebClient(); | 160 | WebClient c = new WebClient(); |
161 | //m_log.Debug("JPEG: " + imageURL); | ||
162 | string name = regionID.ToString(); | 161 | string name = regionID.ToString(); |
163 | filename = Path.Combine(storagePath, name + ".jpg"); | 162 | filename = Path.Combine(storagePath, name + ".jpg"); |
164 | c.DownloadFile(imageURL, filename); | 163 | m_log.DebugFormat("[GATEKEEPER SERVICE CONNECTOR]: Map image at {0}, cached at {1}", imageURL, filename); |
164 | if (!File.Exists(filename)) | ||
165 | { | ||
166 | m_log.DebugFormat("[GATEKEEPER SERVICE CONNECTOR]: downloading..."); | ||
167 | c.DownloadFile(imageURL, filename); | ||
168 | } | ||
169 | else | ||
170 | m_log.DebugFormat("[GATEKEEPER SERVICE CONNECTOR]: using cached image"); | ||
171 | |||
165 | bitmap = new Bitmap(filename); | 172 | bitmap = new Bitmap(filename); |
166 | //m_log.Debug("Size: " + m.PhysicalDimension.Height + "-" + m.PhysicalDimension.Width); | 173 | //m_log.Debug("Size: " + m.PhysicalDimension.Height + "-" + m.PhysicalDimension.Width); |
167 | byte[] imageData = OpenJPEG.EncodeFromImage(bitmap, true); | 174 | byte[] imageData = OpenJPEG.EncodeFromImage(bitmap, true); |
@@ -172,10 +179,11 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
172 | 179 | ||
173 | ass.Data = imageData; | 180 | ass.Data = imageData; |
174 | 181 | ||
175 | m_AssetService.Store(ass); | 182 | mapTile = ass.FullID; |
176 | 183 | ||
177 | // finally | 184 | // finally |
178 | mapTile = ass.FullID; | 185 | m_AssetService.Store(ass); |
186 | |||
179 | } | 187 | } |
180 | catch // LEGIT: Catching problems caused by OpenJPEG p/invoke | 188 | catch // LEGIT: Catching problems caused by OpenJPEG p/invoke |
181 | { | 189 | { |