diff options
author | Justin Clark-Casey (justincc) | 2014-05-12 23:30:44 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-05-12 23:38:48 +0100 |
commit | 87e2668529af4479e3dd94215193ff63ae685148 (patch) | |
tree | a5b8bc40112e3e4f749b372989acdde02e804ec5 /OpenSim/Region/CoreModules/Avatar/InstantMessage | |
parent | Add send group notice regression test for when MessageOnlineUsersOnly=true (diff) | |
download | opensim-SC-87e2668529af4479e3dd94215193ff63ae685148.zip opensim-SC-87e2668529af4479e3dd94215193ff63ae685148.tar.gz opensim-SC-87e2668529af4479e3dd94215193ff63ae685148.tar.bz2 opensim-SC-87e2668529af4479e3dd94215193ff63ae685148.tar.xz |
For XmlRpcGroups (Flotsam) module, when MessageOnlineUsersOnly = true, handle notices to offline users directly as known undeliverable messages rather than discarding or attempting delivery.
Offline notices can still be controlled with the [Messaging] ForwardOfflineGroupMessages setting.
Looks to address more of http://opensimulator.org/mantis/view.php?id=7037
Only for Flotsam now for testing, but if approach works should be possible with core offline notices as well.
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar/InstantMessage')
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs | 10 |
2 files changed, 7 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs index c51b30f..6f3c80a 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs | |||
@@ -210,7 +210,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
210 | success = m_IMService.OutgoingInstantMessage(im, url, foreigner); | 210 | success = m_IMService.OutgoingInstantMessage(im, url, foreigner); |
211 | 211 | ||
212 | if (!success && !foreigner) | 212 | if (!success && !foreigner) |
213 | HandleUndeliveredMessage(im, result); | 213 | HandleUndeliverableMessage(im, result); |
214 | else | 214 | else |
215 | result(success); | 215 | result(success); |
216 | }); | 216 | }); |
@@ -246,7 +246,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
246 | return successful; | 246 | return successful; |
247 | } | 247 | } |
248 | 248 | ||
249 | protected void HandleUndeliveredMessage(GridInstantMessage im, MessageResultNotification result) | 249 | public void HandleUndeliverableMessage(GridInstantMessage im, MessageResultNotification result) |
250 | { | 250 | { |
251 | UndeliveredMessage handlerUndeliveredMessage = OnUndeliveredMessage; | 251 | UndeliveredMessage handlerUndeliveredMessage = OnUndeliveredMessage; |
252 | 252 | ||
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs index 40a400f..7aa7123 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs | |||
@@ -181,7 +181,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
181 | SendGridInstantMessageViaXMLRPC(im, result); | 181 | SendGridInstantMessageViaXMLRPC(im, result); |
182 | } | 182 | } |
183 | 183 | ||
184 | private void HandleUndeliveredMessage(GridInstantMessage im, MessageResultNotification result) | 184 | public void HandleUndeliverableMessage(GridInstantMessage im, MessageResultNotification result) |
185 | { | 185 | { |
186 | UndeliveredMessage handlerUndeliveredMessage = OnUndeliveredMessage; | 186 | UndeliveredMessage handlerUndeliveredMessage = OnUndeliveredMessage; |
187 | 187 | ||
@@ -511,14 +511,14 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
511 | if (upd.RegionID == prevRegionID) | 511 | if (upd.RegionID == prevRegionID) |
512 | { | 512 | { |
513 | // m_log.Error("[GRID INSTANT MESSAGE]: Unable to deliver an instant message"); | 513 | // m_log.Error("[GRID INSTANT MESSAGE]: Unable to deliver an instant message"); |
514 | HandleUndeliveredMessage(im, result); | 514 | HandleUndeliverableMessage(im, result); |
515 | return; | 515 | return; |
516 | } | 516 | } |
517 | } | 517 | } |
518 | else | 518 | else |
519 | { | 519 | { |
520 | // m_log.Error("[GRID INSTANT MESSAGE]: Unable to deliver an instant message"); | 520 | // m_log.Error("[GRID INSTANT MESSAGE]: Unable to deliver an instant message"); |
521 | HandleUndeliveredMessage(im, result); | 521 | HandleUndeliverableMessage(im, result); |
522 | return; | 522 | return; |
523 | } | 523 | } |
524 | } | 524 | } |
@@ -567,12 +567,12 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
567 | else | 567 | else |
568 | { | 568 | { |
569 | m_log.WarnFormat("[GRID INSTANT MESSAGE]: Unable to find region {0}", upd.RegionID); | 569 | m_log.WarnFormat("[GRID INSTANT MESSAGE]: Unable to find region {0}", upd.RegionID); |
570 | HandleUndeliveredMessage(im, result); | 570 | HandleUndeliverableMessage(im, result); |
571 | } | 571 | } |
572 | } | 572 | } |
573 | else | 573 | else |
574 | { | 574 | { |
575 | HandleUndeliveredMessage(im, result); | 575 | HandleUndeliverableMessage(im, result); |
576 | } | 576 | } |
577 | } | 577 | } |
578 | 578 | ||