@Generated(value="software.amazon.awssdk:codegen") public final class PlayerSession extends Object implements StructuredPojo, ToCopyableBuilder<PlayerSession.Builder,PlayerSession>
Properties describing a player session. Player session objects are created either by creating a player session for a
specific game session, or as part of a game session placement. A player session represents either a player
reservation for a game session (status RESERVED
) or actual player activity in a game session (status
ACTIVE
). A player session object (including player data) is automatically passed to a game session when
the player connects to the game session and is validated.
When a player disconnects, the player session status changes to COMPLETED
. Once the session ends, the
player session object is retained for 30 days and then removed.
Player-session-related operations include:
Modifier and Type | Class and Description |
---|---|
static interface |
PlayerSession.Builder |
Modifier and Type | Method and Description |
---|---|
static PlayerSession.Builder |
builder() |
Instant |
creationTime()
Time stamp indicating when this data object was created.
|
boolean |
equals(Object obj) |
String |
fleetId()
Unique identifier for a fleet that the player's game session is running on.
|
String |
gameSessionId()
Unique identifier for the game session that the player session is connected to.
|
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz) |
int |
hashCode() |
String |
ipAddress()
IP address of the game session.
|
void |
marshall(ProtocolMarshaller protocolMarshaller)
Marshalls this structured data using the given
ProtocolMarshaller . |
String |
playerData()
Developer-defined information related to a player.
|
String |
playerId()
Unique identifier for a player that is associated with this player session.
|
String |
playerSessionId()
Unique identifier for a player session.
|
Integer |
port()
Port number for the game session.
|
static Class<? extends PlayerSession.Builder> |
serializableBuilderClass() |
PlayerSessionStatus |
status()
Current status of the player session.
|
String |
statusAsString()
Current status of the player session.
|
Instant |
terminationTime()
Time stamp indicating when this data object was terminated.
|
PlayerSession.Builder |
toBuilder()
Take this object and create a builder that contains all of the current property values of this object.
|
String |
toString() |
copy
public String playerSessionId()
Unique identifier for a player session.
public String playerId()
Unique identifier for a player that is associated with this player session.
public String gameSessionId()
Unique identifier for the game session that the player session is connected to.
public String fleetId()
Unique identifier for a fleet that the player's game session is running on.
public Instant creationTime()
Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").
public Instant terminationTime()
Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").
public PlayerSessionStatus status()
Current status of the player session.
Possible player session statuses include the following:
RESERVED -- The player session request has been received, but the player has not yet connected to the server process and/or been validated.
ACTIVE -- The player has been validated by the server process and is currently connected.
COMPLETED -- The player connection has been dropped.
TIMEDOUT -- A player session request was received, but the player did not connect and/or was not validated within the timeout limit (60 seconds).
If the service returns an enum value that is not available in the current SDK version, status
will
return PlayerSessionStatus.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available
from statusAsString()
.
Possible player session statuses include the following:
RESERVED -- The player session request has been received, but the player has not yet connected to the server process and/or been validated.
ACTIVE -- The player has been validated by the server process and is currently connected.
COMPLETED -- The player connection has been dropped.
TIMEDOUT -- A player session request was received, but the player did not connect and/or was not validated within the timeout limit (60 seconds).
PlayerSessionStatus
public String statusAsString()
Current status of the player session.
Possible player session statuses include the following:
RESERVED -- The player session request has been received, but the player has not yet connected to the server process and/or been validated.
ACTIVE -- The player has been validated by the server process and is currently connected.
COMPLETED -- The player connection has been dropped.
TIMEDOUT -- A player session request was received, but the player did not connect and/or was not validated within the timeout limit (60 seconds).
If the service returns an enum value that is not available in the current SDK version, status
will
return PlayerSessionStatus.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available
from statusAsString()
.
Possible player session statuses include the following:
RESERVED -- The player session request has been received, but the player has not yet connected to the server process and/or been validated.
ACTIVE -- The player has been validated by the server process and is currently connected.
COMPLETED -- The player connection has been dropped.
TIMEDOUT -- A player session request was received, but the player did not connect and/or was not validated within the timeout limit (60 seconds).
PlayerSessionStatus
public String ipAddress()
IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.
public Integer port()
Port number for the game session. To connect to a Amazon GameLift server process, an app needs both the IP address and port number.
public String playerData()
Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.
public PlayerSession.Builder toBuilder()
ToCopyableBuilder
toBuilder
in interface ToCopyableBuilder<PlayerSession.Builder,PlayerSession>
public static PlayerSession.Builder builder()
public static Class<? extends PlayerSession.Builder> serializableBuilderClass()
public void marshall(ProtocolMarshaller protocolMarshaller)
StructuredPojo
ProtocolMarshaller
.marshall
in interface StructuredPojo
protocolMarshaller
- Implementation of ProtocolMarshaller
used to marshall this object's data.Copyright © 2017 Amazon Web Services, Inc. All Rights Reserved.