/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace GameLift { namespace Model { /** *

Regional latency information for a player, used when requesting a new game * session. This value indicates the amount of time lag that exists when the player * is connected to a fleet in the specified Region. The relative difference between * a player's latency values for multiple Regions are used to determine which * fleets are best suited to place a new game session for the player. *

See Also:

AWS * API Reference

*/ class PlayerLatency { public: AWS_GAMELIFT_API PlayerLatency(); AWS_GAMELIFT_API PlayerLatency(Aws::Utils::Json::JsonView jsonValue); AWS_GAMELIFT_API PlayerLatency& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GAMELIFT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A unique identifier for a player associated with the latency data.

*/ inline const Aws::String& GetPlayerId() const{ return m_playerId; } /** *

A unique identifier for a player associated with the latency data.

*/ inline bool PlayerIdHasBeenSet() const { return m_playerIdHasBeenSet; } /** *

A unique identifier for a player associated with the latency data.

*/ inline void SetPlayerId(const Aws::String& value) { m_playerIdHasBeenSet = true; m_playerId = value; } /** *

A unique identifier for a player associated with the latency data.

*/ inline void SetPlayerId(Aws::String&& value) { m_playerIdHasBeenSet = true; m_playerId = std::move(value); } /** *

A unique identifier for a player associated with the latency data.

*/ inline void SetPlayerId(const char* value) { m_playerIdHasBeenSet = true; m_playerId.assign(value); } /** *

A unique identifier for a player associated with the latency data.

*/ inline PlayerLatency& WithPlayerId(const Aws::String& value) { SetPlayerId(value); return *this;} /** *

A unique identifier for a player associated with the latency data.

*/ inline PlayerLatency& WithPlayerId(Aws::String&& value) { SetPlayerId(std::move(value)); return *this;} /** *

A unique identifier for a player associated with the latency data.

*/ inline PlayerLatency& WithPlayerId(const char* value) { SetPlayerId(value); return *this;} /** *

Name of the Region that is associated with the latency value.

*/ inline const Aws::String& GetRegionIdentifier() const{ return m_regionIdentifier; } /** *

Name of the Region that is associated with the latency value.

*/ inline bool RegionIdentifierHasBeenSet() const { return m_regionIdentifierHasBeenSet; } /** *

Name of the Region that is associated with the latency value.

*/ inline void SetRegionIdentifier(const Aws::String& value) { m_regionIdentifierHasBeenSet = true; m_regionIdentifier = value; } /** *

Name of the Region that is associated with the latency value.

*/ inline void SetRegionIdentifier(Aws::String&& value) { m_regionIdentifierHasBeenSet = true; m_regionIdentifier = std::move(value); } /** *

Name of the Region that is associated with the latency value.

*/ inline void SetRegionIdentifier(const char* value) { m_regionIdentifierHasBeenSet = true; m_regionIdentifier.assign(value); } /** *

Name of the Region that is associated with the latency value.

*/ inline PlayerLatency& WithRegionIdentifier(const Aws::String& value) { SetRegionIdentifier(value); return *this;} /** *

Name of the Region that is associated with the latency value.

*/ inline PlayerLatency& WithRegionIdentifier(Aws::String&& value) { SetRegionIdentifier(std::move(value)); return *this;} /** *

Name of the Region that is associated with the latency value.

*/ inline PlayerLatency& WithRegionIdentifier(const char* value) { SetRegionIdentifier(value); return *this;} /** *

Amount of time that represents the time lag experienced by the player when * connected to the specified Region.

*/ inline double GetLatencyInMilliseconds() const{ return m_latencyInMilliseconds; } /** *

Amount of time that represents the time lag experienced by the player when * connected to the specified Region.

*/ inline bool LatencyInMillisecondsHasBeenSet() const { return m_latencyInMillisecondsHasBeenSet; } /** *

Amount of time that represents the time lag experienced by the player when * connected to the specified Region.

*/ inline void SetLatencyInMilliseconds(double value) { m_latencyInMillisecondsHasBeenSet = true; m_latencyInMilliseconds = value; } /** *

Amount of time that represents the time lag experienced by the player when * connected to the specified Region.

*/ inline PlayerLatency& WithLatencyInMilliseconds(double value) { SetLatencyInMilliseconds(value); return *this;} private: Aws::String m_playerId; bool m_playerIdHasBeenSet = false; Aws::String m_regionIdentifier; bool m_regionIdentifierHasBeenSet = false; double m_latencyInMilliseconds; bool m_latencyInMillisecondsHasBeenSet = false; }; } // namespace Model } // namespace GameLift } // namespace Aws