aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs35
-rw-r--r--OpenSim/Tests/Clients/Assets/AssetsClient.cs21
2 files changed, 46 insertions, 10 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs
index 3b0ccd7..79a935d 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs
@@ -63,9 +63,16 @@ namespace OpenSim.Region.ClientStack.Linden
63 63
64 private Scene m_scene; 64 private Scene m_scene;
65 private bool m_persistBakedTextures; 65 private bool m_persistBakedTextures;
66 private string m_URL;
66 67
67 public void Initialise(IConfigSource source) 68 public void Initialise(IConfigSource source)
68 { 69 {
70 IConfig config = source.Configs["ClientStack.LindenCaps"];
71 if (config == null)
72 return;
73
74 m_URL = config.GetString("Cap_UploadBakedTexture", string.Empty);
75
69 IConfig appearanceConfig = source.Configs["Appearance"]; 76 IConfig appearanceConfig = source.Configs["Appearance"];
70 if (appearanceConfig != null) 77 if (appearanceConfig != null)
71 m_persistBakedTextures = appearanceConfig.GetBoolean("PersistBakedTextures", m_persistBakedTextures); 78 m_persistBakedTextures = appearanceConfig.GetBoolean("PersistBakedTextures", m_persistBakedTextures);
@@ -100,15 +107,27 @@ namespace OpenSim.Region.ClientStack.Linden
100 107
101 public void RegisterCaps(UUID agentID, Caps caps) 108 public void RegisterCaps(UUID agentID, Caps caps)
102 { 109 {
103 caps.RegisterHandler( 110 UUID capID = UUID.Random();
104 "UploadBakedTexture", 111
105 new RestStreamHandler( 112 //caps.RegisterHandler("GetTexture", new StreamHandler("GET", "/CAPS/" + capID, ProcessGetTexture));
106 "POST", 113 if (m_URL == "localhost")
107 "/CAPS/" + caps.CapsObjectPath + m_uploadBakedTexturePath, 114 {
108 new UploadBakedTextureHandler( 115 caps.RegisterHandler(
109 caps, m_scene.AssetService, m_persistBakedTextures).UploadBakedTexture,
110 "UploadBakedTexture", 116 "UploadBakedTexture",
111 agentID.ToString())); 117 new RestStreamHandler(
118 "POST",
119 "/CAPS/" + caps.CapsObjectPath + m_uploadBakedTexturePath,
120 new UploadBakedTextureHandler(
121 caps, m_scene.AssetService, m_persistBakedTextures).UploadBakedTexture,
122 "UploadBakedTexture",
123 agentID.ToString()));
124
125 }
126 else
127 {
128 caps.RegisterHandler("UploadBakedTexture", m_URL);
129 }
130
112 } 131 }
113 } 132 }
114} \ No newline at end of file 133} \ No newline at end of file
diff --git a/OpenSim/Tests/Clients/Assets/AssetsClient.cs b/OpenSim/Tests/Clients/Assets/AssetsClient.cs
index dd168a1..26d740b 100644
--- a/OpenSim/Tests/Clients/Assets/AssetsClient.cs
+++ b/OpenSim/Tests/Clients/Assets/AssetsClient.cs
@@ -82,7 +82,16 @@ namespace OpenSim.Tests.Clients.AssetsClient
82 m_log.InfoFormat("[ASSET CLIENT]: [{0}] requested asset {1}", i, uuid); 82 m_log.InfoFormat("[ASSET CLIENT]: [{0}] requested asset {1}", i, uuid);
83 } 83 }
84 84
85 Thread.Sleep(20 * 1000); 85 for (int i = 0; i < 500; i++)
86 {
87 var x = i;
88 ThreadPool.QueueUserWorkItem(delegate
89 {
90 Dummy(x);
91 });
92 }
93
94 Thread.Sleep(30 * 1000);
86 m_log.InfoFormat("[ASSET CLIENT]: Received responses {0}", m_NReceived); 95 m_log.InfoFormat("[ASSET CLIENT]: Received responses {0}", m_NReceived);
87 } 96 }
88 97
@@ -92,8 +101,16 @@ namespace OpenSim.Tests.Clients.AssetsClient
92 m_MaxThreadID = Thread.CurrentThread.ManagedThreadId; 101 m_MaxThreadID = Thread.CurrentThread.ManagedThreadId;
93 int max1, max2; 102 int max1, max2;
94 ThreadPool.GetAvailableThreads(out max1, out max2); 103 ThreadPool.GetAvailableThreads(out max1, out max2);
95 m_log.InfoFormat("[ASSET CLIENT]: Received asset {0} ({1}) ({2}-{3})", id, m_MaxThreadID, max1, max2); 104 m_log.InfoFormat("[ASSET CLIENT]: Received asset {0} ({1}) ({2}-{3}) {4}", id, m_MaxThreadID, max1, max2, DateTime.Now.ToString("hh:mm:ss"));
96 m_NReceived++; 105 m_NReceived++;
97 } 106 }
107
108 private static void Dummy(int i)
109 {
110 int max1, max2;
111 ThreadPool.GetAvailableThreads(out max1, out max2);
112 m_log.InfoFormat("[ASSET CLIENT]: ({0}) Hello! {1} - {2} {3}", i, max1, max2, DateTime.Now.ToString("hh:mm:ss"));
113 Thread.Sleep(2000);
114 }
98 } 115 }
99} 116}