Hypergrid Friends

From OpenSimulator

Revision as of 04:45, 23 November 2020 by Ubit (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This information is outdated

Contents

Class Summary

OpenSim.Region.CoreModules.Avatar

Class Name Interfaces Description
Friends.HGFriendsModule IFriendsModule, IFriendsSimConnector, ISharedRegionModule Extends and replaces FriendsModule. Accessed via Scene.RequestModuleInterface<IFriendsModule>() and Scene.RequestModuleInterface<IFriendsSimConnector>(). Performs HG specific friend functions such as forwarding friendship requests and caching.
Friends.HGStatusNotifier None Helps manage HG friend status notifications.

OpenSim.Server.Handlers.Hypergrid

These classes are glue code that receive external messages to invoke Hypergrid services.

Class Name Interfaces/Base classes Description
HGFriendsServerConnector ServiceConnector Instantiates HGFriendsServerPostHandler.
HGFriendsServerPostHandler BaseStreamHandler Receives incoming HG Friends calls and triggers the appropriate HGFriendsService method.

OpenSim.Services.Connectors

Class Name Interfaces Description
Hypergrid.HGFriendsServicesConnector None Connector to a foreign Friends service.

OpenSim.Services.HypergridService

Class Name Interfaces Description
HGFriendsService IHGFriendsService Provides the friends service accessed by foreign grids.

Flows

Offering a friendship when on a foreign grid to an avatar local to that grid

  1. On making a friend request, the requester's client sends a FriendshipOffered IM to the current foreign simulator.
  2. The foreign simulator forwards this request to the friendee. If the friendee is elsewhere on the grid, then the message is forwarded to the simulator they are on.
  3. The friendee sees the request. If they are offline and IMs are being stored, they will see this when they next log back on.
  4. If the friendee accepts, then their client sends a AcceptFriendship UDP message to their current simulator.
  5. The foreign simulator stores the friendship information in its grid.
  6. The friendship information is forwarded on to the friendees HGFriendsService with the newfriendship message.
  7. The home HGFriendsService stores the friend request for confirmation.
  8. When the friender returns to the home grid, they are asked to confirm the friendship that they made whilst in the foreign simulator. This triggers the "Please confirm this friendship you made while you were away." which originates from HGFriendsModule.FriendshipMessages().
  9. If the friender confirms the friendship then it is stored on their grid.
  10. If the friender denies the confirmation then the firnedship is not stored and the foreign HGFriendsService is asked to remove the friendship.
Personal tools
General
About This Wiki