Struct aws_sdk_gamelift::types::GameSession

source ·
#[non_exhaustive]
pub struct GameSession {
Show 19 fields pub game_session_id: Option<String>, pub name: Option<String>, pub fleet_id: Option<String>, pub fleet_arn: Option<String>, pub creation_time: Option<DateTime>, pub termination_time: Option<DateTime>, pub current_player_session_count: Option<i32>, pub maximum_player_session_count: Option<i32>, pub status: Option<GameSessionStatus>, pub status_reason: Option<GameSessionStatusReason>, pub game_properties: Option<Vec<GameProperty>>, pub ip_address: Option<String>, pub dns_name: Option<String>, pub port: Option<i32>, pub player_session_creation_policy: Option<PlayerSessionCreationPolicy>, pub creator_id: Option<String>, pub game_session_data: Option<String>, pub matchmaker_data: Option<String>, pub location: Option<String>,
}
Expand description

Properties describing a game session.

A game session in ACTIVE status can host players. When a game session ends, its status is set to TERMINATED.

Amazon GameLift retains a game session resource for 30 days after the game session ends. You can reuse idempotency token values after this time. Game session logs are retained for 14 days.

All APIs by task

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§game_session_id: Option<String>

A unique identifier for the game session. A game session ARN has the following format: arn:aws:gamelift: ::gamesession/ / .

§name: Option<String>

A descriptive label that is associated with a game session. Session names do not need to be unique.

§fleet_id: Option<String>

A unique identifier for the fleet that the game session is running on.

§fleet_arn: Option<String>

The Amazon Resource Name (ARN) associated with the GameLift fleet that this game session is running on.

§creation_time: Option<DateTime>

A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

§termination_time: Option<DateTime>

A time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

§current_player_session_count: Option<i32>

Number of players currently in the game session.

§maximum_player_session_count: Option<i32>

The maximum number of players that can be connected simultaneously to the game session.

§status: Option<GameSessionStatus>

Current status of the game session. A game session must have an ACTIVE status to have player sessions.

§status_reason: Option<GameSessionStatusReason>

Provides additional information about game session status. INTERRUPTED indicates that the game session was hosted on a spot instance that was reclaimed, causing the active game session to be terminated.

§game_properties: Option<Vec<GameProperty>>

A set of key-value pairs that can store custom data in a game session. For example: {"Key": "difficulty", "Value": "novice"}.

§ip_address: Option<String>

The IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

§dns_name: Option<String>

The DNS identifier assigned to the instance that is running the game session. Values have the following format:

When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

§port: Option<i32>

The port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

§player_session_creation_policy: Option<PlayerSessionCreationPolicy>

Indicates whether or not the game session is accepting new players.

§creator_id: Option<String>

A unique identifier for a player. This ID is used to enforce a resource protection policy (if one exists), that limits the number of game sessions a player can create.

§game_session_data: Option<String>

A set of custom game session properties, formatted as a single string value. This data is passed to a game server process with a request to start a new game session (see Start a Game Session).

§matchmaker_data: Option<String>

Information about the matchmaking process that resulted in the game session, if matchmaking was used. Data is in JSON syntax, formatted as a string. Information includes the matchmaker ID as well as player attributes and team assignments. For more details on matchmaker data, see Match Data. Matchmaker data is updated whenever new players are added during a successful backfill (see StartMatchBackfill).

§location: Option<String>

The fleet location where the game session is running. This value might specify the fleet's home Region or a remote location. Location is expressed as an Amazon Web Services Region code such as us-west-2.

Implementations§

source§

impl GameSession

source

pub fn game_session_id(&self) -> Option<&str>

A unique identifier for the game session. A game session ARN has the following format: arn:aws:gamelift: ::gamesession/ / .

source

pub fn name(&self) -> Option<&str>

A descriptive label that is associated with a game session. Session names do not need to be unique.

source

pub fn fleet_id(&self) -> Option<&str>

A unique identifier for the fleet that the game session is running on.

source

pub fn fleet_arn(&self) -> Option<&str>

The Amazon Resource Name (ARN) associated with the GameLift fleet that this game session is running on.

source

pub fn creation_time(&self) -> Option<&DateTime>

A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

source

pub fn termination_time(&self) -> Option<&DateTime>

A time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

source

pub fn current_player_session_count(&self) -> Option<i32>

Number of players currently in the game session.

source

pub fn maximum_player_session_count(&self) -> Option<i32>

The maximum number of players that can be connected simultaneously to the game session.

source

pub fn status(&self) -> Option<&GameSessionStatus>

Current status of the game session. A game session must have an ACTIVE status to have player sessions.

source

pub fn status_reason(&self) -> Option<&GameSessionStatusReason>

Provides additional information about game session status. INTERRUPTED indicates that the game session was hosted on a spot instance that was reclaimed, causing the active game session to be terminated.

source

pub fn game_properties(&self) -> &[GameProperty]

A set of key-value pairs that can store custom data in a game session. For example: {"Key": "difficulty", "Value": "novice"}.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .game_properties.is_none().

source

pub fn ip_address(&self) -> Option<&str>

The IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

source

pub fn dns_name(&self) -> Option<&str>

The DNS identifier assigned to the instance that is running the game session. Values have the following format:

When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

source

pub fn port(&self) -> Option<i32>

The port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

source

pub fn player_session_creation_policy( &self ) -> Option<&PlayerSessionCreationPolicy>

Indicates whether or not the game session is accepting new players.

source

pub fn creator_id(&self) -> Option<&str>

A unique identifier for a player. This ID is used to enforce a resource protection policy (if one exists), that limits the number of game sessions a player can create.

source

pub fn game_session_data(&self) -> Option<&str>

A set of custom game session properties, formatted as a single string value. This data is passed to a game server process with a request to start a new game session (see Start a Game Session).

source

pub fn matchmaker_data(&self) -> Option<&str>

Information about the matchmaking process that resulted in the game session, if matchmaking was used. Data is in JSON syntax, formatted as a string. Information includes the matchmaker ID as well as player attributes and team assignments. For more details on matchmaker data, see Match Data. Matchmaker data is updated whenever new players are added during a successful backfill (see StartMatchBackfill).

source

pub fn location(&self) -> Option<&str>

The fleet location where the game session is running. This value might specify the fleet's home Region or a remote location. Location is expressed as an Amazon Web Services Region code such as us-west-2.

source§

impl GameSession

source

pub fn builder() -> GameSessionBuilder

Creates a new builder-style object to manufacture GameSession.

Trait Implementations§

source§

impl Clone for GameSession

source§

fn clone(&self) -> GameSession

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GameSession

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for GameSession

source§

fn eq(&self, other: &GameSession) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for GameSession

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more