MCPcopy Create free account
hub / github.com/BohemiaInteractive/CWR / insert_sample

Method insert_sample

mserver/MasterService/src/repository.rs:473–490  ·  view source on GitHub ↗
(
        &self,
        server_id: &str,
        observed_unix_ms: i64,
        players: i32,
    )

Source from the content-addressed store, hash-verified

471 Dialect::Sqlite => {
472 "SELECT token_hash, last_seen_unix_ms FROM servers WHERE server_id = ?"
473 }
474 };
475 let target = sqlx::query(&self.bind_sql(target_query))
476 .bind(new_server_id)
477 .fetch_optional(&mut *transaction)
478 .await?;
479 if let Some(target) = target {
480 let target_hash = target.try_get::<Option<String>, _>(0)?;
481 let target_last_seen = target.try_get::<i64, _>(1)?;
482 if target_hash.as_deref() != Some(token_hash)
483 && now_unix_ms - target_last_seen < recovery_ms
484 {
485 transaction.rollback().await?;
486 return Ok(TokenRelocation::Conflict);
487 }
488 sqlx::query(&self.bind_sql("DELETE FROM servers WHERE server_id = ?"))
489 .bind(new_server_id)
490 .execute(&mut *transaction)
491 .await?;
492 }
493

Callers 2

registerMethod · 0.80
seed_dev_dataFunction · 0.80

Calls 2

bind_sqlMethod · 0.80
executeMethod · 0.45

Tested by

no test coverage detected