diff options
author | Justin Clark-Casey (justincc) | 2012-10-20 02:02:13 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-10-20 02:02:13 +0100 |
commit | da2b23f18d232230ac4d967f8d3b256aebd4741e (patch) | |
tree | e8ca08b230cfa8d11317532b176a405cc302eeb3 /OpenSim/Services | |
parent | Add experimental [Groups] MessageOnlineUsersOnly option for Flotsam XmlRpc gr... (diff) | |
download | opensim-SC_OLD-da2b23f18d232230ac4d967f8d3b256aebd4741e.zip opensim-SC_OLD-da2b23f18d232230ac4d967f8d3b256aebd4741e.tar.gz opensim-SC_OLD-da2b23f18d232230ac4d967f8d3b256aebd4741e.tar.bz2 opensim-SC_OLD-da2b23f18d232230ac4d967f8d3b256aebd4741e.tar.xz |
Improve efficiency of friends notification by only make one PresenceService call for all friends rather than one for each friend.
However, large groups could still take a very long time since we still need to message each avatar on different simulators.
Diffstat (limited to 'OpenSim/Services')
-rw-r--r-- | OpenSim/Services/Connectors/Friends/FriendsSimConnector.cs | 4 | ||||
-rw-r--r-- | OpenSim/Services/HypergridService/HGFriendsService.cs | 2 | ||||
-rw-r--r-- | OpenSim/Services/HypergridService/UserAgentService.cs | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/OpenSim/Services/Connectors/Friends/FriendsSimConnector.cs b/OpenSim/Services/Connectors/Friends/FriendsSimConnector.cs index e235733..6d5ce4b 100644 --- a/OpenSim/Services/Connectors/Friends/FriendsSimConnector.cs +++ b/OpenSim/Services/Connectors/Friends/FriendsSimConnector.cs | |||
@@ -128,7 +128,7 @@ namespace OpenSim.Services.Connectors.Friends | |||
128 | return Call(region, sendData); | 128 | return Call(region, sendData); |
129 | } | 129 | } |
130 | 130 | ||
131 | public bool StatusNotify(GridRegion region, UUID userID, UUID friendID, bool online) | 131 | public bool StatusNotify(GridRegion region, UUID userID, string friendID, bool online) |
132 | { | 132 | { |
133 | Dictionary<string, object> sendData = new Dictionary<string, object>(); | 133 | Dictionary<string, object> sendData = new Dictionary<string, object>(); |
134 | //sendData["VERSIONMIN"] = ProtocolVersions.ClientProtocolVersionMin.ToString(); | 134 | //sendData["VERSIONMIN"] = ProtocolVersions.ClientProtocolVersionMin.ToString(); |
@@ -136,7 +136,7 @@ namespace OpenSim.Services.Connectors.Friends | |||
136 | sendData["METHOD"] = "status"; | 136 | sendData["METHOD"] = "status"; |
137 | 137 | ||
138 | sendData["FromID"] = userID.ToString(); | 138 | sendData["FromID"] = userID.ToString(); |
139 | sendData["ToID"] = friendID.ToString(); | 139 | sendData["ToID"] = friendID; |
140 | sendData["Online"] = online.ToString(); | 140 | sendData["Online"] = online.ToString(); |
141 | 141 | ||
142 | return Call(region, sendData); | 142 | return Call(region, sendData); |
diff --git a/OpenSim/Services/HypergridService/HGFriendsService.cs b/OpenSim/Services/HypergridService/HGFriendsService.cs index 98423d7..a8bcfb2 100644 --- a/OpenSim/Services/HypergridService/HGFriendsService.cs +++ b/OpenSim/Services/HypergridService/HGFriendsService.cs | |||
@@ -397,7 +397,7 @@ namespace OpenSim.Services.HypergridService | |||
397 | if (region != null) | 397 | if (region != null) |
398 | { | 398 | { |
399 | m_log.DebugFormat("[HGFRIENDS SERVICE]: Remote Notify to region {0}, user {1} is {2}", region.RegionName, foreignUserID, (online ? "online" : "offline")); | 399 | m_log.DebugFormat("[HGFRIENDS SERVICE]: Remote Notify to region {0}, user {1} is {2}", region.RegionName, foreignUserID, (online ? "online" : "offline")); |
400 | m_FriendsSimConnector.StatusNotify(region, foreignUserID, userID, online); | 400 | m_FriendsSimConnector.StatusNotify(region, foreignUserID, userID.ToString(), online); |
401 | } | 401 | } |
402 | } | 402 | } |
403 | } | 403 | } |
diff --git a/OpenSim/Services/HypergridService/UserAgentService.cs b/OpenSim/Services/HypergridService/UserAgentService.cs index a6fc731..a26a922 100644 --- a/OpenSim/Services/HypergridService/UserAgentService.cs +++ b/OpenSim/Services/HypergridService/UserAgentService.cs | |||
@@ -504,7 +504,7 @@ namespace OpenSim.Services.HypergridService | |||
504 | if (region != null) | 504 | if (region != null) |
505 | { | 505 | { |
506 | m_log.DebugFormat("[USER AGENT SERVICE]: Remote Notify to region {0}, user {1} is {2}", region.RegionName, foreignUserID, (online ? "online" : "offline")); | 506 | m_log.DebugFormat("[USER AGENT SERVICE]: Remote Notify to region {0}, user {1} is {2}", region.RegionName, foreignUserID, (online ? "online" : "offline")); |
507 | m_FriendsSimConnector.StatusNotify(region, foreignUserID, userID, online); | 507 | m_FriendsSimConnector.StatusNotify(region, foreignUserID, userID.ToString(), online); |
508 | } | 508 | } |
509 | } | 509 | } |
510 | } | 510 | } |