aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorMW2007-08-20 15:49:06 +0000
committerMW2007-08-20 15:49:06 +0000
commit31a81e17be6e59111deb484650fbb1cfa1eb6c5c (patch)
tree01b3f226cd207db1768d33a65fd5931e070e8247 /OpenSim/Region/ClientStack
parentInstant Messages between users in the same region should actually now work. (diff)
downloadopensim-SC_OLD-31a81e17be6e59111deb484650fbb1cfa1eb6c5c.zip
opensim-SC_OLD-31a81e17be6e59111deb484650fbb1cfa1eb6c5c.tar.gz
opensim-SC_OLD-31a81e17be6e59111deb484650fbb1cfa1eb6c5c.tar.bz2
opensim-SC_OLD-31a81e17be6e59111deb484650fbb1cfa1eb6c5c.tar.xz
The regionUUID is now being passed to the datastore calls.
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/ClientView.cs37
1 files changed, 22 insertions, 15 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs
index e56d361..ff527fb 100644
--- a/OpenSim/Region/ClientStack/ClientView.cs
+++ b/OpenSim/Region/ClientStack/ClientView.cs
@@ -40,8 +40,8 @@ using OpenSim.Framework.Inventory;
40using OpenSim.Framework.Types; 40using OpenSim.Framework.Types;
41using OpenSim.Framework.Utilities; 41using OpenSim.Framework.Utilities;
42using OpenSim.Framework.Communications.Caches; 42using OpenSim.Framework.Communications.Caches;
43 43
44using Timer=System.Timers.Timer; 44using Timer = System.Timers.Timer;
45 45
46namespace OpenSim.Region.ClientStack 46namespace OpenSim.Region.ClientStack
47{ 47{
@@ -74,7 +74,7 @@ namespace OpenSim.Region.ClientStack
74 protected IScene m_scene; 74 protected IScene m_scene;
75 private Dictionary<uint, ClientView> m_clientThreads; 75 private Dictionary<uint, ClientView> m_clientThreads;
76 private AssetCache m_assetCache; 76 private AssetCache m_assetCache;
77 // private InventoryCache m_inventoryCache; 77 // private InventoryCache m_inventoryCache;
78 private int cachedtextureserial = 0; 78 private int cachedtextureserial = 0;
79 protected AgentCircuitManager m_authenticateSessionsHandler; 79 protected AgentCircuitManager m_authenticateSessionsHandler;
80 private Encoding enc = Encoding.ASCII; 80 private Encoding enc = Encoding.ASCII;
@@ -84,7 +84,7 @@ namespace OpenSim.Region.ClientStack
84 private int probesWithNoIngressPackets = 0; 84 private int probesWithNoIngressPackets = 0;
85 private int lastPacketsReceived = 0; 85 private int lastPacketsReceived = 0;
86 86
87 public ClientView(EndPoint remoteEP, UseCircuitCodePacket initialcirpack, Dictionary<uint, ClientView> clientThreads, IScene scene, AssetCache assetCache, PacketServer packServer, AgentCircuitManager authenSessions ) 87 public ClientView(EndPoint remoteEP, UseCircuitCodePacket initialcirpack, Dictionary<uint, ClientView> clientThreads, IScene scene, AssetCache assetCache, PacketServer packServer, AgentCircuitManager authenSessions)
88 { 88 {
89 m_moneyBalance = 1000; 89 m_moneyBalance = 1000;
90 90
@@ -93,10 +93,10 @@ namespace OpenSim.Region.ClientStack
93 m_assetCache = assetCache; 93 m_assetCache = assetCache;
94 94
95 m_networkServer = packServer; 95 m_networkServer = packServer;
96 // m_inventoryCache = inventoryCache; 96 // m_inventoryCache = inventoryCache;
97 m_authenticateSessionsHandler = authenSessions; 97 m_authenticateSessionsHandler = authenSessions;
98 98
99 MainLog.Instance.Verbose( "OpenSimClient.cs - Started up new client thread to handle incoming request"); 99 MainLog.Instance.Verbose("OpenSimClient.cs - Started up new client thread to handle incoming request");
100 cirpack = initialcirpack; 100 cirpack = initialcirpack;
101 userEP = remoteEP; 101 userEP = remoteEP;
102 102
@@ -121,7 +121,7 @@ namespace OpenSim.Region.ClientStack
121 public void KillClient() 121 public void KillClient()
122 { 122 {
123 clientPingTimer.Stop(); 123 clientPingTimer.Stop();
124 124
125 m_scene.RemoveClient(this.AgentId); 125 m_scene.RemoveClient(this.AgentId);
126 126
127 m_clientThreads.Remove(this.CircuitCode); 127 m_clientThreads.Remove(this.CircuitCode);
@@ -186,14 +186,15 @@ namespace OpenSim.Region.ClientStack
186 186
187 protected virtual void ClientLoop() 187 protected virtual void ClientLoop()
188 { 188 {
189 MainLog.Instance.Verbose( "OpenSimClient.cs:ClientLoop() - Entered loop"); 189 MainLog.Instance.Verbose("OpenSimClient.cs:ClientLoop() - Entered loop");
190 while (true) 190 while (true)
191 { 191 {
192 QueItem nextPacket = PacketQueue.Dequeue(); 192 QueItem nextPacket = PacketQueue.Dequeue();
193 if (nextPacket.Incoming) 193 if (nextPacket.Incoming)
194 { 194 {
195 //is a incoming packet 195 //is a incoming packet
196 if (nextPacket.Packet.Type != PacketType.AgentUpdate) { 196 if (nextPacket.Packet.Type != PacketType.AgentUpdate)
197 {
197 packetsReceived++; 198 packetsReceived++;
198 } 199 }
199 ProcessInPacket(nextPacket.Packet); 200 ProcessInPacket(nextPacket.Packet);
@@ -209,15 +210,21 @@ namespace OpenSim.Region.ClientStack
209 210
210 protected void CheckClientConnectivity(object sender, ElapsedEventArgs e) 211 protected void CheckClientConnectivity(object sender, ElapsedEventArgs e)
211 { 212 {
212 if (packetsReceived == lastPacketsReceived) { 213 if (packetsReceived == lastPacketsReceived)
214 {
213 probesWithNoIngressPackets++; 215 probesWithNoIngressPackets++;
214 if (probesWithNoIngressPackets > 30) { 216 if (probesWithNoIngressPackets > 30)
217 {
215 this.KillClient(); 218 this.KillClient();
216 } else { 219 }
220 else
221 {
217 // this will normally trigger at least one packet (ping response) 222 // this will normally trigger at least one packet (ping response)
218 SendStartPingCheck(0); 223 SendStartPingCheck(0);
219 } 224 }
220 } else { 225 }
226 else
227 {
221 // Something received in the meantime - we can reset the counters 228 // Something received in the meantime - we can reset the counters
222 probesWithNoIngressPackets = 0; 229 probesWithNoIngressPackets = 0;
223 lastPacketsReceived = packetsReceived; 230 lastPacketsReceived = packetsReceived;
@@ -232,7 +239,7 @@ namespace OpenSim.Region.ClientStack
232 clientPingTimer.Elapsed += new ElapsedEventHandler(CheckClientConnectivity); 239 clientPingTimer.Elapsed += new ElapsedEventHandler(CheckClientConnectivity);
233 clientPingTimer.Enabled = true; 240 clientPingTimer.Enabled = true;
234 241
235 MainLog.Instance.Verbose( "OpenSimClient.cs:InitNewClient() - Adding viewer agent to scene"); 242 MainLog.Instance.Verbose("OpenSimClient.cs:InitNewClient() - Adding viewer agent to scene");
236 this.m_scene.AddNewClient(this, false); 243 this.m_scene.AddNewClient(this, false);
237 } 244 }
238 245