From bf8214815272efae07b05288103cbc8216c97af0 Mon Sep 17 00:00:00 2001
From: Teravus Ovares
Date: Tue, 26 Feb 2008 09:16:31 +0000
Subject: * Added base thread pool based presence informing to the message
server. * Not ready yet for use.
---
OpenSim/Grid/MessagingServer/PresenceInformer.cs | 59 ++++++++++++++++++++++++
1 file changed, 59 insertions(+)
create mode 100644 OpenSim/Grid/MessagingServer/PresenceInformer.cs
(limited to 'OpenSim/Grid/MessagingServer/PresenceInformer.cs')
diff --git a/OpenSim/Grid/MessagingServer/PresenceInformer.cs b/OpenSim/Grid/MessagingServer/PresenceInformer.cs
new file mode 100644
index 0000000..877d104
--- /dev/null
+++ b/OpenSim/Grid/MessagingServer/PresenceInformer.cs
@@ -0,0 +1,59 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Net;
+using System.Net.Sockets;
+using System.Text;
+using libsecondlife;
+using Nwc.XmlRpc;
+using OpenSim.Framework;
+using OpenSim.Framework.Console;
+using OpenSim.Framework.Data;
+using OpenSim.Framework.Servers;
+
+namespace OpenSim.Grid.MessagingServer
+{
+ public class PresenceInformer
+ {
+ public UserPresenceData presence1 = null;
+ public UserPresenceData presence2 = null;
+ private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+
+ public PresenceInformer()
+ {
+
+ }
+ public void go(object o)
+ {
+ if (presence1 != null && presence2 != null)
+ {
+ SendRegionPresenceUpdate(presence1, presence2);
+ }
+
+ }
+
+ ///
+ /// Informs a region about an Agent
+ ///
+ /// User to talk about
+ /// User we're sending this too (contains the region)
+ public void SendRegionPresenceUpdate(UserPresenceData TalkingAbout, UserPresenceData UserToUpdate)
+ {
+ // TODO: Fill in pertenant Presence Data from 'TalkingAbout'
+
+ RegionProfileData whichRegion = UserToUpdate.regionData;
+ //whichRegion.httpServerURI
+
+ Hashtable PresenceParams = new Hashtable();
+ ArrayList SendParams = new ArrayList();
+ SendParams.Add(PresenceParams);
+
+ m_log.Info("[PRESENCE]: Informing " + whichRegion.regionName + " at " + whichRegion.httpServerURI);
+ // Send
+ XmlRpcRequest RegionReq = new XmlRpcRequest("presence_update", SendParams);
+ XmlRpcResponse RegionResp = RegionReq.Send(whichRegion.httpServerURI, 6000);
+ }
+
+
+ }
+}
--
cgit v1.1