From b831a91852b34473f993f9a3e88ddd4e0c8455ca Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Mon, 25 Feb 2008 06:33:14 +0000 Subject: * Message Server Linkages (still not ready for use so don't start it yet) --- OpenSim/Grid/MessagingServer/MessageService.cs | 104 ++++++++++++++++++++++++- 1 file changed, 103 insertions(+), 1 deletion(-) (limited to 'OpenSim/Grid/MessagingServer/MessageService.cs') diff --git a/OpenSim/Grid/MessagingServer/MessageService.cs b/OpenSim/Grid/MessagingServer/MessageService.cs index 059a6b0..42277e2 100644 --- a/OpenSim/Grid/MessagingServer/MessageService.cs +++ b/OpenSim/Grid/MessagingServer/MessageService.cs @@ -333,7 +333,7 @@ namespace OpenSim.Grid.MessagingServer /// public XmlRpcResponse UserLoggedOn(XmlRpcRequest request) { - + m_log.Info("[LOGON]: User logged on, building indexes for user"); Hashtable requestData = (Hashtable)request.Params[0]; AgentCircuitData agentData = new AgentCircuitData(); agentData.SessionID = new LLUUID((string)requestData["session_id"]); @@ -472,6 +472,108 @@ namespace OpenSim.Grid.MessagingServer return regionProfile; } + public bool registerWithUserServer () + { + + Hashtable UserParams = new Hashtable(); + // Login / Authentication + + if (m_cfg.HttpSSL) + { + UserParams["uri"] = "https://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; + } + else + { + UserParams["uri"] = "http://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; + } + + UserParams["recvkey"] = m_cfg.UserRecvKey; + UserParams["sendkey"] = m_cfg.UserRecvKey; + + + + + // Package into an XMLRPC Request + ArrayList SendParams = new ArrayList(); + SendParams.Add(UserParams); + + // Send Request + XmlRpcRequest UserReq; + XmlRpcResponse UserResp; + try + { + UserReq = new XmlRpcRequest("register_messageserver", SendParams); + UserResp = UserReq.Send(m_cfg.UserServerURL, 16000); + } catch (Exception ex) + { + m_log.Error("Unable to connect to grid. Grid server not running?"); + throw(ex); + } + Hashtable GridRespData = (Hashtable)UserResp.Value; + Hashtable griddatahash = GridRespData; + + // Process Response + if (GridRespData.ContainsKey("responsestring")) + { + return true; + } + else + { + return false; + } + + + } + public bool deregisterWithUserServer() + { + + Hashtable UserParams = new Hashtable(); + // Login / Authentication + + if (m_cfg.HttpSSL) + { + UserParams["uri"] = "https://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; + } + else + { + UserParams["uri"] = "http://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; + } + + UserParams["recvkey"] = m_cfg.UserRecvKey; + UserParams["sendkey"] = m_cfg.UserRecvKey; + + // Package into an XMLRPC Request + ArrayList SendParams = new ArrayList(); + SendParams.Add(UserParams); + + // Send Request + XmlRpcRequest UserReq; + XmlRpcResponse UserResp; + try + { + UserReq = new XmlRpcRequest("deregister_messageserver", SendParams); + UserResp = UserReq.Send(m_cfg.UserServerURL, 16000); + } + catch (Exception ex) + { + m_log.Error("Unable to connect to grid. Grid server not running?"); + throw (ex); + } + Hashtable UserRespData = (Hashtable)UserResp.Value; + Hashtable userdatahash = UserRespData; + + // Process Response + if (UserRespData.ContainsKey("responsestring")) + { + return true; + } + else + { + return false; + } + + + } #endregion } -- cgit v1.1