diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Grid/MessagingServer/Main.cs | 78 | ||||
-rw-r--r-- | OpenSim/Grid/MessagingServer/MessageService.cs | 151 | ||||
-rw-r--r-- | OpenSim/Grid/MessagingServer/PresenceInformer.cs | 11 | ||||
-rw-r--r-- | OpenSim/Grid/MessagingServer/UserPresenceData.cs | 10 | ||||
-rw-r--r-- | OpenSim/Grid/MessagingServer/WorkUnitBase.cs | 2 | ||||
-rw-r--r-- | OpenSim/Grid/MessagingServer/WorkUnitPresenceUpdate.cs | 2 | ||||
-rw-r--r-- | OpenSim/Grid/MessagingServer/XMPPHTTPService.cs | 24 |
7 files changed, 135 insertions, 143 deletions
diff --git a/OpenSim/Grid/MessagingServer/Main.cs b/OpenSim/Grid/MessagingServer/Main.cs index bf793bf..e6e18d4 100644 --- a/OpenSim/Grid/MessagingServer/Main.cs +++ b/OpenSim/Grid/MessagingServer/Main.cs | |||
@@ -44,9 +44,42 @@ namespace OpenSim.Grid.MessagingServer | |||
44 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 44 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
45 | 45 | ||
46 | private MessageServerConfig Cfg; | 46 | private MessageServerConfig Cfg; |
47 | private MessageService msgsvc; | 47 | |
48 | |||
49 | private LLUUID m_lastCreatedUser = LLUUID.Random(); | 48 | private LLUUID m_lastCreatedUser = LLUUID.Random(); |
49 | private MessageService msgsvc; | ||
50 | |||
51 | private OpenMessage_Main() | ||
52 | { | ||
53 | m_console = new ConsoleBase("OpenMessage", this); | ||
54 | MainConsole.Instance = m_console; | ||
55 | } | ||
56 | |||
57 | #region conscmd_callback Members | ||
58 | |||
59 | public override void RunCmd(string cmd, string[] cmdparams) | ||
60 | { | ||
61 | base.RunCmd(cmd, cmdparams); | ||
62 | |||
63 | switch (cmd) | ||
64 | { | ||
65 | case "help": | ||
66 | m_console.Notice("shutdown - shutdown the message server (USE CAUTION!)"); | ||
67 | break; | ||
68 | |||
69 | case "shutdown": | ||
70 | msgsvc.deregisterWithUserServer(); | ||
71 | m_console.Close(); | ||
72 | Environment.Exit(0); | ||
73 | break; | ||
74 | } | ||
75 | } | ||
76 | |||
77 | public override void Show(string ShowWhat) | ||
78 | { | ||
79 | base.Show(ShowWhat); | ||
80 | } | ||
81 | |||
82 | #endregion | ||
50 | 83 | ||
51 | [STAThread] | 84 | [STAThread] |
52 | public static void Main(string[] args) | 85 | public static void Main(string[] args) |
@@ -55,7 +88,6 @@ namespace OpenSim.Grid.MessagingServer | |||
55 | 88 | ||
56 | m_log.Info("Launching MessagingServer..."); | 89 | m_log.Info("Launching MessagingServer..."); |
57 | 90 | ||
58 | |||
59 | 91 | ||
60 | OpenMessage_Main messageserver = new OpenMessage_Main(); | 92 | OpenMessage_Main messageserver = new OpenMessage_Main(); |
61 | 93 | ||
@@ -63,12 +95,6 @@ namespace OpenSim.Grid.MessagingServer | |||
63 | messageserver.Work(); | 95 | messageserver.Work(); |
64 | } | 96 | } |
65 | 97 | ||
66 | private OpenMessage_Main() | ||
67 | { | ||
68 | m_console = new ConsoleBase("OpenMessage", this); | ||
69 | MainConsole.Instance = m_console; | ||
70 | } | ||
71 | |||
72 | private void Work() | 98 | private void Work() |
73 | { | 99 | { |
74 | m_console.Notice("Enter help for a list of commands\n"); | 100 | m_console.Notice("Enter help for a list of commands\n"); |
@@ -118,12 +144,13 @@ namespace OpenSim.Grid.MessagingServer | |||
118 | switch (what) | 144 | switch (what) |
119 | { | 145 | { |
120 | case "user": | 146 | case "user": |
121 | 147 | ||
122 | try | 148 | try |
123 | { | 149 | { |
124 | //userID = | 150 | //userID = |
125 | //m_userManager.AddUserProfile(tempfirstname, templastname, tempMD5Passwd, regX, regY); | 151 | //m_userManager.AddUserProfile(tempfirstname, templastname, tempMD5Passwd, regX, regY); |
126 | } catch (Exception ex) | 152 | } |
153 | catch (Exception ex) | ||
127 | { | 154 | { |
128 | m_console.Error("[SERVER]: Error creating user: {0}", ex.ToString()); | 155 | m_console.Error("[SERVER]: Error creating user: {0}", ex.ToString()); |
129 | } | 156 | } |
@@ -131,7 +158,7 @@ namespace OpenSim.Grid.MessagingServer | |||
131 | try | 158 | try |
132 | { | 159 | { |
133 | //RestObjectPoster.BeginPostObject<Guid>(m_userManager._config.InventoryUrl + "CreateInventory/", | 160 | //RestObjectPoster.BeginPostObject<Guid>(m_userManager._config.InventoryUrl + "CreateInventory/", |
134 | //userID.UUID); | 161 | //userID.UUID); |
135 | } | 162 | } |
136 | catch (Exception ex) | 163 | catch (Exception ex) |
137 | { | 164 | { |
@@ -141,28 +168,5 @@ namespace OpenSim.Grid.MessagingServer | |||
141 | break; | 168 | break; |
142 | } | 169 | } |
143 | } | 170 | } |
144 | |||
145 | public override void RunCmd(string cmd, string[] cmdparams) | ||
146 | { | ||
147 | base.RunCmd(cmd, cmdparams); | ||
148 | |||
149 | switch (cmd) | ||
150 | { | ||
151 | case "help": | ||
152 | m_console.Notice("shutdown - shutdown the message server (USE CAUTION!)"); | ||
153 | break; | ||
154 | |||
155 | case "shutdown": | ||
156 | msgsvc.deregisterWithUserServer(); | ||
157 | m_console.Close(); | ||
158 | Environment.Exit(0); | ||
159 | break; | ||
160 | } | ||
161 | } | ||
162 | |||
163 | public override void Show(string ShowWhat) | ||
164 | { | ||
165 | base.Show(ShowWhat); | ||
166 | } | ||
167 | } | 171 | } |
168 | } | 172 | } \ No newline at end of file |
diff --git a/OpenSim/Grid/MessagingServer/MessageService.cs b/OpenSim/Grid/MessagingServer/MessageService.cs index 50e06af..33c133d 100644 --- a/OpenSim/Grid/MessagingServer/MessageService.cs +++ b/OpenSim/Grid/MessagingServer/MessageService.cs | |||
@@ -45,16 +45,16 @@ namespace OpenSim.Grid.MessagingServer | |||
45 | { | 45 | { |
46 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 46 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
47 | 47 | ||
48 | private MessageServerConfig m_cfg; | 48 | private readonly MessageServerConfig m_cfg; |
49 | private readonly Hashtable m_presence_BackReferences = new Hashtable(); | ||
49 | 50 | ||
50 | //A hashtable of all current presences this server knows about | 51 | //A hashtable of all current presences this server knows about |
51 | private Hashtable m_presences = new Hashtable(); | 52 | private readonly Hashtable m_presences = new Hashtable(); |
52 | 53 | ||
53 | //a hashtable of all current regions this server knows about | 54 | //a hashtable of all current regions this server knows about |
54 | private Hashtable m_regionInfoCache = new Hashtable(); | 55 | private readonly Hashtable m_regionInfoCache = new Hashtable(); |
55 | 56 | ||
56 | //A hashtable containing lists of UUIDs keyed by UUID for fast backreferencing | 57 | //A hashtable containing lists of UUIDs keyed by UUID for fast backreferencing |
57 | private Hashtable m_presence_BackReferences = new Hashtable(); | ||
58 | 58 | ||
59 | // Hashtable containing work units that need to be processed | 59 | // Hashtable containing work units that need to be processed |
60 | private Hashtable m_unProcessedWorkUnits = new Hashtable(); | 60 | private Hashtable m_unProcessedWorkUnits = new Hashtable(); |
@@ -63,13 +63,13 @@ namespace OpenSim.Grid.MessagingServer | |||
63 | { | 63 | { |
64 | m_cfg = cfg; | 64 | m_cfg = cfg; |
65 | } | 65 | } |
66 | 66 | ||
67 | #region RegionComms Methods | 67 | #region RegionComms Methods |
68 | 68 | ||
69 | #endregion | 69 | #endregion |
70 | 70 | ||
71 | #region FriendList Methods | 71 | #region FriendList Methods |
72 | 72 | ||
73 | /// <summary> | 73 | /// <summary> |
74 | /// Process Friendlist subscriptions for a user | 74 | /// Process Friendlist subscriptions for a user |
75 | /// The login method calls this for a User | 75 | /// The login method calls this for a User |
@@ -87,14 +87,14 @@ namespace OpenSim.Grid.MessagingServer | |||
87 | for (int i = 0; i < uFriendList.Count; i++) | 87 | for (int i = 0; i < uFriendList.Count; i++) |
88 | { | 88 | { |
89 | //m_presence_BackReferences.Add(userpresence.agentData.AgentID, uFriendList[i].Friend); | 89 | //m_presence_BackReferences.Add(userpresence.agentData.AgentID, uFriendList[i].Friend); |
90 | // m_presence_BackReferences.Add(uFriendList[i].Friend, userpresence.agentData.AgentID); | 90 | // m_presence_BackReferences.Add(uFriendList[i].Friend, userpresence.agentData.AgentID); |
91 | 91 | ||
92 | if (m_presences.Contains(uFriendList[i].Friend)) | 92 | if (m_presences.Contains(uFriendList[i].Friend)) |
93 | { | 93 | { |
94 | UserPresenceData friendup = (UserPresenceData)m_presences[uFriendList[i].Friend]; | 94 | UserPresenceData friendup = (UserPresenceData) m_presences[uFriendList[i].Friend]; |
95 | // Add backreference | 95 | // Add backreference |
96 | 96 | ||
97 | SubscribeToPresenceUpdates(userpresence, friendup, uFriendList[i],i); | 97 | SubscribeToPresenceUpdates(userpresence, friendup, uFriendList[i], i); |
98 | } | 98 | } |
99 | } | 99 | } |
100 | } | 100 | } |
@@ -108,10 +108,10 @@ namespace OpenSim.Grid.MessagingServer | |||
108 | /// <param name="friendpresence">P2</param> | 108 | /// <param name="friendpresence">P2</param> |
109 | /// <param name="uFriendListItem"></param> | 109 | /// <param name="uFriendListItem"></param> |
110 | /// <param name="uFriendListIndex"></param> | 110 | /// <param name="uFriendListIndex"></param> |
111 | public void SubscribeToPresenceUpdates(UserPresenceData userpresence, UserPresenceData friendpresence, | 111 | public void SubscribeToPresenceUpdates(UserPresenceData userpresence, UserPresenceData friendpresence, |
112 | FriendListItem uFriendListItem, int uFriendListIndex) | 112 | FriendListItem uFriendListItem, int uFriendListIndex) |
113 | { | 113 | { |
114 | if ((uFriendListItem.FriendListOwnerPerms & (uint)FriendRights.CanSeeOnline) != 0) | 114 | if ((uFriendListItem.FriendListOwnerPerms & (uint) FriendRights.CanSeeOnline) != 0) |
115 | { | 115 | { |
116 | // Subscribe and Send Out updates | 116 | // Subscribe and Send Out updates |
117 | if (!friendpresence.subscriptionData.Contains(friendpresence.agentData.AgentID)) | 117 | if (!friendpresence.subscriptionData.Contains(friendpresence.agentData.AgentID)) |
@@ -126,13 +126,13 @@ namespace OpenSim.Grid.MessagingServer | |||
126 | PresenceInformer friendlistupdater = new PresenceInformer(); | 126 | PresenceInformer friendlistupdater = new PresenceInformer(); |
127 | friendlistupdater.presence1 = friendpresence; | 127 | friendlistupdater.presence1 = friendpresence; |
128 | friendlistupdater.presence2 = userpresence; | 128 | friendlistupdater.presence2 = userpresence; |
129 | WaitCallback cb = new WaitCallback(friendlistupdater.go); | 129 | WaitCallback cb = friendlistupdater.go; |
130 | ThreadPool.QueueUserWorkItem(cb); | 130 | ThreadPool.QueueUserWorkItem(cb); |
131 | 131 | ||
132 | //SendRegionPresenceUpdate(friendpresence, userpresence); | 132 | //SendRegionPresenceUpdate(friendpresence, userpresence); |
133 | } | 133 | } |
134 | 134 | ||
135 | if ((uFriendListItem.FriendPerms & (uint)FriendRights.CanSeeOnline) != 0) | 135 | if ((uFriendListItem.FriendPerms & (uint) FriendRights.CanSeeOnline) != 0) |
136 | { | 136 | { |
137 | if (!friendpresence.subscriptionData.Contains(userpresence.agentData.AgentID)) | 137 | if (!friendpresence.subscriptionData.Contains(userpresence.agentData.AgentID)) |
138 | { | 138 | { |
@@ -147,9 +147,9 @@ namespace OpenSim.Grid.MessagingServer | |||
147 | friendlistupdater.presence1 = userpresence; | 147 | friendlistupdater.presence1 = userpresence; |
148 | friendlistupdater.presence2 = friendpresence; | 148 | friendlistupdater.presence2 = friendpresence; |
149 | 149 | ||
150 | WaitCallback cb2 = new WaitCallback(friendlistupdater.go); | 150 | WaitCallback cb2 = friendlistupdater.go; |
151 | ThreadPool.QueueUserWorkItem(cb2); | 151 | ThreadPool.QueueUserWorkItem(cb2); |
152 | 152 | ||
153 | //SendRegionPresenceUpdate(userpresence, friendpresence); | 153 | //SendRegionPresenceUpdate(userpresence, friendpresence); |
154 | } | 154 | } |
155 | } | 155 | } |
@@ -164,7 +164,7 @@ namespace OpenSim.Grid.MessagingServer | |||
164 | { | 164 | { |
165 | if (m_presence_BackReferences.Contains(friendID)) | 165 | if (m_presence_BackReferences.Contains(friendID)) |
166 | { | 166 | { |
167 | List<LLUUID> presenseBackReferences = (List<LLUUID>)m_presence_BackReferences[friendID]; | 167 | List<LLUUID> presenseBackReferences = (List<LLUUID>) m_presence_BackReferences[friendID]; |
168 | if (!presenseBackReferences.Contains(agentID)) | 168 | if (!presenseBackReferences.Contains(agentID)) |
169 | { | 169 | { |
170 | presenseBackReferences.Add(agentID); | 170 | presenseBackReferences.Add(agentID); |
@@ -188,7 +188,7 @@ namespace OpenSim.Grid.MessagingServer | |||
188 | { | 188 | { |
189 | if (m_presence_BackReferences.Contains(friendID)) | 189 | if (m_presence_BackReferences.Contains(friendID)) |
190 | { | 190 | { |
191 | List<LLUUID> presenseBackReferences = (List<LLUUID>)m_presence_BackReferences[friendID]; | 191 | List<LLUUID> presenseBackReferences = (List<LLUUID>) m_presence_BackReferences[friendID]; |
192 | if (presenseBackReferences.Contains(agentID)) | 192 | if (presenseBackReferences.Contains(agentID)) |
193 | { | 193 | { |
194 | presenseBackReferences.Remove(agentID); | 194 | presenseBackReferences.Remove(agentID); |
@@ -216,29 +216,29 @@ namespace OpenSim.Grid.MessagingServer | |||
216 | { | 216 | { |
217 | if (m_presences.Contains(AgentID)) | 217 | if (m_presences.Contains(AgentID)) |
218 | { | 218 | { |
219 | AgentData = (UserPresenceData)m_presences[AgentID]; | 219 | AgentData = (UserPresenceData) m_presences[AgentID]; |
220 | } | 220 | } |
221 | } | 221 | } |
222 | 222 | ||
223 | if (AgentData != null) | 223 | if (AgentData != null) |
224 | { | 224 | { |
225 | AgentsNeedingNotification = AgentData.subscriptionData; | 225 | AgentsNeedingNotification = AgentData.subscriptionData; |
226 | //lock (m_presence_BackReferences) | 226 | //lock (m_presence_BackReferences) |
227 | //{ | 227 | //{ |
228 | //if (m_presence_BackReferences.Contains(AgentID)) | 228 | //if (m_presence_BackReferences.Contains(AgentID)) |
229 | //{ | 229 | //{ |
230 | //AgentsNeedingNotification = (List<LLUUID>)m_presence_BackReferences[AgentID]; | 230 | //AgentsNeedingNotification = (List<LLUUID>)m_presence_BackReferences[AgentID]; |
231 | //} | 231 | //} |
232 | //} | 232 | //} |
233 | 233 | ||
234 | for (int i = 0; i < AgentsNeedingNotification.Count; i++) | 234 | for (int i = 0; i < AgentsNeedingNotification.Count; i++) |
235 | { | 235 | { |
236 | // TODO: Do Region Notifications | 236 | // TODO: Do Region Notifications |
237 | lock(m_presences) | 237 | lock (m_presences) |
238 | { | 238 | { |
239 | if (m_presences.Contains(AgentsNeedingNotification[i])) | 239 | if (m_presences.Contains(AgentsNeedingNotification[i])) |
240 | { | 240 | { |
241 | friendd = (UserPresenceData)m_presences[AgentsNeedingNotification[i]]; | 241 | friendd = (UserPresenceData) m_presences[AgentsNeedingNotification[i]]; |
242 | } | 242 | } |
243 | } | 243 | } |
244 | 244 | ||
@@ -266,7 +266,7 @@ namespace OpenSim.Grid.MessagingServer | |||
266 | friendlistupdater.presence1 = AgentData; | 266 | friendlistupdater.presence1 = AgentData; |
267 | friendlistupdater.presence2 = friendd; | 267 | friendlistupdater.presence2 = friendd; |
268 | 268 | ||
269 | WaitCallback cb3 = new WaitCallback(friendlistupdater.go); | 269 | WaitCallback cb3 = friendlistupdater.go; |
270 | ThreadPool.QueueUserWorkItem(cb3); | 270 | ThreadPool.QueueUserWorkItem(cb3); |
271 | 271 | ||
272 | //SendRegionPresenceUpdate(AgentData, friendd); | 272 | //SendRegionPresenceUpdate(AgentData, friendd); |
@@ -276,7 +276,7 @@ namespace OpenSim.Grid.MessagingServer | |||
276 | } | 276 | } |
277 | } | 277 | } |
278 | } | 278 | } |
279 | 279 | ||
280 | #endregion | 280 | #endregion |
281 | 281 | ||
282 | #region UserServer Comms | 282 | #region UserServer Comms |
@@ -298,18 +298,17 @@ namespace OpenSim.Grid.MessagingServer | |||
298 | parameters.Add(param); | 298 | parameters.Add(param); |
299 | XmlRpcRequest req = new XmlRpcRequest("get_user_friend_list", parameters); | 299 | XmlRpcRequest req = new XmlRpcRequest("get_user_friend_list", parameters); |
300 | XmlRpcResponse resp = req.Send(m_cfg.UserServerURL, 3000); | 300 | XmlRpcResponse resp = req.Send(m_cfg.UserServerURL, 3000); |
301 | Hashtable respData = (Hashtable)resp.Value; | 301 | Hashtable respData = (Hashtable) resp.Value; |
302 | 302 | ||
303 | if (respData.Contains("avcount")) | 303 | if (respData.Contains("avcount")) |
304 | { | 304 | { |
305 | buddylist = ConvertXMLRPCDataToFriendListItemList(respData); | 305 | buddylist = ConvertXMLRPCDataToFriendListItemList(respData); |
306 | } | 306 | } |
307 | |||
308 | } | 307 | } |
309 | catch (WebException e) | 308 | catch (WebException e) |
310 | { | 309 | { |
311 | m_log.Warn("Error when trying to fetch Avatar's friends list: " + | 310 | m_log.Warn("Error when trying to fetch Avatar's friends list: " + |
312 | e.Message); | 311 | e.Message); |
313 | // Return Empty list (no friends) | 312 | // Return Empty list (no friends) |
314 | } | 313 | } |
315 | return buddylist; | 314 | return buddylist; |
@@ -323,16 +322,16 @@ namespace OpenSim.Grid.MessagingServer | |||
323 | public List<FriendListItem> ConvertXMLRPCDataToFriendListItemList(Hashtable data) | 322 | public List<FriendListItem> ConvertXMLRPCDataToFriendListItemList(Hashtable data) |
324 | { | 323 | { |
325 | List<FriendListItem> buddylist = new List<FriendListItem>(); | 324 | List<FriendListItem> buddylist = new List<FriendListItem>(); |
326 | int buddycount = Convert.ToInt32((string)data["avcount"]); | 325 | int buddycount = Convert.ToInt32((string) data["avcount"]); |
327 | 326 | ||
328 | for (int i = 0; i < buddycount; i++) | 327 | for (int i = 0; i < buddycount; i++) |
329 | { | 328 | { |
330 | FriendListItem buddylistitem = new FriendListItem(); | 329 | FriendListItem buddylistitem = new FriendListItem(); |
331 | 330 | ||
332 | buddylistitem.FriendListOwner = new LLUUID((string)data["ownerID" + i.ToString()]); | 331 | buddylistitem.FriendListOwner = new LLUUID((string) data["ownerID" + i]); |
333 | buddylistitem.Friend = new LLUUID((string)data["friendID" + i.ToString()]); | 332 | buddylistitem.Friend = new LLUUID((string) data["friendID" + i]); |
334 | buddylistitem.FriendListOwnerPerms = (uint)Convert.ToInt32((string)data["ownerPerms" + i.ToString()]); | 333 | buddylistitem.FriendListOwnerPerms = (uint) Convert.ToInt32((string) data["ownerPerms" + i]); |
335 | buddylistitem.FriendPerms = (uint)Convert.ToInt32((string)data["friendPerms" + i.ToString()]); | 334 | buddylistitem.FriendPerms = (uint) Convert.ToInt32((string) data["friendPerms" + i]); |
336 | 335 | ||
337 | buddylist.Add(buddylistitem); | 336 | buddylist.Add(buddylistitem); |
338 | } | 337 | } |
@@ -350,7 +349,7 @@ namespace OpenSim.Grid.MessagingServer | |||
350 | public XmlRpcResponse UserLoggedOn(XmlRpcRequest request) | 349 | public XmlRpcResponse UserLoggedOn(XmlRpcRequest request) |
351 | { | 350 | { |
352 | m_log.Info("[LOGON]: User logged on, building indexes for user"); | 351 | m_log.Info("[LOGON]: User logged on, building indexes for user"); |
353 | Hashtable requestData = (Hashtable)request.Params[0]; | 352 | Hashtable requestData = (Hashtable) request.Params[0]; |
354 | 353 | ||
355 | //requestData["sendkey"] = serv.sendkey; | 354 | //requestData["sendkey"] = serv.sendkey; |
356 | //requestData["agentid"] = agentID.ToString(); | 355 | //requestData["agentid"] = agentID.ToString(); |
@@ -364,13 +363,13 @@ namespace OpenSim.Grid.MessagingServer | |||
364 | //requestData["lastname"] = lastname; | 363 | //requestData["lastname"] = lastname; |
365 | 364 | ||
366 | AgentCircuitData agentData = new AgentCircuitData(); | 365 | AgentCircuitData agentData = new AgentCircuitData(); |
367 | agentData.SessionID = new LLUUID((string)requestData["sessionid"]); | 366 | agentData.SessionID = new LLUUID((string) requestData["sessionid"]); |
368 | agentData.SecureSessionID = new LLUUID((string)requestData["secure_session_id"]); | 367 | agentData.SecureSessionID = new LLUUID((string) requestData["secure_session_id"]); |
369 | agentData.firstname = (string)requestData["firstname"]; | 368 | agentData.firstname = (string) requestData["firstname"]; |
370 | agentData.lastname = (string)requestData["lastname"]; | 369 | agentData.lastname = (string) requestData["lastname"]; |
371 | agentData.AgentID = new LLUUID((string)requestData["agentid"]); | 370 | agentData.AgentID = new LLUUID((string) requestData["agentid"]); |
372 | agentData.circuitcode = Convert.ToUInt32(requestData["circuit_code"]); | 371 | agentData.circuitcode = Convert.ToUInt32(requestData["circuit_code"]); |
373 | agentData.CapsPath = (string)requestData["caps_path"]; | 372 | agentData.CapsPath = (string) requestData["caps_path"]; |
374 | 373 | ||
375 | if (requestData.ContainsKey("child_agent") && requestData["child_agent"].Equals("1")) | 374 | if (requestData.ContainsKey("child_agent") && requestData["child_agent"].Equals("1")) |
376 | { | 375 | { |
@@ -379,13 +378,13 @@ namespace OpenSim.Grid.MessagingServer | |||
379 | else | 378 | else |
380 | { | 379 | { |
381 | agentData.startpos = | 380 | agentData.startpos = |
382 | new LLVector3(Convert.ToUInt32(requestData["positionx"]), | 381 | new LLVector3(Convert.ToUInt32(requestData["positionx"]), |
383 | Convert.ToUInt32(requestData["positiony"]), | 382 | Convert.ToUInt32(requestData["positiony"]), |
384 | Convert.ToUInt32(requestData["positionz"])); | 383 | Convert.ToUInt32(requestData["positionz"])); |
385 | agentData.child = false; | 384 | agentData.child = false; |
386 | } | 385 | } |
387 | 386 | ||
388 | ulong regionHandle = Convert.ToUInt64((string)requestData["regionhandle"]); | 387 | ulong regionHandle = Convert.ToUInt64((string) requestData["regionhandle"]); |
389 | 388 | ||
390 | UserPresenceData up = new UserPresenceData(); | 389 | UserPresenceData up = new UserPresenceData(); |
391 | up.agentData = agentData; | 390 | up.agentData = agentData; |
@@ -398,7 +397,7 @@ namespace OpenSim.Grid.MessagingServer | |||
398 | 397 | ||
399 | return new XmlRpcResponse(); | 398 | return new XmlRpcResponse(); |
400 | } | 399 | } |
401 | 400 | ||
402 | /// <summary> | 401 | /// <summary> |
403 | /// The UserServer got a Logoff message | 402 | /// The UserServer got a Logoff message |
404 | /// Cleanup time for that user. Send out presence notifications | 403 | /// Cleanup time for that user. Send out presence notifications |
@@ -407,9 +406,9 @@ namespace OpenSim.Grid.MessagingServer | |||
407 | /// <returns></returns> | 406 | /// <returns></returns> |
408 | public XmlRpcResponse UserLoggedOff(XmlRpcRequest request) | 407 | public XmlRpcResponse UserLoggedOff(XmlRpcRequest request) |
409 | { | 408 | { |
410 | Hashtable requestData = (Hashtable)request.Params[0]; | 409 | Hashtable requestData = (Hashtable) request.Params[0]; |
411 | 410 | ||
412 | LLUUID AgentID = new LLUUID((string)requestData["agentid"]); | 411 | LLUUID AgentID = new LLUUID((string) requestData["agentid"]); |
413 | 412 | ||
414 | ProcessLogOff(AgentID); | 413 | ProcessLogOff(AgentID); |
415 | 414 | ||
@@ -431,9 +430,9 @@ namespace OpenSim.Grid.MessagingServer | |||
431 | RegionProfileData regionInfo = null; | 430 | RegionProfileData regionInfo = null; |
432 | if (m_regionInfoCache.Contains(regionhandle)) | 431 | if (m_regionInfoCache.Contains(regionhandle)) |
433 | { | 432 | { |
434 | regionInfo = (RegionProfileData)m_regionInfoCache[regionhandle]; | 433 | regionInfo = (RegionProfileData) m_regionInfoCache[regionhandle]; |
435 | } | 434 | } |
436 | else | 435 | else |
437 | { | 436 | { |
438 | regionInfo = RequestRegionInfo(regionhandle); | 437 | regionInfo = RequestRegionInfo(regionhandle); |
439 | } | 438 | } |
@@ -447,7 +446,8 @@ namespace OpenSim.Grid.MessagingServer | |||
447 | /// <param name="regionHandle"></param> | 446 | /// <param name="regionHandle"></param> |
448 | /// <returns></returns> | 447 | /// <returns></returns> |
449 | public RegionProfileData RequestRegionInfo(ulong regionHandle) | 448 | public RegionProfileData RequestRegionInfo(ulong regionHandle) |
450 | { RegionProfileData regionProfile = null; | 449 | { |
450 | RegionProfileData regionProfile = null; | ||
451 | try | 451 | try |
452 | { | 452 | { |
453 | Hashtable requestData = new Hashtable(); | 453 | Hashtable requestData = new Hashtable(); |
@@ -457,8 +457,8 @@ namespace OpenSim.Grid.MessagingServer | |||
457 | SendParams.Add(requestData); | 457 | SendParams.Add(requestData); |
458 | XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams); | 458 | XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams); |
459 | XmlRpcResponse GridResp = GridReq.Send(m_cfg.GridServerURL, 3000); | 459 | XmlRpcResponse GridResp = GridReq.Send(m_cfg.GridServerURL, 3000); |
460 | 460 | ||
461 | Hashtable responseData = (Hashtable)GridResp.Value; | 461 | Hashtable responseData = (Hashtable) GridResp.Value; |
462 | 462 | ||
463 | if (responseData.ContainsKey("error")) | 463 | if (responseData.ContainsKey("error")) |
464 | { | 464 | { |
@@ -466,23 +466,23 @@ namespace OpenSim.Grid.MessagingServer | |||
466 | return null; | 466 | return null; |
467 | } | 467 | } |
468 | 468 | ||
469 | uint regX = Convert.ToUInt32((string)responseData["region_locx"]); | 469 | uint regX = Convert.ToUInt32((string) responseData["region_locx"]); |
470 | uint regY = Convert.ToUInt32((string)responseData["region_locy"]); | 470 | uint regY = Convert.ToUInt32((string) responseData["region_locy"]); |
471 | string internalIpStr = (string)responseData["sim_ip"]; | 471 | string internalIpStr = (string) responseData["sim_ip"]; |
472 | uint port = Convert.ToUInt32(responseData["sim_port"]); | 472 | uint port = Convert.ToUInt32(responseData["sim_port"]); |
473 | string externalUri = (string)responseData["sim_uri"]; | 473 | string externalUri = (string) responseData["sim_uri"]; |
474 | string neighbourExternalUri = externalUri; | 474 | string neighbourExternalUri = externalUri; |
475 | 475 | ||
476 | regionProfile = new RegionProfileData(); | 476 | regionProfile = new RegionProfileData(); |
477 | regionProfile.httpPort = (uint)Convert.ToInt32((string)responseData["http_port"]); | 477 | regionProfile.httpPort = (uint) Convert.ToInt32((string) responseData["http_port"]); |
478 | regionProfile.httpServerURI = "http://" + internalIpStr + ":" + regionProfile.httpPort + "/"; | 478 | regionProfile.httpServerURI = "http://" + internalIpStr + ":" + regionProfile.httpPort + "/"; |
479 | regionProfile.regionHandle = Helpers.UIntsToLong((regX * Constants.RegionSize), (regY * Constants.RegionSize)); | 479 | regionProfile.regionHandle = Helpers.UIntsToLong((regX * Constants.RegionSize), (regY * Constants.RegionSize)); |
480 | regionProfile.regionLocX = regX; | 480 | regionProfile.regionLocX = regX; |
481 | regionProfile.regionLocY = regY; | 481 | regionProfile.regionLocY = regY; |
482 | 482 | ||
483 | regionProfile.remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]); | 483 | regionProfile.remotingPort = Convert.ToUInt32((string) responseData["remoting_port"]); |
484 | regionProfile.UUID = new LLUUID((string)responseData["region_UUID"]); | 484 | regionProfile.UUID = new LLUUID((string) responseData["region_UUID"]); |
485 | regionProfile.regionName = (string)responseData["region_name"]; | 485 | regionProfile.regionName = (string) responseData["region_name"]; |
486 | lock (m_regionInfoCache) | 486 | lock (m_regionInfoCache) |
487 | { | 487 | { |
488 | if (!m_regionInfoCache.Contains(regionHandle)) | 488 | if (!m_regionInfoCache.Contains(regionHandle)) |
@@ -494,31 +494,31 @@ namespace OpenSim.Grid.MessagingServer | |||
494 | catch (WebException) | 494 | catch (WebException) |
495 | { | 495 | { |
496 | m_log.Error("[GRID]: " + | 496 | m_log.Error("[GRID]: " + |
497 | "Region lookup failed for: " + regionHandle.ToString() + | 497 | "Region lookup failed for: " + regionHandle + |
498 | " - Is the GridServer down?"); | 498 | " - Is the GridServer down?"); |
499 | return null; | 499 | return null; |
500 | } | 500 | } |
501 | 501 | ||
502 | return regionProfile; | 502 | return regionProfile; |
503 | } | 503 | } |
504 | 504 | ||
505 | public bool registerWithUserServer () | 505 | public bool registerWithUserServer() |
506 | { | 506 | { |
507 | Hashtable UserParams = new Hashtable(); | 507 | Hashtable UserParams = new Hashtable(); |
508 | // Login / Authentication | 508 | // Login / Authentication |
509 | 509 | ||
510 | if (m_cfg.HttpSSL) | 510 | if (m_cfg.HttpSSL) |
511 | { | 511 | { |
512 | UserParams["uri"] = "https://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; | 512 | UserParams["uri"] = "https://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; |
513 | } | 513 | } |
514 | else | 514 | else |
515 | { | 515 | { |
516 | UserParams["uri"] = "http://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; | 516 | UserParams["uri"] = "http://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; |
517 | } | 517 | } |
518 | 518 | ||
519 | UserParams["recvkey"] = m_cfg.UserRecvKey; | 519 | UserParams["recvkey"] = m_cfg.UserRecvKey; |
520 | UserParams["sendkey"] = m_cfg.UserRecvKey; | 520 | UserParams["sendkey"] = m_cfg.UserRecvKey; |
521 | 521 | ||
522 | // Package into an XMLRPC Request | 522 | // Package into an XMLRPC Request |
523 | ArrayList SendParams = new ArrayList(); | 523 | ArrayList SendParams = new ArrayList(); |
524 | SendParams.Add(UserParams); | 524 | SendParams.Add(UserParams); |
@@ -530,12 +530,13 @@ namespace OpenSim.Grid.MessagingServer | |||
530 | { | 530 | { |
531 | UserReq = new XmlRpcRequest("register_messageserver", SendParams); | 531 | UserReq = new XmlRpcRequest("register_messageserver", SendParams); |
532 | UserResp = UserReq.Send(m_cfg.UserServerURL, 16000); | 532 | UserResp = UserReq.Send(m_cfg.UserServerURL, 16000); |
533 | } catch (Exception ex) | 533 | } |
534 | catch (Exception ex) | ||
534 | { | 535 | { |
535 | m_log.Error("Unable to connect to grid. Grid server not running?"); | 536 | m_log.Error("Unable to connect to grid. Grid server not running?"); |
536 | throw(ex); | 537 | throw (ex); |
537 | } | 538 | } |
538 | Hashtable GridRespData = (Hashtable)UserResp.Value; | 539 | Hashtable GridRespData = (Hashtable) UserResp.Value; |
539 | Hashtable griddatahash = GridRespData; | 540 | Hashtable griddatahash = GridRespData; |
540 | 541 | ||
541 | // Process Response | 542 | // Process Response |
@@ -583,7 +584,7 @@ namespace OpenSim.Grid.MessagingServer | |||
583 | m_log.Error("Unable to connect to grid. Grid server not running?"); | 584 | m_log.Error("Unable to connect to grid. Grid server not running?"); |
584 | throw (ex); | 585 | throw (ex); |
585 | } | 586 | } |
586 | Hashtable UserRespData = (Hashtable)UserResp.Value; | 587 | Hashtable UserRespData = (Hashtable) UserResp.Value; |
587 | Hashtable userdatahash = UserRespData; | 588 | Hashtable userdatahash = UserRespData; |
588 | 589 | ||
589 | // Process Response | 590 | // Process Response |
@@ -599,4 +600,4 @@ namespace OpenSim.Grid.MessagingServer | |||
599 | 600 | ||
600 | #endregion | 601 | #endregion |
601 | } | 602 | } |
602 | } | 603 | } \ No newline at end of file |
diff --git a/OpenSim/Grid/MessagingServer/PresenceInformer.cs b/OpenSim/Grid/MessagingServer/PresenceInformer.cs index 59d0e13..dd2fa5b 100644 --- a/OpenSim/Grid/MessagingServer/PresenceInformer.cs +++ b/OpenSim/Grid/MessagingServer/PresenceInformer.cs | |||
@@ -35,21 +35,16 @@ namespace OpenSim.Grid.MessagingServer | |||
35 | { | 35 | { |
36 | public class PresenceInformer | 36 | public class PresenceInformer |
37 | { | 37 | { |
38 | public UserPresenceData presence1 = null; | ||
39 | public UserPresenceData presence2 = null; | ||
40 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 38 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
39 | public UserPresenceData presence1; | ||
40 | public UserPresenceData presence2; | ||
41 | 41 | ||
42 | public PresenceInformer() | ||
43 | { | ||
44 | |||
45 | } | ||
46 | public void go(object o) | 42 | public void go(object o) |
47 | { | 43 | { |
48 | if (presence1 != null && presence2 != null) | 44 | if (presence1 != null && presence2 != null) |
49 | { | 45 | { |
50 | SendRegionPresenceUpdate(presence1, presence2); | 46 | SendRegionPresenceUpdate(presence1, presence2); |
51 | } | 47 | } |
52 | |||
53 | } | 48 | } |
54 | 49 | ||
55 | /// <summary> | 50 | /// <summary> |
@@ -74,4 +69,4 @@ namespace OpenSim.Grid.MessagingServer | |||
74 | XmlRpcResponse RegionResp = RegionReq.Send(whichRegion.httpServerURI, 6000); | 69 | XmlRpcResponse RegionResp = RegionReq.Send(whichRegion.httpServerURI, 6000); |
75 | } | 70 | } |
76 | } | 71 | } |
77 | } | 72 | } \ No newline at end of file |
diff --git a/OpenSim/Grid/MessagingServer/UserPresenceData.cs b/OpenSim/Grid/MessagingServer/UserPresenceData.cs index 7188201..790e999 100644 --- a/OpenSim/Grid/MessagingServer/UserPresenceData.cs +++ b/OpenSim/Grid/MessagingServer/UserPresenceData.cs | |||
@@ -36,13 +36,9 @@ namespace OpenSim.Grid.MessagingServer | |||
36 | public class UserPresenceData | 36 | public class UserPresenceData |
37 | { | 37 | { |
38 | public AgentCircuitData agentData = new AgentCircuitData(); | 38 | public AgentCircuitData agentData = new AgentCircuitData(); |
39 | public RegionProfileData regionData = new RegionProfileData(); | 39 | public List<FriendListItem> friendData = new List<FriendListItem>(); |
40 | public string httpURI = String.Empty; | 40 | public string httpURI = String.Empty; |
41 | public List<FriendListItem> friendData = new List<FriendListItem> (); | 41 | public RegionProfileData regionData = new RegionProfileData(); |
42 | public List<LLUUID> subscriptionData = new List<LLUUID>(); | 42 | public List<LLUUID> subscriptionData = new List<LLUUID>(); |
43 | |||
44 | public UserPresenceData() | ||
45 | { | ||
46 | } | ||
47 | } | 43 | } |
48 | } | 44 | } \ No newline at end of file |
diff --git a/OpenSim/Grid/MessagingServer/WorkUnitBase.cs b/OpenSim/Grid/MessagingServer/WorkUnitBase.cs index d25f044..1c1503b 100644 --- a/OpenSim/Grid/MessagingServer/WorkUnitBase.cs +++ b/OpenSim/Grid/MessagingServer/WorkUnitBase.cs | |||
@@ -30,4 +30,4 @@ namespace OpenSim.Grid.MessagingServer | |||
30 | public class WorkUnitBase | 30 | public class WorkUnitBase |
31 | { | 31 | { |
32 | } | 32 | } |
33 | } | 33 | } \ No newline at end of file |
diff --git a/OpenSim/Grid/MessagingServer/WorkUnitPresenceUpdate.cs b/OpenSim/Grid/MessagingServer/WorkUnitPresenceUpdate.cs index c31f0c7..625a9f6 100644 --- a/OpenSim/Grid/MessagingServer/WorkUnitPresenceUpdate.cs +++ b/OpenSim/Grid/MessagingServer/WorkUnitPresenceUpdate.cs | |||
@@ -30,4 +30,4 @@ namespace OpenSim.Grid.MessagingServer | |||
30 | public class WorkUnitPresenceUpdate : WorkUnitBase | 30 | public class WorkUnitPresenceUpdate : WorkUnitBase |
31 | { | 31 | { |
32 | } | 32 | } |
33 | } | 33 | } \ No newline at end of file |
diff --git a/OpenSim/Grid/MessagingServer/XMPPHTTPService.cs b/OpenSim/Grid/MessagingServer/XMPPHTTPService.cs index df3bc22..257e802 100644 --- a/OpenSim/Grid/MessagingServer/XMPPHTTPService.cs +++ b/OpenSim/Grid/MessagingServer/XMPPHTTPService.cs | |||
@@ -48,28 +48,26 @@ namespace OpenSim.Grid.MessagingServer | |||
48 | : base("GET", "/presence") | 48 | : base("GET", "/presence") |
49 | { | 49 | { |
50 | m_log.Info("[REST]: In Get Request"); | 50 | m_log.Info("[REST]: In Get Request"); |
51 | |||
52 | } | 51 | } |
53 | 52 | ||
54 | public override byte[] Handle(string path, Stream request) | 53 | public override byte[] Handle(string path, Stream request) |
55 | { | 54 | { |
56 | string param = GetParam(path); | 55 | string param = GetParam(path); |
57 | byte[] result = new byte[] {}; | 56 | byte[] result = new byte[] {}; |
58 | try | 57 | try |
59 | { | 58 | { |
60 | string[] p = param.Split(new char[] {'/', '?', '&'}, StringSplitOptions.RemoveEmptyEntries); | 59 | string[] p = param.Split(new[] {'/', '?', '&'}, StringSplitOptions.RemoveEmptyEntries); |
61 | 60 | ||
62 | if (p.Length > 0) | 61 | if (p.Length > 0) |
63 | { | 62 | { |
64 | LLUUID assetID = null; | 63 | LLUUID assetID = null; |
65 | 64 | ||
66 | if (!LLUUID.TryParse(p[0], out assetID)) | 65 | if (!LLUUID.TryParse(p[0], out assetID)) |
67 | { | 66 | { |
68 | m_log.InfoFormat( | 67 | m_log.InfoFormat( |
69 | "[REST]: GET:/presence ignoring request with malformed UUID {0}", p[0]); | 68 | "[REST]: GET:/presence ignoring request with malformed UUID {0}", p[0]); |
70 | return result; | 69 | return result; |
71 | } | 70 | } |
72 | |||
73 | } | 71 | } |
74 | } | 72 | } |
75 | catch (Exception e) | 73 | catch (Exception e) |
@@ -84,6 +82,11 @@ namespace OpenSim.Grid.MessagingServer | |||
84 | { | 82 | { |
85 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 83 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
86 | 84 | ||
85 | public PostXMPPStreamHandler() | ||
86 | : base("POST", "/presence") | ||
87 | { | ||
88 | } | ||
89 | |||
87 | public override byte[] Handle(string path, Stream request) | 90 | public override byte[] Handle(string path, Stream request) |
88 | { | 91 | { |
89 | string param = GetParam(path); | 92 | string param = GetParam(path); |
@@ -97,12 +100,5 @@ namespace OpenSim.Grid.MessagingServer | |||
97 | 100 | ||
98 | return new byte[] {}; | 101 | return new byte[] {}; |
99 | } | 102 | } |
100 | |||
101 | public PostXMPPStreamHandler() | ||
102 | : base("POST", "/presence") | ||
103 | { | ||
104 | |||
105 | } | ||
106 | |||
107 | } | 103 | } |
108 | } | 104 | } \ No newline at end of file |