Skip to content

Commit

Permalink
Acrolinx fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
nassosterz-ms committed Aug 7, 2024
1 parent 29d8694 commit 023315b
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ PartyError

## Remarks

If local users were participating in a PartyNetwork, they are removed ungracefully (it appears to remote devices as if network connectivity to this device has been lost), so best practice is to call [PartyNetwork::LeaveNetwork()](../../PartyNetwork/methods/partynetwork_leavenetwork.md) first on all networks returned from a call to [GetNetworks()](partymanager_getnetworks.md) and wait for the corresponding [PartyLeaveNetworkCompletedStateChange](../../../structs/partyleavenetworkcompletedstatechange.md) to have the local users exit any existing PartyNetworks gracefully. <br /><br /> This method is not thread-safe and may not be called concurrently with other non-static Party library methods. After calling this method, all Party library state is invalidated. <br /><br /> Titles using the Microsoft Game Core version of the Party library must listen for app state notifications via the RegisterAppStateChangeNotification API. When the app is suspended, the title must call PartyManager::Cleanup(). When the app is resumed, the title must wait for the Game Core networking stack to be ready and then reinitialize the Party library by calling PartyManager::Initialize(). <br /><br /> Every call to [Initialize()](partymanager_initialize.md) should have a corresponding Cleanup() call.
If local users were participating in a PartyNetwork, they're removed ungracefully (it appears to remote devices as if network connectivity to this device is lost), so best practice is to call [PartyNetwork::LeaveNetwork()](../../PartyNetwork/methods/partynetwork_leavenetwork.md) first on all networks returned from a call to [GetNetworks()](partymanager_getnetworks.md) and wait for the corresponding [PartyLeaveNetworkCompletedStateChange](../../../structs/partyleavenetworkcompletedstatechange.md) to have the local users exit any existing PartyNetworks gracefully. <br /><br /> This method isn't thread-safe and may not be called concurrently with other non-static Party library methods. After calling this method, all Party library state is invalidated. <br /><br /> Titles using the Microsoft Game Core version of the Party library must listen for app state notifications via the RegisterAppStateChangeNotification API. When the app is suspended, the title must call PartyManager::Cleanup(). When the app is resumed, the title must wait for the Game Core networking stack to be ready and then reinitialize the Party library by calling PartyManager::Initialize(). <br /><br /> Every call to [Initialize()](partymanager_initialize.md) should have a corresponding Cleanup() call.

## Requirements

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ PartyError

## Remarks

This method queues an asynchronous attempt to connect to the network associated with `networkDescriptor` by negotiating and establishing a secure DTLS connection from the local device to the transparent cloud relay server. A [PartyConnectToNetworkCompletedStateChange](../../../structs/partyconnecttonetworkcompletedstatechange.md) will be provided upon completion of the asynchronous operation, indicating success or failure. On success, the local device will have established a connection to the transparent cloud relay server. On failure, a [PartyNetworkDestroyedStateChange](../../../structs/partynetworkdestroyedstatechange.md) will be generated. No other devices will become visible, and the local device will not be visible to any remote devices, until at least one local user is successfully authenticated via [PartyNetwork::AuthenticateLocalUser()](../../PartyNetwork/methods/partynetwork_authenticatelocaluser.md). <br /><br /> After the device successfully connects to the network, it must authenticate into the network via PartyNetwork::AuthenticateLocalUser(). If the device is connected to the network but unauthenticated for more than one minute, the device will be disconnected and a PartyNetworkDestroyedStateChange will be generated. This will occur regardless of whether the device never authenticated or lost authentication after calling [PartyNetwork::RemoveLocalUser()](../../PartyNetwork/methods/partynetwork_removelocaluser.md). <br /><br /> This method optionally provides `network` as output that can immediately be used to perform asynchronous network operations, such as [PartyNetwork::CreateInvitation()](../../PartyNetwork/methods/partynetwork_createinvitation.md) and [PartyNetwork::CreateEndpoint()](../../PartyNetwork/methods/partynetwork_createendpoint.md). These asynchronous operations will be internally queued until the connection completes, at which point they will be processed. This `network` will also be provided on the resulting PartyConnectToNetworkCompletedStateChange where it will be fully connected and associated with the provided `asyncIdentifier`. <br /><br /> This operation will asynchronously fail with [PartyConnectToNetworkCompletedStateChange::result](../../../structs/partyconnecttonetworkcompletedstatechange.md) set to [PartyStateChangeResult::NetworkLimitReached](../../../enums/partystatechangeresult.md) if the limit of connected devices for the network has been reached as specified in the network's configuration when it was created via [CreateNewNetwork()](partymanager_createnewnetwork.md). <br /><br /> On successful return, this method invalidates the memory for any array previously returned by [GetNetworks()](partymanager_getnetworks.md), as it synchronously adds the new network to the array. [StartProcessingStateChanges()](partymanager_startprocessingstatechanges.md) also invalidates the memory for the array. The returned `network` object will be valid until a PartyNetworkDestroyedStateChange has been generated and all state changes referencing the object have been returned to [FinishProcessingStateChanges()](partymanager_finishprocessingstatechanges.md).
This method queues an asynchronous attempt to connect to the network associated with `networkDescriptor` by negotiating and establishing a secure DTLS connection from the local device to the transparent cloud relay server. A [PartyConnectToNetworkCompletedStateChange](../../../structs/partyconnecttonetworkcompletedstatechange.md) will be provided upon completion of the asynchronous operation, indicating success or failure. On success, the local device will have established a connection to the transparent cloud relay server. On failure, a [PartyNetworkDestroyedStateChange](../../../structs/partynetworkdestroyedstatechange.md) will be generated. No other devices will become visible, and the local device won't be visible to any remote devices, until at least one local user is successfully authenticated via [PartyNetwork::AuthenticateLocalUser()](../../PartyNetwork/methods/partynetwork_authenticatelocaluser.md). <br /><br /> After the device successfully connects to the network, it must authenticate into the network via PartyNetwork::AuthenticateLocalUser(). If the device is connected to the network but unauthenticated for more than one minute, the device will be disconnected and a PartyNetworkDestroyedStateChange will be generated. This will occur regardless of whether the device never authenticated or lost authentication after calling [PartyNetwork::RemoveLocalUser()](../../PartyNetwork/methods/partynetwork_removelocaluser.md). <br /><br /> This method optionally provides `network` as output that can immediately be used to perform asynchronous network operations, such as [PartyNetwork::CreateInvitation()](../../PartyNetwork/methods/partynetwork_createinvitation.md) and [PartyNetwork::CreateEndpoint()](../../PartyNetwork/methods/partynetwork_createendpoint.md). These asynchronous operations will be internally queued until the connection completes, at which point they'll be processed. This `network` will also be provided on the resulting PartyConnectToNetworkCompletedStateChange where it will be fully connected and associated with the provided `asyncIdentifier`. <br /><br /> This operation will asynchronously fail with [PartyConnectToNetworkCompletedStateChange::result](../../../structs/partyconnecttonetworkcompletedstatechange.md) set to [PartyStateChangeResult::NetworkLimitReached](../../../enums/partystatechangeresult.md) if the limit of connected devices for the network has been reached as specified in the network's configuration when it was created via [CreateNewNetwork()](partymanager_createnewnetwork.md). <br /><br /> On successful return, this method invalidates the memory for any array previously returned by [GetNetworks()](partymanager_getnetworks.md), as it synchronously adds the new network to the array. [StartProcessingStateChanges()](partymanager_startprocessingstatechanges.md) also invalidates the memory for the array. The returned `network` object will be valid until a PartyNetworkDestroyedStateChange has been generated and all state changes referencing the object have been returned to [FinishProcessingStateChanges()](partymanager_finishprocessingstatechanges.md).

### Retrying on failure

Expand All @@ -55,9 +55,9 @@ This method queues an asynchronous attempt to connect to the network associated
| Result | Retry behavior |
| --- | --- |
| InternetConnectivityError | Retry with a small delay of no less than 10 seconds. For your app, it may be more appropriate to display the error to the user immediately, rather than retrying automatically. |
| NetworkLimitReached | Do not retry automatically. Instead, display a message to the user and wait for the user to initiate another attempt. |
| NetworkNoLongerExists | Do not retry. |
| VersionMismatch | Do not retry. |
| NetworkLimitReached | Don't retry automatically. Instead, display a message to the user and wait for the user to initiate another attempt. |
| NetworkNoLongerExists | Don't retry. |
| VersionMismatch | Don't retry. |
| FailedToBindToLocalUdpSocket | This result means that the library couldn't bind to the local UDP socket specified in the [PartyOption::LocalUdpSocketBindAddress](../../../enums/partyoption.md) option. The title must clean up its instance of the library, update the [PartyOption::LocalUdpSocketBindAddress](../../../enums/partyoption.md) option to a valid, available bind address, and reinitialize the library.

## Requirements
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ PartyError

## Remarks

Upon completion of the asynchronous operation, a user is no longer considered authenticated into the network. Completion is indicated by a [PartyRemoveLocalUserCompletedStateChange](../../../structs/partyremovelocalusercompletedstatechange.md). The asynchronous operation will always succeed, and a [PartyLocalUserRemovedStateChange](../../../structs/partylocaluserremovedstatechange.md) will always be provided before the PartyRemoveLocalUserCompletedStateChange. Before successful completion of the operation, all endpoints associated with that user will be destroyed (each indicated by a [PartyEndpointDestroyedStateChange](../../../structs/partyendpointdestroyedstatechange.md)) and all chat controls associated with that user will be disconnected from the network (each indicated by a [PartyChatControlLeftNetworkStateChange](../../../structs/partychatcontrolleftnetworkstatechange.md)). <br /><br /> When all local users are removed from the network, the device is no longer considered authenticated. All endpoints are destroyed and all remote devices will appear to leave the network, because they are no longer visible to the local device. Similarly, all remote devices will see the local device as having left the network. The device will not immediately be disconnected and can again be authenticated by a new call to [AuthenticateLocalUser()](partynetwork_authenticatelocaluser.md). However, because being connected to a network with no authenticated users isn't a useful state outside of transition periods, the Party library will automatically disconnect a device that is unauthenticated for more than one minute. <br /><br /> This method will fail if the specified `localUser` is already in the process of being removed from the network due to a previous call to this method.
Upon completion of the asynchronous operation, a user is no longer considered authenticated into the network. Completion is indicated by a [PartyRemoveLocalUserCompletedStateChange](../../../structs/partyremovelocalusercompletedstatechange.md). The asynchronous operation will always succeed, and a [PartyLocalUserRemovedStateChange](../../../structs/partylocaluserremovedstatechange.md) will always be provided before the PartyRemoveLocalUserCompletedStateChange. Before successful completion of the operation, all endpoints associated with that user will be destroyed (each indicated by a [PartyEndpointDestroyedStateChange](../../../structs/partyendpointdestroyedstatechange.md)) and all chat controls associated with that user will be disconnected from the network (each indicated by a [PartyChatControlLeftNetworkStateChange](../../../structs/partychatcontrolleftnetworkstatechange.md)). <br /><br /> When all local users are removed from the network, the device is no longer considered authenticated. All endpoints are destroyed and all remote devices will appear to leave the network, because they're no longer visible to the local device. Similarly, all remote devices will see the local device as having left the network. The device won't immediately be disconnected and can again be authenticated by a new call to [AuthenticateLocalUser()](partynetwork_authenticatelocaluser.md). However, because being connected to a network with no authenticated users isn't a useful state outside of transition periods, the Party library will automatically disconnect a device that is unauthenticated for more than one minute. <br /><br /> This method fails if the specified `localUser` is already in the process of being removed from the network due to a previous call to this method.

## Requirements

Expand Down
Loading

1 comment on commit 023315b

@av1934413
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.