diff options
Diffstat (limited to 'OpenSim/Region/Communications')
5 files changed, 36 insertions, 15 deletions
diff --git a/OpenSim/Region/Communications/Local/CommunicationsLocal.cs b/OpenSim/Region/Communications/Local/CommunicationsLocal.cs index 3ce0cc5..0c40453 100644 --- a/OpenSim/Region/Communications/Local/CommunicationsLocal.cs +++ b/OpenSim/Region/Communications/Local/CommunicationsLocal.cs | |||
@@ -28,6 +28,7 @@ | |||
28 | using OpenSim.Framework.Communications; | 28 | using OpenSim.Framework.Communications; |
29 | using OpenSim.Framework.Types; | 29 | using OpenSim.Framework.Types; |
30 | using OpenSim.Framework.Servers; | 30 | using OpenSim.Framework.Servers; |
31 | using OpenSim.Framework.Communications.Caches; | ||
31 | 32 | ||
32 | namespace OpenSim.Region.Communications.Local | 33 | namespace OpenSim.Region.Communications.Local |
33 | { | 34 | { |
@@ -36,8 +37,8 @@ namespace OpenSim.Region.Communications.Local | |||
36 | public LocalBackEndServices SandBoxServices = new LocalBackEndServices(); | 37 | public LocalBackEndServices SandBoxServices = new LocalBackEndServices(); |
37 | public LocalUserServices UserServices; | 38 | public LocalUserServices UserServices; |
38 | 39 | ||
39 | public CommunicationsLocal(NetworkServersInfo serversInfo, BaseHttpServer httpServer ) | 40 | public CommunicationsLocal(NetworkServersInfo serversInfo, BaseHttpServer httpServer, AssetCache assetCache ) |
40 | : base(serversInfo, httpServer) | 41 | : base(serversInfo, httpServer, assetCache) |
41 | { | 42 | { |
42 | UserServices = new LocalUserServices(this, serversInfo); | 43 | UserServices = new LocalUserServices(this, serversInfo); |
43 | UserServices.AddPlugin("OpenSim.Framework.Data.DB4o.dll"); | 44 | UserServices.AddPlugin("OpenSim.Framework.Data.DB4o.dll"); |
diff --git a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs index 9322f3b..47968fc 100644 --- a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs +++ b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs | |||
@@ -161,12 +161,21 @@ namespace OpenSim.Region.Communications.Local | |||
161 | /// <param name="agentID"></param> | 161 | /// <param name="agentID"></param> |
162 | /// <param name="position"></param> | 162 | /// <param name="position"></param> |
163 | /// <returns></returns> | 163 | /// <returns></returns> |
164 | public bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position) | 164 | public bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying) |
165 | { | 165 | { |
166 | if (this.regionHosts.ContainsKey(regionHandle)) | 166 | if (this.regionHosts.ContainsKey(regionHandle)) |
167 | { | 167 | { |
168 | // Console.WriteLine("CommsManager- Informing a region to expect avatar crossing"); | 168 | // Console.WriteLine("CommsManager- Informing a region to expect avatar crossing"); |
169 | this.regionHosts[regionHandle].TriggerExpectAvatarCrossing(regionHandle, agentID, position); | 169 | this.regionHosts[regionHandle].TriggerExpectAvatarCrossing(regionHandle, agentID, position, isFlying); |
170 | return true; | ||
171 | } | ||
172 | return false; | ||
173 | } | ||
174 | |||
175 | public bool AcknowledgeAgentCrossed(ulong regionHandle, LLUUID agentID) | ||
176 | { | ||
177 | if (this.regionHosts.ContainsKey(regionHandle)) | ||
178 | { | ||
170 | return true; | 179 | return true; |
171 | } | 180 | } |
172 | return false; | 181 | return false; |
diff --git a/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs b/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs index 9df0901..47d3148 100644 --- a/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs +++ b/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs | |||
@@ -1,13 +1,15 @@ | |||
1 | using OpenSim.Framework.Communications; | 1 | using OpenSim.Framework.Communications; |
2 | using OpenSim.Framework.Types; | 2 | using OpenSim.Framework.Types; |
3 | using OpenSim.Framework.Servers; | 3 | using OpenSim.Framework.Servers; |
4 | using OpenSim.Framework.Communications.Caches; | ||
5 | |||
4 | 6 | ||
5 | namespace OpenSim.Region.Communications.OGS1 | 7 | namespace OpenSim.Region.Communications.OGS1 |
6 | { | 8 | { |
7 | public class CommunicationsOGS1 : CommunicationsManager | 9 | public class CommunicationsOGS1 : CommunicationsManager |
8 | { | 10 | { |
9 | 11 | ||
10 | public CommunicationsOGS1(NetworkServersInfo serversInfo, BaseHttpServer httpServer ) :base(serversInfo, httpServer) | 12 | public CommunicationsOGS1(NetworkServersInfo serversInfo, BaseHttpServer httpServer, AssetCache assetCache ) :base(serversInfo, httpServer, assetCache) |
11 | { | 13 | { |
12 | OGS1GridServices gridInterComms = new OGS1GridServices(serversInfo, httpServer); | 14 | OGS1GridServices gridInterComms = new OGS1GridServices(serversInfo, httpServer); |
13 | GridServer = gridInterComms; | 15 | GridServer = gridInterComms; |
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs index aadf85a..69d0d57 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | |||
@@ -382,13 +382,13 @@ namespace OpenSim.Region.Communications.OGS1 | |||
382 | /// <param name="agentID"></param> | 382 | /// <param name="agentID"></param> |
383 | /// <param name="position"></param> | 383 | /// <param name="position"></param> |
384 | /// <returns></returns> | 384 | /// <returns></returns> |
385 | public bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position) | 385 | public bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying) |
386 | { | 386 | { |
387 | try | 387 | try |
388 | { | 388 | { |
389 | if (this.listeners.ContainsKey(regionHandle)) | 389 | if (this.listeners.ContainsKey(regionHandle)) |
390 | { | 390 | { |
391 | this.listeners[regionHandle].TriggerExpectAvatarCrossing(regionHandle, agentID, position); | 391 | this.listeners[regionHandle].TriggerExpectAvatarCrossing(regionHandle, agentID, position, isFlying); |
392 | return true; | 392 | return true; |
393 | } | 393 | } |
394 | RegionInfo regInfo = this.RequestNeighbourInfo(regionHandle); | 394 | RegionInfo regInfo = this.RequestNeighbourInfo(regionHandle); |
@@ -400,7 +400,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
400 | "tcp://" + regInfo.RemotingAddress + ":" + regInfo.RemotingPort + "/InterRegions"); | 400 | "tcp://" + regInfo.RemotingAddress + ":" + regInfo.RemotingPort + "/InterRegions"); |
401 | if (remObject != null) | 401 | if (remObject != null) |
402 | { | 402 | { |
403 | retValue = remObject.ExpectAvatarCrossing(regionHandle, agentID, position); | 403 | retValue = remObject.ExpectAvatarCrossing(regionHandle, agentID, position, isFlying); |
404 | } | 404 | } |
405 | else | 405 | else |
406 | { | 406 | { |
@@ -420,6 +420,15 @@ namespace OpenSim.Region.Communications.OGS1 | |||
420 | return false; | 420 | return false; |
421 | } | 421 | } |
422 | } | 422 | } |
423 | |||
424 | public bool AcknowledgeAgentCrossed(ulong regionHandle, LLUUID agentID) | ||
425 | { | ||
426 | if (this.listeners.ContainsKey(regionHandle)) | ||
427 | { | ||
428 | return true; | ||
429 | } | ||
430 | return false; | ||
431 | } | ||
423 | #endregion | 432 | #endregion |
424 | 433 | ||
425 | #region Methods triggered by calls from external instances | 434 | #region Methods triggered by calls from external instances |
@@ -453,13 +462,13 @@ namespace OpenSim.Region.Communications.OGS1 | |||
453 | /// <param name="agentID"></param> | 462 | /// <param name="agentID"></param> |
454 | /// <param name="position"></param> | 463 | /// <param name="position"></param> |
455 | /// <returns></returns> | 464 | /// <returns></returns> |
456 | public bool IncomingArrival(ulong regionHandle, LLUUID agentID, LLVector3 position) | 465 | public bool IncomingArrival(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying) |
457 | { | 466 | { |
458 | try | 467 | try |
459 | { | 468 | { |
460 | if (this.listeners.ContainsKey(regionHandle)) | 469 | if (this.listeners.ContainsKey(regionHandle)) |
461 | { | 470 | { |
462 | this.listeners[regionHandle].TriggerExpectAvatarCrossing(regionHandle, agentID, position); | 471 | this.listeners[regionHandle].TriggerExpectAvatarCrossing(regionHandle, agentID, position, isFlying); |
463 | return true; | 472 | return true; |
464 | } | 473 | } |
465 | } | 474 | } |
diff --git a/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs b/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs index 87d62c8..ae08e9c 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs | |||
@@ -5,7 +5,7 @@ using OpenSim.Framework.Types; | |||
5 | namespace OpenSim.Region.Communications.OGS1 | 5 | namespace OpenSim.Region.Communications.OGS1 |
6 | { | 6 | { |
7 | public delegate bool InformRegionChild(ulong regionHandle, AgentCircuitData agentData); | 7 | public delegate bool InformRegionChild(ulong regionHandle, AgentCircuitData agentData); |
8 | public delegate bool ExpectArrival(ulong regionHandle, LLUUID agentID, LLVector3 position); | 8 | public delegate bool ExpectArrival(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying); |
9 | 9 | ||
10 | public sealed class InterRegionSingleton | 10 | public sealed class InterRegionSingleton |
11 | { | 11 | { |
@@ -39,11 +39,11 @@ namespace OpenSim.Region.Communications.OGS1 | |||
39 | return false; | 39 | return false; |
40 | } | 40 | } |
41 | 41 | ||
42 | public bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position) | 42 | public bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying) |
43 | { | 43 | { |
44 | if (OnArrival != null) | 44 | if (OnArrival != null) |
45 | { | 45 | { |
46 | return OnArrival(regionHandle, agentID, position); | 46 | return OnArrival(regionHandle, agentID, position, isFlying); |
47 | } | 47 | } |
48 | return false; | 48 | return false; |
49 | } | 49 | } |
@@ -69,11 +69,11 @@ namespace OpenSim.Region.Communications.OGS1 | |||
69 | } | 69 | } |
70 | } | 70 | } |
71 | 71 | ||
72 | public bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position) | 72 | public bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying) |
73 | { | 73 | { |
74 | try | 74 | try |
75 | { | 75 | { |
76 | return InterRegionSingleton.Instance.ExpectAvatarCrossing(regionHandle, agentID, position); | 76 | return InterRegionSingleton.Instance.ExpectAvatarCrossing(regionHandle, agentID, position, isFlying); |
77 | } | 77 | } |
78 | catch (System.Runtime.Remoting.RemotingException e) | 78 | catch (System.Runtime.Remoting.RemotingException e) |
79 | { | 79 | { |