diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/Communications/Cache/AssetCache.cs | 75 | ||||
-rw-r--r-- | OpenSim/Framework/Communications/Capabilities/Caps.cs | 1 |
2 files changed, 40 insertions, 36 deletions
diff --git a/OpenSim/Framework/Communications/Cache/AssetCache.cs b/OpenSim/Framework/Communications/Cache/AssetCache.cs index 3d31ba6..3f594af 100644 --- a/OpenSim/Framework/Communications/Cache/AssetCache.cs +++ b/OpenSim/Framework/Communications/Cache/AssetCache.cs | |||
@@ -212,41 +212,41 @@ namespace OpenSim.Framework.Communications.Caches | |||
212 | while (true) | 212 | while (true) |
213 | { | 213 | { |
214 | TextureSender sender = this.QueueTextures.Dequeue(); | 214 | TextureSender sender = this.QueueTextures.Dequeue(); |
215 | if (TimesTextureSent.ContainsKey(sender.request.RequestUser.AgentId)) | 215 | /* if (TimesTextureSent.ContainsKey(sender.request.RequestUser.AgentId)) |
216 | { | 216 | { |
217 | if (TimesTextureSent[sender.request.RequestUser.AgentId].ContainsKey(sender.request.ImageInfo.FullID)) | 217 | if (TimesTextureSent[sender.request.RequestUser.AgentId].ContainsKey(sender.request.ImageInfo.FullID)) |
218 | { | 218 | { |
219 | TimesTextureSent[sender.request.RequestUser.AgentId][sender.request.ImageInfo.FullID]++; | 219 | TimesTextureSent[sender.request.RequestUser.AgentId][sender.request.ImageInfo.FullID]++; |
220 | } | 220 | } |
221 | else | 221 | else |
222 | { | 222 | { |
223 | TimesTextureSent[sender.request.RequestUser.AgentId].Add(sender.request.ImageInfo.FullID, 1); | 223 | TimesTextureSent[sender.request.RequestUser.AgentId].Add(sender.request.ImageInfo.FullID, 1); |
224 | } | 224 | } |
225 | } | 225 | } |
226 | else | 226 | else |
227 | { | 227 | { |
228 | Dictionary<LLUUID, int> UsersSent = new Dictionary<LLUUID,int>(); | 228 | Dictionary<LLUUID, int> UsersSent = new Dictionary<LLUUID,int>(); |
229 | TimesTextureSent.Add(sender.request.RequestUser.AgentId, UsersSent ); | 229 | TimesTextureSent.Add(sender.request.RequestUser.AgentId, UsersSent ); |
230 | UsersSent.Add(sender.request.ImageInfo.FullID, 1); | 230 | UsersSent.Add(sender.request.ImageInfo.FullID, 1); |
231 | 231 | ||
232 | } | 232 | } |
233 | if (TimesTextureSent[sender.request.RequestUser.AgentId][sender.request.ImageInfo.FullID] < 1000) | 233 | if (TimesTextureSent[sender.request.RequestUser.AgentId][sender.request.ImageInfo.FullID] < 1000) |
234 | {*/ | ||
235 | bool finished = sender.SendTexture(); | ||
236 | if (finished) | ||
234 | { | 237 | { |
235 | bool finished = sender.SendTexture(); | 238 | this.TextureSent(sender); |
236 | if (finished) | ||
237 | { | ||
238 | this.TextureSent(sender); | ||
239 | } | ||
240 | else | ||
241 | { | ||
242 | // Console.WriteLine("readding texture"); | ||
243 | this.QueueTextures.Enqueue(sender); | ||
244 | } | ||
245 | } | 239 | } |
246 | else | 240 | else |
247 | { | 241 | { |
248 | this.TextureSent(sender); | 242 | // Console.WriteLine("readding texture"); |
243 | this.QueueTextures.Enqueue(sender); | ||
249 | } | 244 | } |
245 | /* } | ||
246 | else | ||
247 | { | ||
248 | this.TextureSent(sender); | ||
249 | }*/ | ||
250 | } | 250 | } |
251 | } | 251 | } |
252 | 252 | ||
@@ -336,7 +336,7 @@ namespace OpenSim.Framework.Communications.Caches | |||
336 | ImageNotInDatabasePacket notFound = new ImageNotInDatabasePacket(); | 336 | ImageNotInDatabasePacket notFound = new ImageNotInDatabasePacket(); |
337 | notFound.ImageID.ID = assetID; | 337 | notFound.ImageID.ID = assetID; |
338 | req.RequestUser.OutPacket(notFound); | 338 | req.RequestUser.OutPacket(notFound); |
339 | //Console.WriteLine("sending image not found for " + assetID); | 339 | //Console.WriteLine("sending image not found for " + assetID); |
340 | 340 | ||
341 | this.RequestedTextures.Remove(assetID); | 341 | this.RequestedTextures.Remove(assetID); |
342 | } | 342 | } |
@@ -532,9 +532,9 @@ namespace OpenSim.Framework.Communications.Caches | |||
532 | /// </summary> | 532 | /// </summary> |
533 | /// <param name="userInfo"></param> | 533 | /// <param name="userInfo"></param> |
534 | /// <param name="imageID"></param> | 534 | /// <param name="imageID"></param> |
535 | public void AddTextureRequest(IClientAPI userInfo, LLUUID imageID, uint packetNumber) | 535 | public void AddTextureRequest(IClientAPI userInfo, LLUUID imageID, uint packetNumber, int discard) |
536 | { | 536 | { |
537 | //Console.WriteLine("texture request for " + imageID.ToStringHyphenated() + " packetnumber= " + packetNumber); | 537 | //Console.WriteLine("texture request for " + imageID.ToStringHyphenated() + " packetnumber= " + packetNumber); |
538 | //check to see if texture is in local cache, if not request from asset server | 538 | //check to see if texture is in local cache, if not request from asset server |
539 | if (!this.AvatarRecievedTextures.ContainsKey(userInfo.AgentId)) | 539 | if (!this.AvatarRecievedTextures.ContainsKey(userInfo.AgentId)) |
540 | { | 540 | { |
@@ -554,6 +554,7 @@ namespace OpenSim.Framework.Communications.Caches | |||
554 | request.RequestUser = userInfo; | 554 | request.RequestUser = userInfo; |
555 | request.RequestAssetID = imageID; | 555 | request.RequestAssetID = imageID; |
556 | request.IsTextureRequest = true; | 556 | request.IsTextureRequest = true; |
557 | request.DiscardLevel = discard; | ||
557 | this.RequestedTextures.Add(imageID, request); | 558 | this.RequestedTextures.Add(imageID, request); |
558 | this._assetServer.RequestAsset(imageID, true); | 559 | this._assetServer.RequestAsset(imageID, true); |
559 | } | 560 | } |
@@ -567,6 +568,7 @@ namespace OpenSim.Framework.Communications.Caches | |||
567 | req.RequestAssetID = imageID; | 568 | req.RequestAssetID = imageID; |
568 | req.IsTextureRequest = true; | 569 | req.IsTextureRequest = true; |
569 | req.ImageInfo = imag; | 570 | req.ImageInfo = imag; |
571 | req.DiscardLevel = discard; | ||
570 | 572 | ||
571 | if (imag.Data.LongLength > 600) | 573 | if (imag.Data.LongLength > 600) |
572 | { | 574 | { |
@@ -641,6 +643,7 @@ namespace OpenSim.Framework.Communications.Caches | |||
641 | public byte[] Params = null; | 643 | public byte[] Params = null; |
642 | //public bool AssetInCache; | 644 | //public bool AssetInCache; |
643 | //public int TimeRequested; | 645 | //public int TimeRequested; |
646 | public int DiscardLevel = -1; | ||
644 | 647 | ||
645 | public AssetRequest() | 648 | public AssetRequest() |
646 | { | 649 | { |
@@ -700,7 +703,7 @@ namespace OpenSim.Framework.Communications.Caches | |||
700 | SendPacket(); | 703 | SendPacket(); |
701 | counter++; | 704 | counter++; |
702 | 705 | ||
703 | if ((request.PacketCounter >= request.NumPackets) | counter > 100 | (request.NumPackets == 1)) | 706 | if ((request.PacketCounter >= request.NumPackets) | counter > 100 | (request.NumPackets == 1) | (request.DiscardLevel == -1)) |
704 | { | 707 | { |
705 | return true; | 708 | return true; |
706 | } | 709 | } |
@@ -746,7 +749,7 @@ namespace OpenSim.Framework.Communications.Caches | |||
746 | req.PacketCounter++; | 749 | req.PacketCounter++; |
747 | //req.ImageInfo.last_used = time; | 750 | //req.ImageInfo.last_used = time; |
748 | //System.Console.WriteLine("sent first packet of texture: " + req.ImageInfo.FullID); | 751 | //System.Console.WriteLine("sent first packet of texture: " + req.ImageInfo.FullID); |
749 | //Console.WriteLine("sending packet 1 for " + req.ImageInfo.FullID.ToStringHyphenated()); | 752 | //Console.WriteLine("sending packet 1 for " + req.ImageInfo.FullID.ToStringHyphenated()); |
750 | } | 753 | } |
751 | } | 754 | } |
752 | else | 755 | else |
@@ -758,11 +761,11 @@ namespace OpenSim.Framework.Communications.Caches | |||
758 | im.Header.Reliable = false; | 761 | im.Header.Reliable = false; |
759 | im.ImageID.Packet = (ushort)(req.PacketCounter); | 762 | im.ImageID.Packet = (ushort)(req.PacketCounter); |
760 | im.ImageID.ID = req.ImageInfo.FullID; | 763 | im.ImageID.ID = req.ImageInfo.FullID; |
761 | int size = req.ImageInfo.Data.Length - 600 - (1000 * (req.PacketCounter-1)); | 764 | int size = req.ImageInfo.Data.Length - 600 - (1000 * (req.PacketCounter - 1)); |
762 | if (size > 1000) size = 1000; | 765 | if (size > 1000) size = 1000; |
763 | //Console.WriteLine("length= {0} counter= {1} size= {2}",req.ImageInfo.Data.Length, req.PacketCounter, size); | 766 | //Console.WriteLine("length= {0} counter= {1} size= {2}",req.ImageInfo.Data.Length, req.PacketCounter, size); |
764 | im.ImageData.Data = new byte[size]; | 767 | im.ImageData.Data = new byte[size]; |
765 | Array.Copy(req.ImageInfo.Data, 600 + (1000 * (req.PacketCounter-1)), im.ImageData.Data, 0, size); | 768 | Array.Copy(req.ImageInfo.Data, 600 + (1000 * (req.PacketCounter - 1)), im.ImageData.Data, 0, size); |
766 | req.RequestUser.OutPacket(im); | 769 | req.RequestUser.OutPacket(im); |
767 | req.PacketCounter++; | 770 | req.PacketCounter++; |
768 | //req.ImageInfo.last_used = time; | 771 | //req.ImageInfo.last_used = time; |
diff --git a/OpenSim/Framework/Communications/Capabilities/Caps.cs b/OpenSim/Framework/Communications/Capabilities/Caps.cs index 1a63b98..ba5503e 100644 --- a/OpenSim/Framework/Communications/Capabilities/Caps.cs +++ b/OpenSim/Framework/Communications/Capabilities/Caps.cs | |||
@@ -127,6 +127,7 @@ namespace OpenSim.Region.Capabilities | |||
127 | LLSDCapsDetails caps = new LLSDCapsDetails(); | 127 | LLSDCapsDetails caps = new LLSDCapsDetails(); |
128 | string capsBaseUrl = "http://" + m_httpListenerHostName + ":" + m_httpListenPort.ToString() + "/CAPS/" + m_capsObjectPath; | 128 | string capsBaseUrl = "http://" + m_httpListenerHostName + ":" + m_httpListenPort.ToString() + "/CAPS/" + m_capsObjectPath; |
129 | caps.MapLayer = capsBaseUrl + m_mapLayerPath; | 129 | caps.MapLayer = capsBaseUrl + m_mapLayerPath; |
130 | // caps.RequestTextureDownload = capsBaseUrl + m_requestTexture; | ||
130 | caps.NewFileAgentInventory = capsBaseUrl + m_newInventory; | 131 | caps.NewFileAgentInventory = capsBaseUrl + m_newInventory; |
131 | caps.UpdateNotecardAgentInventory = capsBaseUrl + m_notecardUpdatePath; | 132 | caps.UpdateNotecardAgentInventory = capsBaseUrl + m_notecardUpdatePath; |
132 | caps.UpdateScriptAgentInventory = capsBaseUrl + m_notecardUpdatePath; | 133 | caps.UpdateScriptAgentInventory = capsBaseUrl + m_notecardUpdatePath; |