Hypergrid Friends
From OpenSimulator
(Difference between revisions)
m |
|||
Line 1: | Line 1: | ||
− | ''' | + | '''This information is outdated''' |
= Class Summary = | = Class Summary = |
Latest revision as of 04:45, 23 November 2020
This information is outdated
Contents |
[edit] Class Summary
[edit] 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. |
[edit] 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. |
[edit] OpenSim.Services.Connectors
Class Name | Interfaces | Description |
---|---|---|
Hypergrid.HGFriendsServicesConnector | None | Connector to a foreign Friends service. |
[edit] OpenSim.Services.HypergridService
Class Name | Interfaces | Description |
---|---|---|
HGFriendsService | IHGFriendsService | Provides the friends service accessed by foreign grids. |
[edit] Flows
[edit] Offering a friendship when on a foreign grid to an avatar local to that grid
- On making a friend request, the requester's client sends a FriendshipOffered IM to the current foreign simulator.
- 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.
- The friendee sees the request. If they are offline and IMs are being stored, they will see this when they next log back on.
- If the friendee accepts, then their client sends a AcceptFriendship UDP message to their current simulator.
- The foreign simulator stores the friendship information in its grid.
- The friendship information is forwarded on to the friendees HGFriendsService with the newfriendship message.
- The home HGFriendsService stores the friend request for confirmation.
- 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().
- If the friender confirms the friendship then it is stored on their grid.
- If the friender denies the confirmation then the firnedship is not stored and the foreign HGFriendsService is asked to remove the friendship.