> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PFMultiplayerServerPingQosServersOptions

> Options controlling a QoS region ping operation. Pass NULL to PFMultiplayerServerPingQosServersAsync to use the defaults documented below.

Options controlling a QoS region ping operation. Pass NULL to PFMultiplayerServerPingQosServersAsync to use the defaults documented below.

## Syntax

```cpp theme={null}
typedef struct PFMultiplayerServerPingQosServersOptions {  
    uint32_t timeoutMs;  
    uint32_t pingsPerRegion;  
    uint32_t maxConcurrentRegions;  
    bool includeAllRegions;  
    const char* routingPreference;  
} PFMultiplayerServerPingQosServersOptions;  
```

### Members

**`timeoutMs`**   uint32\_t

Per-ping receive timeout in milliseconds. A ping that does not receive a valid echo within this window is counted as a failure. Default 250.

**`pingsPerRegion`**   uint32\_t

Number of ping iterations per region. Reported latencyMs is the arithmetic mean of the successful iterations. Default 3.

**`maxConcurrentRegions`**   uint32\_t

Maximum number of regions probed concurrently. One UDP socket is opened per region while it is in flight. Default 0, interpreted as "all regions concurrently".

**`includeAllRegions`**   bool

If true, ListQosServersForTitle is asked to return beacons for every Azure region rather than only the regions where the title has deployed builds. Default false.

**`routingPreference`**   const char\*<br />*is null-terminated*

Routing preference forwarded to ListQosServersForTitle, which selects which beacon VIPs the service returns. Accepts the strings defined by the MultiplayerServer RoutingType enumeration: "Microsoft" (default — beacons whose Azure Public IPs are tagged with Microsoft network tier routing, traversing the Azure backbone for as much of the path as possible) or "Internet" (beacons routed over the public internet end-to-end). NULL or empty leaves the field unset and the service applies its default ("Microsoft"). A title that ships data-plane VIPs with both routing types should call this API twice (once per preference) and rank regions per the data plane the player will actually use.

## Requirements

**Header:** PFMultiplayerServerQoS.h

## See also

[PFMultiplayerServerQoS members](/services/playfab/api-references/c/pfmultiplayerserverqos/pfmultiplayerserverqos_members)


## Related topics

- [PFMultiplayerServerPingQosServersAsync](/services/playfab/api-references/c/pfmultiplayerserverqos/functions/pfmultiplayerserverpingqosserversasync.md)
- [Services C API overview - PFMultiplayerServerQoS.h](/services/playfab/api-references/c/pfmultiplayerserverqos/pfmultiplayerserverqos_members.md)
- [PFMultiplayerServerPingQosServersResult](/services/playfab/api-references/c/pfmultiplayerserverqos/structs/pfmultiplayerserverpingqosserversresult.md)
- [PFMultiplayerServerPingQosServersGetResult](/services/playfab/api-references/c/pfmultiplayerserverqos/functions/pfmultiplayerserverpingqosserversgetresult.md)
- [PFMultiplayerServerPingQosServersGetResultSize](/services/playfab/api-references/c/pfmultiplayerserverqos/functions/pfmultiplayerserverpingqosserversgetresultsize.md)
