Struct PlayerConnected

Source
pub struct PlayerConnected<C, M, R = Standard> { /* private fields */ }
Expand description

Fluent builder constructing a request to PlayerConnected.

Validates the player token is valid and has not already been consumed then marks the player as connected. # Player Tokens and Reserved Slots Player tokens reserve a spot in the lobby until they expire. This allows for precise matchmaking up to exactly the lobby’s player limit, which is important for games with small lobbies and a high influx of players. By calling this endpoint with the player token, the player’s spot is marked as connected and will not expire. If this endpoint is never called, the player’s token will expire and this spot will be filled by another player. # Anti-Botting Player tokens are only issued by caling rivet.api.matchmaker#JoinLobby, calling rivet.api.matchmaker#FindLobby, or from the rivet.api.identity.common#GlobalEventMatchmakerLobbyJoin event. These endpoints have anti-botting measures (i.e. enforcing max player limits, captchas, and detecting bots), so valid player tokens provide some confidence that the player is not a bot. Therefore, it’s important to make sure the token is valid by waiting for this endpoint to return OK before allowing the connected socket to do anything else. If this endpoint returns an error, the socket should be disconnected immediately. # How to Transmit the Player Token The client is responsible for acquiring the player token by caling rivet.api.matchmaker#JoinLobby, calling rivet.api.matchmaker#FindLobby, or from the rivet.api.identity.common#GlobalEventMatchmakerLobbyJoin event. Beyond that, it’s up to the developer how the player token is transmitted to the lobby. If using WebSockets, the player token can be transmitted as a query paramter. Otherwise, the player token will likely be automatically sent by the client once the socket opens. As mentioned above, nothing else should happen until the player token is validated.

Implementations§

Source§

impl<C, M, R> PlayerConnected<C, M, R>

Source

pub async fn send( self, ) -> Result<PlayerConnectedOutput, SdkError<PlayerConnectedError>>
where R::Policy: SmithyRetryPolicy<PlayerConnectedInputOperationOutputAlias, PlayerConnectedOutput, PlayerConnectedError, PlayerConnectedInputOperationRetryAlias>,

Sends the request and returns the response.

If an error occurs, an SdkError will be returned with additional details that can be matched against.

By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.

Source

pub fn player_token(self, input: impl Into<String>) -> Self

A JSON Web Token. Slightly modified to include a description prefix and use Protobufs of JSON.

Source

pub fn set_player_token(self, input: Option<String>) -> Self

A JSON Web Token. Slightly modified to include a description prefix and use Protobufs of JSON.

Trait Implementations§

Source§

impl<C: Clone, M: Clone, R: Clone> Clone for PlayerConnected<C, M, R>

Source§

fn clone(&self) -> PlayerConnected<C, M, R>

Returns a duplicate 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<C: Debug, M: Debug, R: Debug> Debug for PlayerConnected<C, M, R>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<C, M, R> Freeze for PlayerConnected<C, M, R>

§

impl<C, M, R = Standard> !RefUnwindSafe for PlayerConnected<C, M, R>

§

impl<C, M, R> Send for PlayerConnected<C, M, R>
where C: Sync + Send, M: Sync + Send, R: Sync + Send,

§

impl<C, M, R> Sync for PlayerConnected<C, M, R>
where C: Sync + Send, M: Sync + Send, R: Sync + Send,

§

impl<C, M, R> Unpin for PlayerConnected<C, M, R>

§

impl<C, M, R = Standard> !UnwindSafe for PlayerConnected<C, M, R>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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<T> ToOwned for T
where T: Clone,

Source§

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>,

Source§

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>,

Source§

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