aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMW2007-08-30 13:47:04 +0000
committerMW2007-08-30 13:47:04 +0000
commite1505be97fbf71ac91e0747b7604c1bc7e54e1ed (patch)
tree85c830dedcba4b9d55c709aa9c0d6ca1ad06411d
parentdefault to sqlite for user storage. You will have to recreate (diff)
downloadopensim-SC-e1505be97fbf71ac91e0747b7604c1bc7e54e1ed.zip
opensim-SC-e1505be97fbf71ac91e0747b7604c1bc7e54e1ed.tar.gz
opensim-SC-e1505be97fbf71ac91e0747b7604c1bc7e54e1ed.tar.bz2
opensim-SC-e1505be97fbf71ac91e0747b7604c1bc7e54e1ed.tar.xz
Added some place holder classes for various modules.
Some work on the asset cache, can people please test this. including on one of the public systems so we can see if it causes problems with multiple users.
-rw-r--r--OpenSim/Framework/Communications/Cache/AssetCache.cs75
-rw-r--r--OpenSim/Framework/Communications/Capabilities/Caps.cs1
-rw-r--r--OpenSim/Region/Application/OpenSimMain.cs2
-rw-r--r--OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs6
-rw-r--r--OpenSim/Region/Environment/Interfaces/ITerrain.cs46
-rw-r--r--OpenSim/Region/Environment/Modules/AssetDownloadModule.cs45
-rw-r--r--OpenSim/Region/Environment/Modules/FriendsModule.cs10
-rw-r--r--OpenSim/Region/Environment/Modules/InstantMessageModule.cs10
-rw-r--r--OpenSim/Region/Environment/Modules/InventoryModule.cs10
-rw-r--r--OpenSim/Region/Environment/Modules/TextureDownloadModule.cs49
10 files changed, 216 insertions, 38 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;
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs
index 5d0d2b5..17f360f 100644
--- a/OpenSim/Region/Application/OpenSimMain.cs
+++ b/OpenSim/Region/Application/OpenSimMain.cs
@@ -102,6 +102,7 @@ namespace OpenSim
102 } 102 }
103 103
104 ReadConfigSettings(startupSource); 104 ReadConfigSettings(startupSource);
105
105 } 106 }
106 107
107 protected void ReadConfigSettings(IConfigSource configSource) 108 protected void ReadConfigSettings(IConfigSource configSource)
@@ -124,6 +125,7 @@ namespace OpenSim
124 m_networkServersInfo.loadFromConfiguration(configSource); 125 m_networkServersInfo.loadFromConfiguration(configSource);
125 } 126 }
126 127
128
127 /// <summary> 129 /// <summary>
128 /// Performs initialisation of the scene, such as loading configuration from disk. 130 /// Performs initialisation of the scene, such as loading configuration from disk.
129 /// </summary> 131 /// </summary>
diff --git a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
index 5e185ed..a35666d 100644
--- a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
+++ b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
@@ -197,7 +197,7 @@ namespace OpenSim.Region.ClientStack
197 { 197 {
198 if (AgentAni.AnimationList[i].StartAnim) 198 if (AgentAni.AnimationList[i].StartAnim)
199 { 199 {
200 200
201 if (OnStartAnim != null) 201 if (OnStartAnim != null)
202 { 202 {
203 OnStartAnim(this, AgentAni.AnimationList[i].AnimID, 1); 203 OnStartAnim(this, AgentAni.AnimationList[i].AnimID, 1);
@@ -355,7 +355,9 @@ namespace OpenSim.Region.ClientStack
355 //Console.WriteLine("image request: " + Pack.ToString()); 355 //Console.WriteLine("image request: " + Pack.ToString());
356 for (int i = 0; i < imageRequest.RequestImage.Length; i++) 356 for (int i = 0; i < imageRequest.RequestImage.Length; i++)
357 { 357 {
358 m_assetCache.AddTextureRequest(this, imageRequest.RequestImage[i].Image, imageRequest.RequestImage[i].Packet); 358
359 // Console.WriteLine("image request of "+ imageRequest.RequestImage[i].Image+ " at discard level " + imageRequest.RequestImage[i].DiscardLevel);
360 m_assetCache.AddTextureRequest(this, imageRequest.RequestImage[i].Image, imageRequest.RequestImage[i].Packet, imageRequest.RequestImage[i].DiscardLevel);
359 } 361 }
360 break; 362 break;
361 case PacketType.TransferRequest: 363 case PacketType.TransferRequest:
diff --git a/OpenSim/Region/Environment/Interfaces/ITerrain.cs b/OpenSim/Region/Environment/Interfaces/ITerrain.cs
new file mode 100644
index 0000000..a07168e
--- /dev/null
+++ b/OpenSim/Region/Environment/Interfaces/ITerrain.cs
@@ -0,0 +1,46 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4using OpenSim.Framework.Interfaces;
5
6namespace OpenSim.Region.Environment.Interfaces
7{
8 public interface ITerrain
9 {
10 bool Tainted();
11 bool Tainted(int x, int y);
12 void ResetTaint();
13 void ModifyTerrain(float height, float seconds, byte brushsize, byte action, float north, float west, IClientAPI remoteUser);
14 void CheckHeightValues();
15 float[] GetHeights1D();
16 float[,] GetHeights2D();
17 double[,] GetHeights2DD();
18 void GetHeights1D(float[] heights);
19 void SetHeights2D(float[,] heights);
20 void SetHeights2D(double[,] heights);
21 void SwapRevertMaps();
22 void SaveRevertMap();
23 bool RunTerrainCmd(string[] args, ref string resultText, string simName);
24 void SetRange(float min, float max);
25 void LoadFromFileF64(string filename);
26 void LoadFromFileF32(string filename);
27 void LoadFromFileF32(string filename, int dimensionX, int dimensionY, int lowerboundX, int lowerboundY);
28 void LoadFromFileIMG(string filename, int dimensionX, int dimensionY, int lowerboundX, int lowerboundY);
29 void LoadFromFileSLRAW(string filename);
30 void WriteToFileF64(string filename);
31 void WriteToFileF32(string filename);
32 void WriteToFileRAW(string filename);
33 void WriteToFileHiRAW(string filename);
34 void SetSeed(int val);
35 void RaiseTerrain(double rx, double ry, double size, double amount);
36 void LowerTerrain(double rx, double ry, double size, double amount);
37 void FlattenTerrain(double rx, double ry, double size, double amount);
38 void NoiseTerrain(double rx, double ry, double size, double amount);
39 void RevertTerrain(double rx, double ry, double size, double amount);
40 void SmoothTerrain(double rx, double ry, double size, double amount);
41 void HillsGenerator();
42 double GetHeight(int x, int y);
43 void ExportImage(string filename, string gradientmap);
44 byte[] ExportJpegImage(string gradientmap);
45 }
46}
diff --git a/OpenSim/Region/Environment/Modules/AssetDownloadModule.cs b/OpenSim/Region/Environment/Modules/AssetDownloadModule.cs
new file mode 100644
index 0000000..5d7e6a6
--- /dev/null
+++ b/OpenSim/Region/Environment/Modules/AssetDownloadModule.cs
@@ -0,0 +1,45 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4using libsecondlife;
5using OpenSim.Framework.Interfaces;
6using OpenSim.Region.Environment.Scenes;
7using OpenSim.Region.Environment.Interfaces;
8
9
10namespace OpenSim.Region.Environment.Modules
11{
12 public class AssetDownloadModule : IRegionModule
13 {
14 private Scene m_scene;
15
16 public AssetDownloadModule()
17 {
18
19 }
20
21 public void Initialise(Scene scene)
22 {
23 m_scene = scene;
24 m_scene.EventManager.OnNewClient += NewClient;
25 }
26
27 public void PostInitialise()
28 {
29
30 }
31
32 public void CloseDown()
33 {
34 }
35
36 public string GetName()
37 {
38 return "AssetDownloadModule";
39 }
40
41 public void NewClient(IClientAPI client)
42 {
43 }
44 }
45}
diff --git a/OpenSim/Region/Environment/Modules/FriendsModule.cs b/OpenSim/Region/Environment/Modules/FriendsModule.cs
new file mode 100644
index 0000000..960d68f
--- /dev/null
+++ b/OpenSim/Region/Environment/Modules/FriendsModule.cs
@@ -0,0 +1,10 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4
5namespace OpenSim.Region.Environment.Modules
6{
7 public class FriendsModule
8 {
9 }
10}
diff --git a/OpenSim/Region/Environment/Modules/InstantMessageModule.cs b/OpenSim/Region/Environment/Modules/InstantMessageModule.cs
new file mode 100644
index 0000000..ef2f224
--- /dev/null
+++ b/OpenSim/Region/Environment/Modules/InstantMessageModule.cs
@@ -0,0 +1,10 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4
5namespace OpenSim.Region.Environment.Modules
6{
7 public class InstantMessageModule
8 {
9 }
10}
diff --git a/OpenSim/Region/Environment/Modules/InventoryModule.cs b/OpenSim/Region/Environment/Modules/InventoryModule.cs
new file mode 100644
index 0000000..3659292
--- /dev/null
+++ b/OpenSim/Region/Environment/Modules/InventoryModule.cs
@@ -0,0 +1,10 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4
5namespace OpenSim.Region.Environment.Modules
6{
7 public class InventoryModule
8 {
9 }
10}
diff --git a/OpenSim/Region/Environment/Modules/TextureDownloadModule.cs b/OpenSim/Region/Environment/Modules/TextureDownloadModule.cs
new file mode 100644
index 0000000..a92566d
--- /dev/null
+++ b/OpenSim/Region/Environment/Modules/TextureDownloadModule.cs
@@ -0,0 +1,49 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4using libsecondlife;
5using OpenSim.Framework.Interfaces;
6using OpenSim.Region.Environment.Scenes;
7using OpenSim.Region.Environment.Interfaces;
8
9namespace OpenSim.Region.Environment.Modules
10{
11 public class TextureDownloadModule :IRegionModule
12 {
13 private Scene m_scene;
14
15 public TextureDownloadModule()
16 {
17
18 }
19
20 public void Initialise(Scene scene)
21 {
22 m_scene = scene;
23 m_scene.EventManager.OnNewClient += NewClient;
24 }
25
26 public void PostInitialise()
27 {
28
29 }
30
31 public void CloseDown()
32 {
33 }
34
35 public string GetName()
36 {
37 return "TextureDownloadModule";
38 }
39
40 public void NewClient(IClientAPI client)
41 {
42 }
43
44 public void TextureAssetCallback(LLUUID texture, byte[] data)
45 {
46
47 }
48 }
49}