aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/AgentCircuitManager.cs
diff options
context:
space:
mode:
authorTeravus Ovares2008-08-25 07:35:17 +0000
committerTeravus Ovares2008-08-25 07:35:17 +0000
commit2912aafe259727351eb9405532e45aa3501b7e9a (patch)
tree34774a49306ae19a6682580d41927fcfb222ea6e /OpenSim/Framework/AgentCircuitManager.cs
parentMantis#2043. Thank you kindly, Ralphos for a patch that addresses: (diff)
downloadopensim-SC-2912aafe259727351eb9405532e45aa3501b7e9a.zip
opensim-SC-2912aafe259727351eb9405532e45aa3501b7e9a.tar.gz
opensim-SC-2912aafe259727351eb9405532e45aa3501b7e9a.tar.bz2
opensim-SC-2912aafe259727351eb9405532e45aa3501b7e9a.tar.xz
* This commit incorporates the heart of the OpenGridProtocol patch that is currently on Forge in a nice, friendly modular format.
* There are a lot of changes and this is quite experimental. It's off by default, but you can turn it on by examining the bottom of the opensim.ini.example for the proper OpenSim.ini settings. Remember, you still need an agent domain.. * Furthermore, it isn't quite right when it comes to teleporting to remote regions (place_avatar)
Diffstat (limited to 'OpenSim/Framework/AgentCircuitManager.cs')
-rw-r--r--OpenSim/Framework/AgentCircuitManager.cs31
1 files changed, 31 insertions, 0 deletions
diff --git a/OpenSim/Framework/AgentCircuitManager.cs b/OpenSim/Framework/AgentCircuitManager.cs
index 426e8e2..80e2f87 100644
--- a/OpenSim/Framework/AgentCircuitManager.cs
+++ b/OpenSim/Framework/AgentCircuitManager.cs
@@ -103,10 +103,41 @@ namespace OpenSim.Framework
103 AgentCircuits[(uint) agentData.circuitcode].firstname = agentData.firstname; 103 AgentCircuits[(uint) agentData.circuitcode].firstname = agentData.firstname;
104 AgentCircuits[(uint) agentData.circuitcode].lastname = agentData.lastname; 104 AgentCircuits[(uint) agentData.circuitcode].lastname = agentData.lastname;
105 AgentCircuits[(uint) agentData.circuitcode].startpos = agentData.startpos; 105 AgentCircuits[(uint) agentData.circuitcode].startpos = agentData.startpos;
106
107 // Updated for when we don't know them before calling Scene.NewUserConnection
108 AgentCircuits[(uint) agentData.circuitcode].SecureSessionID = agentData.SecureSessionID;
109 AgentCircuits[(uint) agentData.circuitcode].SessionID = agentData.SessionID;
110
106 // Console.WriteLine("update user start pos is " + agentData.startpos.X + " , " + agentData.startpos.Y + " , " + agentData.startpos.Z); 111 // Console.WriteLine("update user start pos is " + agentData.startpos.X + " , " + agentData.startpos.Y + " , " + agentData.startpos.Z);
107 } 112 }
108 } 113 }
109 114
115
116 /// <summary>
117 /// Sometimes the circuitcode may not be known before setting up the connection
118 /// </summary>
119 /// <param name="circuitcode"></param>
120 /// <param name="newcircuitcode"></param>
121
122 public bool TryChangeCiruitCode(uint circuitcode, uint newcircuitcode)
123 {
124 lock (AgentCircuits)
125 {
126 if (AgentCircuits.ContainsKey((uint)circuitcode) && !AgentCircuits.ContainsKey((uint)newcircuitcode))
127 {
128 AgentCircuitData agentData = AgentCircuits[(uint)circuitcode];
129
130 agentData.circuitcode = newcircuitcode;
131
132 AgentCircuits.Remove((uint)circuitcode);
133 AgentCircuits.Add(newcircuitcode, agentData);
134 return true;
135 }
136 }
137 return false;
138
139 }
140
110 public void UpdateAgentChildStatus(uint circuitcode, bool childstatus) 141 public void UpdateAgentChildStatus(uint circuitcode, bool childstatus)
111 { 142 {
112 if (AgentCircuits.ContainsKey(circuitcode)) 143 if (AgentCircuits.ContainsKey(circuitcode))