diff options
Diffstat (limited to 'OpenSim/Grid/MessagingServer')
-rw-r--r-- | OpenSim/Grid/MessagingServer/Main.cs | 55 |
1 files changed, 34 insertions, 21 deletions
diff --git a/OpenSim/Grid/MessagingServer/Main.cs b/OpenSim/Grid/MessagingServer/Main.cs index 537cc48..c188654 100644 --- a/OpenSim/Grid/MessagingServer/Main.cs +++ b/OpenSim/Grid/MessagingServer/Main.cs | |||
@@ -54,7 +54,7 @@ namespace OpenSim.Grid.MessagingServer | |||
54 | { | 54 | { |
55 | XmlConfigurator.Configure(); | 55 | XmlConfigurator.Configure(); |
56 | 56 | ||
57 | m_log.Info("Launching MessagingServer..."); | 57 | m_log.Info("[SERVER]: Launching MessagingServer..."); |
58 | 58 | ||
59 | OpenMessage_Main messageserver = new OpenMessage_Main(); | 59 | OpenMessage_Main messageserver = new OpenMessage_Main(); |
60 | 60 | ||
@@ -78,38 +78,46 @@ namespace OpenSim.Grid.MessagingServer | |||
78 | } | 78 | } |
79 | } | 79 | } |
80 | 80 | ||
81 | protected override void StartupSpecific() | 81 | private void registerWithUserServer() |
82 | { | 82 | { |
83 | Cfg = new MessageServerConfig("MESSAGING SERVER", (Path.Combine(Util.configDir(), "MessagingServer_Config.xml"))); | ||
84 | |||
85 | m_log.Info("[REGION]: Starting HTTP process"); | ||
86 | m_httpServer = new BaseHttpServer(Cfg.HttpPort); | ||
87 | |||
88 | msgsvc = new MessageService(Cfg); | ||
89 | |||
90 | if (msgsvc.registerWithUserServer()) | 83 | if (msgsvc.registerWithUserServer()) |
91 | { | 84 | { |
85 | m_log.Info("[SERVER]: Starting HTTP process"); | ||
86 | m_httpServer = new BaseHttpServer(Cfg.HttpPort); | ||
87 | |||
92 | m_httpServer.AddXmlRPCHandler("login_to_simulator", msgsvc.UserLoggedOn); | 88 | m_httpServer.AddXmlRPCHandler("login_to_simulator", msgsvc.UserLoggedOn); |
93 | m_httpServer.AddXmlRPCHandler("logout_of_simulator", msgsvc.UserLoggedOff); | 89 | m_httpServer.AddXmlRPCHandler("logout_of_simulator", msgsvc.UserLoggedOff); |
94 | //httpServer.AddXmlRPCHandler("get_user_by_name", m_userManager.XmlRPCGetUserMethodName); | ||
95 | //httpServer.AddXmlRPCHandler("get_user_by_uuid", m_userManager.XmlRPCGetUserMethodUUID); | ||
96 | //httpServer.AddXmlRPCHandler("get_avatar_picker_avatar", m_userManager.XmlRPCGetAvatarPickerAvatar); | ||
97 | //httpServer.AddXmlRPCHandler("add_new_user_friend", m_userManager.XmlRpcResponseXmlRPCAddUserFriend); | ||
98 | //httpServer.AddXmlRPCHandler("remove_user_friend", m_userManager.XmlRpcResponseXmlRPCRemoveUserFriend); | ||
99 | //httpServer.AddXmlRPCHandler("update_user_friend_perms", m_userManager.XmlRpcResponseXmlRPCUpdateUserFriendPerms); | ||
100 | //httpServer.AddXmlRPCHandler("get_user_friend_list", m_userManager.XmlRpcResponseXmlRPCGetUserFriendList); | ||
101 | |||
102 | |||
103 | //httpServer.AddStreamHandler( | ||
104 | //new RestStreamHandler("DELETE", "/usersessions/", m_userManager.RestDeleteUserSessionMethod)); | ||
105 | 90 | ||
106 | m_httpServer.Start(); | 91 | m_httpServer.Start(); |
107 | m_log.Info("[SERVER]: Messageserver 0.5 - Startup complete"); | 92 | m_log.Info("[SERVER]: Userserver registration was successful"); |
108 | } | 93 | } |
109 | else | 94 | else |
110 | { | 95 | { |
111 | m_log.Error("[STARTUP]: Unable to connect to User Server"); | 96 | m_log.Error("[STARTUP]: Unable to connect to User Server"); |
112 | } | 97 | } |
98 | |||
99 | } | ||
100 | |||
101 | private void deregisterFromUserServer() | ||
102 | { | ||
103 | msgsvc.deregisterWithUserServer(); | ||
104 | if(m_httpServer != null) | ||
105 | { | ||
106 | // try a completely fresh registration, with fresh handlers, too | ||
107 | m_httpServer.Stop(); | ||
108 | m_httpServer = null; | ||
109 | } | ||
110 | m_console.Notice("[SERVER]: Deregistered from userserver."); | ||
111 | } | ||
112 | |||
113 | protected override void StartupSpecific() | ||
114 | { | ||
115 | Cfg = new MessageServerConfig("MESSAGING SERVER", (Path.Combine(Util.configDir(), "MessagingServer_Config.xml"))); | ||
116 | |||
117 | msgsvc = new MessageService(Cfg); | ||
118 | registerWithUserServer(); | ||
119 | |||
120 | m_log.Info("[SERVER]: Messageserver 0.5 - Startup complete"); | ||
113 | } | 121 | } |
114 | 122 | ||
115 | public void do_create(string what) | 123 | public void do_create(string what) |
@@ -150,6 +158,10 @@ namespace OpenSim.Grid.MessagingServer | |||
150 | int entries = msgsvc.ClearRegionCache(); | 158 | int entries = msgsvc.ClearRegionCache(); |
151 | m_console.Notice("Region cache cleared! Cleared " + entries.ToString() + " entries"); | 159 | m_console.Notice("Region cache cleared! Cleared " + entries.ToString() + " entries"); |
152 | break; | 160 | break; |
161 | case "register": | ||
162 | deregisterFromUserServer(); | ||
163 | registerWithUserServer(); | ||
164 | break; | ||
153 | } | 165 | } |
154 | } | 166 | } |
155 | 167 | ||
@@ -158,6 +170,7 @@ namespace OpenSim.Grid.MessagingServer | |||
158 | base.ShowHelp(helpArgs); | 170 | base.ShowHelp(helpArgs); |
159 | 171 | ||
160 | m_console.Notice("clear-cache - Clears region cache. Should be done when regions change position. The region cache gets stale after a while."); | 172 | m_console.Notice("clear-cache - Clears region cache. Should be done when regions change position. The region cache gets stale after a while."); |
173 | m_console.Notice("register - (Re-)registers with user-server. This might be necessary if the userserver crashed/restarted"); | ||
161 | } | 174 | } |
162 | 175 | ||
163 | protected override void ShutdownSpecific() | 176 | protected override void ShutdownSpecific() |