From 07ee252cf3894125a06c384614a48c1eda73b289 Mon Sep 17 00:00:00 2001 From: MW Date: Wed, 25 Feb 2009 21:00:58 +0000 Subject: Renamed IMessageUserServerService to IInterServiceUserService.cs Renamed MessageUserServerModule to InterMessageUserServerModule --- OpenSim/Grid/Framework/IInterServiceUserService.cs | 35 ++++ .../Grid/Framework/IMessageUserServerService.cs | 35 ---- .../InterMessageUserServerModule.cs | 186 +++++++++++++++++++++ .../MessagingServer.Modules/MessageRegionModule.cs | 6 +- .../Grid/MessagingServer.Modules/MessageService.cs | 6 +- .../MessageUserServerModule.cs | 186 --------------------- OpenSim/Grid/MessagingServer/Main.cs | 4 +- 7 files changed, 229 insertions(+), 229 deletions(-) create mode 100644 OpenSim/Grid/Framework/IInterServiceUserService.cs delete mode 100644 OpenSim/Grid/Framework/IMessageUserServerService.cs create mode 100644 OpenSim/Grid/MessagingServer.Modules/InterMessageUserServerModule.cs delete mode 100644 OpenSim/Grid/MessagingServer.Modules/MessageUserServerModule.cs (limited to 'OpenSim') diff --git a/OpenSim/Grid/Framework/IInterServiceUserService.cs b/OpenSim/Grid/Framework/IInterServiceUserService.cs new file mode 100644 index 0000000..fe037bd --- /dev/null +++ b/OpenSim/Grid/Framework/IInterServiceUserService.cs @@ -0,0 +1,35 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +namespace OpenSim.Grid.Framework +{ + public interface IInterServiceUserService + { + bool SendToUserServer(System.Collections.Hashtable request, string method); + } +} diff --git a/OpenSim/Grid/Framework/IMessageUserServerService.cs b/OpenSim/Grid/Framework/IMessageUserServerService.cs deleted file mode 100644 index 9ebaf61..0000000 --- a/OpenSim/Grid/Framework/IMessageUserServerService.cs +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -namespace OpenSim.Grid.Framework -{ - public interface IMessageUserServerService - { - bool SendToUserServer(System.Collections.Hashtable request, string method); - } -} diff --git a/OpenSim/Grid/MessagingServer.Modules/InterMessageUserServerModule.cs b/OpenSim/Grid/MessagingServer.Modules/InterMessageUserServerModule.cs new file mode 100644 index 0000000..ea7649a --- /dev/null +++ b/OpenSim/Grid/MessagingServer.Modules/InterMessageUserServerModule.cs @@ -0,0 +1,186 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Net; +using System.Reflection; +using System.Threading; +using System.Timers; +using log4net; +using Nwc.XmlRpc; +using OpenMetaverse; +using OpenSim.Data; +using OpenSim.Framework; +using OpenSim.Grid.Framework; +using Timer = System.Timers.Timer; + +namespace OpenSim.Grid.MessagingServer.Modules +{ + public class InterMessageUserServerModule : IInterServiceUserService + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private MessageServerConfig m_cfg; + + private IGridServiceCore m_messageCore; + + private Timer reconnectTimer = new Timer(300000); // 5 mins + + public InterMessageUserServerModule(MessageServerConfig config, IGridServiceCore messageCore) + { + m_cfg = config; + m_messageCore = messageCore; + + reconnectTimer.Elapsed += registerWithUserServer; + reconnectTimer.Start(); + } + + public void Initialise() + { + m_messageCore.RegisterInterface(this); + } + + public void PostInitialise() + { + + } + + public void RegisterHandlers() + { + //have these in separate method as some servers restart the http server and reregister all the handlers. + + } + + public void registerWithUserServer(object sender, ElapsedEventArgs e) + { + registerWithUserServer(); + } + + 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); + + bool success = true; + string[] servers = m_cfg.UserServerURL.Split(' '); + + foreach (string srv in servers) + { + // Send Request + try + { + XmlRpcRequest UserReq = new XmlRpcRequest("register_messageserver", SendParams); + XmlRpcResponse UserResp = UserReq.Send(srv, 16000); + + // Process Response + Hashtable GridRespData = (Hashtable)UserResp.Value; + // if we got a response, we were successful + if (!GridRespData.ContainsKey("responsestring")) + success = false; + else + m_log.InfoFormat("[SERVER] Registered with {0}", srv); + } + catch + { + m_log.ErrorFormat("Unable to connect to server {0}. Server not running?", srv); + success = false; + } + } + return success; + } + + public bool deregisterWithUserServer() + { + Hashtable request = new Hashtable(); + + return SendToUserServer(request, "deregister_messageserver"); + } + + public bool SendToUserServer(Hashtable request, string method) + { + // Login / Authentication + + if (m_cfg.HttpSSL) + { + request["uri"] = "https://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; + } + else + { + request["uri"] = "http://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; + } + + request["recvkey"] = m_cfg.UserRecvKey; + request["sendkey"] = m_cfg.UserRecvKey; + + // Package into an XMLRPC Request + ArrayList SendParams = new ArrayList(); + SendParams.Add(request); + + bool success = true; + string[] servers = m_cfg.UserServerURL.Split(' '); + + // Send Request + foreach (string srv in servers) + { + try + { + XmlRpcRequest UserReq = new XmlRpcRequest(method, SendParams); + XmlRpcResponse UserResp = UserReq.Send(m_cfg.UserServerURL, 16000); + // Process Response + Hashtable UserRespData = (Hashtable)UserResp.Value; + // if we got a response, we were successful + if (!UserRespData.ContainsKey("responsestring")) + success = false; + } + catch + { + m_log.ErrorFormat("Unable to connect to server {0}. Server not running?", srv); + success = false; + } + } + return success; + } + } +} diff --git a/OpenSim/Grid/MessagingServer.Modules/MessageRegionModule.cs b/OpenSim/Grid/MessagingServer.Modules/MessageRegionModule.cs index b751d37..f7ef759 100644 --- a/OpenSim/Grid/MessagingServer.Modules/MessageRegionModule.cs +++ b/OpenSim/Grid/MessagingServer.Modules/MessageRegionModule.cs @@ -48,7 +48,7 @@ namespace OpenSim.Grid.MessagingServer.Modules private MessageServerConfig m_cfg; - private IMessageUserServerService m_userServerModule; + private IInterServiceUserService m_userServerModule; private IGridServiceCore m_messageCore; @@ -68,8 +68,8 @@ namespace OpenSim.Grid.MessagingServer.Modules public void PostInitialise() { - IMessageUserServerService messageUserServer; - if (m_messageCore.TryGet(out messageUserServer)) + IInterServiceUserService messageUserServer; + if (m_messageCore.TryGet(out messageUserServer)) { m_userServerModule = messageUserServer; } diff --git a/OpenSim/Grid/MessagingServer.Modules/MessageService.cs b/OpenSim/Grid/MessagingServer.Modules/MessageService.cs index 0a37bb5..bff17df 100644 --- a/OpenSim/Grid/MessagingServer.Modules/MessageService.cs +++ b/OpenSim/Grid/MessagingServer.Modules/MessageService.cs @@ -51,7 +51,7 @@ namespace OpenSim.Grid.MessagingServer.Modules private IGridServiceCore m_messageCore; - private IMessageUserServerService m_userServerModule; + private IInterServiceUserService m_userServerModule; private IMessageRegionLookup m_regionModule; // a dictionary of all current presences this server knows about @@ -76,8 +76,8 @@ namespace OpenSim.Grid.MessagingServer.Modules public void PostInitialise() { - IMessageUserServerService messageUserServer; - if (m_messageCore.TryGet(out messageUserServer)) + IInterServiceUserService messageUserServer; + if (m_messageCore.TryGet(out messageUserServer)) { m_userServerModule = messageUserServer; } diff --git a/OpenSim/Grid/MessagingServer.Modules/MessageUserServerModule.cs b/OpenSim/Grid/MessagingServer.Modules/MessageUserServerModule.cs deleted file mode 100644 index f4d5792..0000000 --- a/OpenSim/Grid/MessagingServer.Modules/MessageUserServerModule.cs +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Net; -using System.Reflection; -using System.Threading; -using System.Timers; -using log4net; -using Nwc.XmlRpc; -using OpenMetaverse; -using OpenSim.Data; -using OpenSim.Framework; -using OpenSim.Grid.Framework; -using Timer = System.Timers.Timer; - -namespace OpenSim.Grid.MessagingServer.Modules -{ - public class MessageUserServerModule : IMessageUserServerService - { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - private MessageServerConfig m_cfg; - - private IGridServiceCore m_messageCore; - - private Timer reconnectTimer = new Timer(300000); // 5 mins - - public MessageUserServerModule(MessageServerConfig config, IGridServiceCore messageCore) - { - m_cfg = config; - m_messageCore = messageCore; - - reconnectTimer.Elapsed += registerWithUserServer; - reconnectTimer.Start(); - } - - public void Initialise() - { - m_messageCore.RegisterInterface(this); - } - - public void PostInitialise() - { - - } - - public void RegisterHandlers() - { - //have these in separate method as some servers restart the http server and reregister all the handlers. - - } - - public void registerWithUserServer(object sender, ElapsedEventArgs e) - { - registerWithUserServer(); - } - - 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); - - bool success = true; - string[] servers = m_cfg.UserServerURL.Split(' '); - - foreach (string srv in servers) - { - // Send Request - try - { - XmlRpcRequest UserReq = new XmlRpcRequest("register_messageserver", SendParams); - XmlRpcResponse UserResp = UserReq.Send(srv, 16000); - - // Process Response - Hashtable GridRespData = (Hashtable)UserResp.Value; - // if we got a response, we were successful - if (!GridRespData.ContainsKey("responsestring")) - success = false; - else - m_log.InfoFormat("[SERVER] Registered with {0}", srv); - } - catch - { - m_log.ErrorFormat("Unable to connect to server {0}. Server not running?", srv); - success = false; - } - } - return success; - } - - public bool deregisterWithUserServer() - { - Hashtable request = new Hashtable(); - - return SendToUserServer(request, "deregister_messageserver"); - } - - public bool SendToUserServer(Hashtable request, string method) - { - // Login / Authentication - - if (m_cfg.HttpSSL) - { - request["uri"] = "https://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; - } - else - { - request["uri"] = "http://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; - } - - request["recvkey"] = m_cfg.UserRecvKey; - request["sendkey"] = m_cfg.UserRecvKey; - - // Package into an XMLRPC Request - ArrayList SendParams = new ArrayList(); - SendParams.Add(request); - - bool success = true; - string[] servers = m_cfg.UserServerURL.Split(' '); - - // Send Request - foreach (string srv in servers) - { - try - { - XmlRpcRequest UserReq = new XmlRpcRequest(method, SendParams); - XmlRpcResponse UserResp = UserReq.Send(m_cfg.UserServerURL, 16000); - // Process Response - Hashtable UserRespData = (Hashtable)UserResp.Value; - // if we got a response, we were successful - if (!UserRespData.ContainsKey("responsestring")) - success = false; - } - catch - { - m_log.ErrorFormat("Unable to connect to server {0}. Server not running?", srv); - success = false; - } - } - return success; - } - } -} diff --git a/OpenSim/Grid/MessagingServer/Main.cs b/OpenSim/Grid/MessagingServer/Main.cs index 2893528..c92dd6e 100644 --- a/OpenSim/Grid/MessagingServer/Main.cs +++ b/OpenSim/Grid/MessagingServer/Main.cs @@ -49,7 +49,7 @@ namespace OpenSim.Grid.MessagingServer private MessageService msgsvc; private MessageRegionModule m_regionModule; - private MessageUserServerModule m_userServerModule; + private InterMessageUserServerModule m_userServerModule; private UserDataBaseService m_userDataBaseService; @@ -132,7 +132,7 @@ namespace OpenSim.Grid.MessagingServer //Register the database access service so modules can fetch it // RegisterInterface(m_userDataBaseService); - m_userServerModule = new MessageUserServerModule(Cfg, this); + m_userServerModule = new InterMessageUserServerModule(Cfg, this); m_userServerModule.Initialise(); msgsvc = new MessageService(Cfg, this, m_userDataBaseService); -- cgit v1.1