gpg::SnapshotManager

#include <snapshot_manager.h>

Obtiene y establece varios datos relacionados con instantáneas.

Resumen

Si la app no habilita instantáneas en el momento de la autenticación (consulta GameServices::Builder::EnableSnapshots), la mayoría de los métodos en SnapshotManager fallarán.

Tipos públicos

CommitCallback typedef
std::function< void(const CommitResponse &)>
Define un tipo de devolución de llamada que recibe un CommitResponse.
FetchAllCallback typedef
std::function< void(const FetchAllResponse &)>
Define un tipo de devolución de llamada que recibe un FetchAllResponse.
MaxSizeCallback typedef
std::function< void(const MaxSizeResponse &)>
Define un tipo de devolución de llamada que recibe un MaxSizeResponse.
OpenCallback typedef
std::function< void(const OpenResponse &)>
Define un tipo de devolución de llamada que recibe un OpenResponse.
ReadCallback typedef
std::function< void(const ReadResponse &)>
Define un tipo de devolución de llamada que recibe un ReadResponse.
SnapshotSelectUICallback typedef
std::function< void(const SnapshotSelectUIResponse &)>
Define una devolución de llamada que puede recibir un SnapshotSelectUIResponse de ShowSelectUIOperation.

Funciones públicas

Commit(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback)
void
Confirma de manera asíncrona los datos proporcionados a la instantánea y actualiza los metadatos de esta con el objeto de metadatos proporcionado.
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
De manera síncrona, confirma los datos proporcionados a la instantánea y actualiza los metadatos de la instantánea con el objeto de metadatos proporcionado.
CommitBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
De manera síncrona, confirma los datos proporcionados a la instantánea y actualiza los metadatos de esta con el objeto de metadatos proporcionado.
Delete(const SnapshotMetadata & snapshot_metadata)
void
Borra la instantánea especificada.
FetchAll(FetchAllCallback callback)
void
Carga de forma asíncrona todos los datos de instantáneas del reproductor con sesión activa.
FetchAll(DataSource data_source, FetchAllCallback callback)
void
Carga de forma asíncrona todos los datos de instantáneas del reproductor con sesión activa.
FetchAllBlocking()
Carga de forma síncrona todos los datos de instantáneas del reproductor que está conectado en ese momento y muestra directamente el FetchAllResponse.
FetchAllBlocking(DataSource data_source)
Carga de forma síncrona todos los datos de instantáneas del reproductor que está conectado en ese momento y muestra directamente el FetchAllResponse.
FetchAllBlocking(Timeout timeout)
Carga de forma síncrona todos los datos de instantáneas del reproductor que está conectado en ese momento y muestra directamente el FetchAllResponse.
FetchAllBlocking(DataSource data_source, Timeout timeout)
Carga de forma síncrona todos los datos de instantáneas del reproductor que está conectado en ese momento y muestra directamente el FetchAllResponse.
GetMaxSize(MaxSizeCallback callback) const
void
De manera asíncrona, obtiene el tamaño máximo de datos y el tamaño máximo de la imagen de portada por instantánea en bytes.
GetMaxSizeBlocking() const
De manera síncrona, obtiene el tamaño máximo de los datos y el tamaño máximo de la imagen de portada por instantánea en bytes, lo que muestra directamente el MaxSizeResponse.
GetMaxSizeBlocking(Timeout timeout) const
De manera síncrona, obtiene el tamaño máximo de los datos y el tamaño máximo de la imagen de portada por instantánea en bytes, lo que muestra directamente el MaxSizeResponse.
Open(const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
Abre una instantánea de forma asíncrona con el nombre determinado.
Open(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
Obsoleto. data_source se ignora. En su lugar, usa Open(file_name, conflict_policy, callback).
Abre una instantánea de forma asíncrona con el nombre determinado.
OpenBlocking(const std::string & file_name, SnapshotConflictPolicy conflict_policy)
Abre de manera síncrona una instantánea con el nombre determinado.
OpenBlocking(Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
Abre de manera síncrona una instantánea con el nombre determinado.
OpenBlocking(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy) Obsoleto. data_source se ignora. En su lugar, usa OpenBlocking(file_name, conflict_policy).
Abre de manera síncrona una instantánea con el nombre determinado.
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy) Obsoleto. data_source se ignora. En su lugar, usa OpenBlocking(timeout, file_name, conflict_policy).
Abre de manera síncrona una instantánea con el nombre determinado.
Read(const SnapshotMetadata & snapshot_metadata, ReadCallback callback)
void
Lee una instantánea del disco de forma asíncrona y la copia en la memoria.
ReadBlocking(const SnapshotMetadata & snapshot_metadata)
De manera síncrona, lee una instantánea del disco y la copia en la memoria.
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
De manera síncrona, lee una instantánea del disco y la copia en la memoria.
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback)
void
Resuelve un conflicto de forma asíncrona usando los datos de la instantánea proporcionada.
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback)
void
Resuelve un conflicto de forma asíncrona utilizando los datos proporcionados.
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
Resuelve un conflicto de forma síncrona usando los datos de la instantánea proporcionada.
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Resuelve un conflicto de forma síncrona con los datos proporcionados.
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
Resuelve un conflicto de forma síncrona usando los datos de la instantánea proporcionada.
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Resuelve un conflicto de forma síncrona con los datos proporcionados.
ShowSelectUIOperation(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback)
void
Muestra la IU de instantáneas de manera asíncrona, lo que permite al reproductor seleccionar una instantánea o solicitar una nueva.
ShowSelectUIOperationBlocking(Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
Bloqueo de la versión de ShowSelectUIOperation.
ShowSelectUIOperationBlocking(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
Sobrecarga de ShowSelectUIOperationBlocking, que usa un tiempo de espera predeterminado de 10 años.

Structs

gpg::SnapshotManager::CommitResponse

Contiene los datos para una instantánea actualizada, junto con el estado de la respuesta.

gpg::SnapshotManager::FetchAllResponse

Contiene todos los datos de todas las instantáneas, junto con un estado de respuesta.

gpg::SnapshotManager::MaxSizeResponse

Contiene el tamaño máximo para los datos de la instantánea y la imagen de portada de la instantánea.

gpg::SnapshotManager::OpenResponse

Contiene los datos para una instantánea solicitada en particular junto con un estado de respuesta.

gpg::SnapshotManager::ReadResponse

Lee el estado de la respuesta y los datos de la instantánea que se muestran en una operación de lectura de instantáneas.

gpg::SnapshotManager::SnapshotSelectUIResponse

Data y ResponseStatus para la operación ShowSelectUIOperation.

Tipos públicos

CommitCallback

std::function< void(const CommitResponse &)> CommitCallback

Define un tipo de devolución de llamada que recibe un CommitResponse.

Este tipo de devolución de llamada se proporciona a las funciones Commit(*) y ResolveConflict(*) que aparecen a continuación.

FetchAllCallback

std::function< void(const FetchAllResponse &)> FetchAllCallback

Define un tipo de devolución de llamada que recibe un FetchAllResponse.

Este tipo de devolución de llamada se proporciona a las funciones FetchAll(*) que aparecen a continuación.

MaxSizeCallback

std::function< void(const MaxSizeResponse &)> MaxSizeCallback

Define un tipo de devolución de llamada que recibe un MaxSizeResponse.

Este tipo de devolución de llamada se proporciona a GetMaxSize.

OpenCallback

std::function< void(const OpenResponse &)> OpenCallback

Define un tipo de devolución de llamada que recibe un OpenResponse.

Este tipo de devolución de llamada se proporciona a las funciones Open(*) que aparecen a continuación.

ReadCallback

std::function< void(const ReadResponse &)> ReadCallback

Define un tipo de devolución de llamada que recibe un ReadResponse.

Este tipo de devolución de llamada se proporciona a las funciones Read(*) que aparecen a continuación.

SnapshotSelectUICallback

std::function< void(const SnapshotSelectUIResponse &)> SnapshotSelectUICallback

Define una devolución de llamada que puede recibir un SnapshotSelectUIResponse de ShowSelectUIOperation.

Funciones públicas

Confirmar

void Commit(
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > data,
  CommitCallback callback
)

Confirma de manera asíncrona los datos proporcionados a la instantánea y actualiza los metadatos de esta con el objeto de metadatos proporcionado.

Llama al CommitCallback proporcionado cuando se completa la operación.

CommitBlocking

CommitResponse CommitBlocking(
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

De manera síncrona, confirma los datos proporcionados a la instantánea y actualiza los metadatos de la instantánea con el objeto de metadatos proporcionado.

CommitBlocking

CommitResponse CommitBlocking(
  Timeout timeout,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

De manera síncrona, confirma los datos proporcionados a la instantánea y actualiza los metadatos de esta con el objeto de metadatos proporcionado.

Especifica timeout en milisegundos.

Borrar

void Delete(
  const SnapshotMetadata & snapshot_metadata
)

Borra la instantánea especificada.

Esta acción borrará los datos de la instantánea de forma local y en el servidor.

FetchAll

void FetchAll(
  FetchAllCallback callback
)

Carga de forma asíncrona todos los datos de instantáneas del reproductor con sesión activa.

Llama al FetchAllCallback proporcionado cuando se completa la operación. Si no especificas data_source, esta llamada a función será equivalente a llamar a FetchAll(DataSource data_source, FetchAllCallback callback), con data_source especificado como CACHE_OR_NETWORK..

FetchAll

void FetchAll(
  DataSource data_source,
  FetchAllCallback callback
)

Carga de forma asíncrona todos los datos de instantáneas del reproductor con sesión activa.

Llama al FetchAllCallback proporcionado cuando se completa la operación. Especifica data_source como CACHE_OR_NETWORK o NETWORK_ONLY.

FetchAllBlocking

FetchAllResponse FetchAllBlocking()

Carga de forma síncrona todos los datos de instantáneas del reproductor que está conectado en ese momento y muestra directamente el FetchAllResponse.

Si no especificas data_source ni timeout, esta llamada a función será equivalente a llamar a FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout), con data_source especificado como CACHE_OR_NETWORK y timeout como 10 años.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source
)

Carga de forma síncrona todos los datos de instantáneas del reproductor que está conectado en ese momento y muestra directamente el FetchAllResponse.

Especifica data_source como CACHE_OR_NETWORK o NETWORK_ONLY. Si no especificas timeout, esta llamada a función será equivalente a llamar a FetchAllBlocking FetchAllResponse(DataSource data_source, Timeout timeout), con el valor data_source especificado, y a timeout especificado como 10 años.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  Timeout timeout
)

Carga de forma síncrona todos los datos de instantáneas del reproductor que está conectado en ese momento y muestra directamente el FetchAllResponse.

Especifica timeout en milisegundos. Si no especificas data_source, esta llamada a función es equivalente a llamar a FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout), con data_source especificado como CACHE_OR_NETWORK y timeout con el valor especificado.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source,
  Timeout timeout
)

Carga de forma síncrona todos los datos de instantáneas del reproductor que está conectado en ese momento y muestra directamente el FetchAllResponse.

Especifica data_source como CACHE_OR_NETWORK o NETWORK_ONLY. Especifica timeout en milisegundos.

GetMaxSize

void GetMaxSize(
  MaxSizeCallback callback
) const 

De manera asíncrona, obtiene el tamaño máximo de datos y el tamaño máximo de la imagen de portada por instantánea en bytes.

Llama al MaxSizeCallback proporcionado cuando se completa la operación.

El tamaño máximo de los datos por instantánea garantizado es de 3 MB. Puede aumentar en el futuro.

El tamaño máximo de los datos por imagen de portada de la instantánea debe ser de al menos 800 KB. Puede aumentar en el futuro.

GetMaxSizeBlocking

MaxSizeResponse GetMaxSizeBlocking() const 

De manera síncrona, obtiene el tamaño máximo de los datos y el tamaño máximo de la imagen de portada por instantánea en bytes, lo que muestra directamente el MaxSizeResponse.

El tamaño máximo de los datos por instantánea garantizado es de 3 MB. Puede aumentar en el futuro.

El tamaño máximo de los datos por imagen de portada de la instantánea debe ser de al menos 800 KB. Puede aumentar en el futuro.

GetMaxSizeBlocking

MaxSizeResponse GetMaxSizeBlocking(
  Timeout timeout
) const 

De manera síncrona, obtiene el tamaño máximo de los datos y el tamaño máximo de la imagen de portada por instantánea en bytes, lo que muestra directamente el MaxSizeResponse.

El tamaño máximo de los datos por instantánea garantizado es de 3 MB. Puede aumentar en el futuro.

El tamaño máximo de los datos por imagen de portada de la instantánea debe ser de al menos 800 KB. Puede aumentar en el futuro.

Especifica timeout en milisegundos.

Abrir

void Open(
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy,
  OpenCallback callback
)

Abre una instantánea de forma asíncrona con el nombre determinado.

Se creará la instantánea especificada si aún no existe. Llama al OpenCallback proporcionado cuando se completa la operación.

Los nombres de las instantáneas deben tener entre 1 y 100 caracteres no reservados en la URL (a-z, A-Z, 0-9 o los símbolos "-", ".", "_" o "~").

Pueden producirse conflictos si otro dispositivo confirma una instantánea entre la carga y la confirmación de una instantánea en el dispositivo actual. Debes resolver estos conflictos. Consulta OpenResponse más arriba para obtener más detalles sobre los conflictos.

conflict_policy puede tener uno de los siguientes valores:

SnapshotConflictPolicy::MANUAL: En caso de conflicto, la respuesta tiene el estado OpenResponse::VALID_WITH_CONFLICT. Debes resolver el conflicto con SnapshotManager::ResolveConflict. Es posible ver varios conficts en una fila, así que verifica cada vez que llames a Open. Esta es la única política en la que verás este conflicto. El resto se encarga de la resolución. Esta política garantiza que no se pierda ningún cambio del estado del juego guardado.

SnapshotConflictPolicy::LONGEST_PLAYTIME: En caso de conflicto, se usará la instantánea con el mayor valor de tiempo de juego. Esta política es una buena opción si la duración del tiempo de juego es un valor razonable para lo "mejor". y guardar el juego. Ten en cuenta que, para que se aplique esta política, debes usar SnapshotMetadataChange::Builder::SetPlayedTime() cuando guardes juegos.

SnapshotConflictPolicy::LAST_KNOWN_GOOD: En caso de conflicto, se usará la instantánea base. Esta política es una opción razonable si tu juego requiere estabilidad de los datos de instantáneas. Esta política garantiza que el jugador solo vea las escrituras que no son impugnadas, lo que garantiza que todos los clientes converjan. Nota: Antes SnapshotManager::BASE_WINS

SnapshotConflictPolicy::MOST_RECENTLY_MODIFIED: En caso de conflicto, se usará el control remoto. Esta política es una opción razonable si tu juego puede tolerar jugadores que usan varios dispositivos para engañar sus propios cambios. Debido a que esta política elige los datos más recientes de manera ciega, es posible que se pierdan los cambios del jugador. Nota: Antes SnapshotManager::REMOTE_WINS

SnapshotConflictPolicy::HIGHEST_PROGRESSEn caso de conflicto, se usará la instantánea con el valor de progreso más alto. En caso de empate, en su lugar se elegirá la última instantánea buena conocida. Esta política es una buena opción si tu juego usa el valor de progreso de la instantánea para determinar el mejor juego guardado. Ten en cuenta que, para que se aplique esta política, debes usar SnapshotMetadataChange::Builder::SetPlayedTime() cuando guardes juegos.

Abrir

void Open(
  DataSource data_source,
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy,
  OpenCallback callback
)

Abre una instantánea de forma asíncrona con el nombre determinado.

Obsoleto. data_source se ignora. En su lugar, usa Open(file_name, conflict_policy, callback).

OpenBlocking

OpenResponse OpenBlocking(
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy
)

Abre de manera síncrona una instantánea con el nombre determinado.

Se creará la instantánea especificada si aún no existe.

Consulta Abrir para obtener más información.

OpenBlocking

OpenResponse OpenBlocking(
  Timeout timeout,
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy
)

Abre de manera síncrona una instantánea con el nombre determinado.

Se creará la instantánea especificada si aún no existe.

Especifica timeout en milisegundos.

Consulta Abrir para obtener más información.

OpenBlocking

OpenResponse OpenBlocking(
  DataSource data_source,
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy
)

Abre de manera síncrona una instantánea con el nombre determinado.

Obsoleto. data_source se ignora. En su lugar, usa OpenBlocking(file_name, conflict_policy).

OpenBlocking

OpenResponse OpenBlocking(
  DataSource data_source,
  Timeout timeout,
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy
)

Abre de manera síncrona una instantánea con el nombre determinado.

Obsoleto. data_source se ignora. En su lugar, usa OpenBlocking(timeout, file_name, conflict_policy).

Leer

void Read(
  const SnapshotMetadata & snapshot_metadata,
  ReadCallback callback
)

Lee una instantánea del disco de forma asíncrona y la copia en la memoria.

Los datos se pasan por valor para facilitar su modificación. Cada llamada a esta función da como resultado una lectura completa. Esto significa que, por lo general, es mejor leer una instantánea una sola vez. Llama al ReadCallback proporcionado cuando se completa la operación.

ReadBlocking

ReadResponse ReadBlocking(
  const SnapshotMetadata & snapshot_metadata
)

De manera síncrona, lee una instantánea del disco y la copia en la memoria.

Los datos se pasan por valor para facilitar su modificación. Cada llamada a esta función da como resultado una lectura completa. Esto significa que, por lo general, es mejor leer una instantánea una sola vez. Si no especificas timeout, esta llamada a función será equivalente a llamar a ReadBlocking ReadBlocking(Timeout timeout, const SnapshotMetadata& snapshot_metadata), con timeout especificado como 10 años.

ReadBlocking

ReadResponse ReadBlocking(
  Timeout timeout,
  const SnapshotMetadata & snapshot_metadata
)

De manera síncrona, lee una instantánea del disco y la copia en la memoria.

Los datos se pasan por valor para facilitar su modificación. Cada llamada a esto realiza una lectura completa, por lo que, por lo general, solo se leen una instantánea una vez. Especifica timeout en milisegundos.

ResolveConflict

void ResolveConflict(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  OpenCallback callback
)

Resuelve un conflicto de forma asíncrona usando los datos de la instantánea proporcionada.

Esto reemplazará los datos en el servidor con la instantánea especificada. Ten en cuenta que es posible que esta operación genere un conflicto, en cuyo caso la resolución debe repetirse.

Si llamas a este método con una instantánea que ya se confirmó o que no se abrió mediante Open, fallará el estado BaseStatus::ERROR_INTERNAL.

Llama al OpenCallback proporcionado cuando se completa la operación.

ResolveConflict

void ResolveConflict(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents,
  OpenCallback callback
)

Resuelve un conflicto de forma asíncrona utilizando los datos proporcionados.

Esto reemplazará los datos en el servidor con los cambios de metadatos especificados y contents. Ten en cuenta que es posible que esta operación genere un conflicto, en cuyo caso la resolución debe repetirse.

Los valores que no se incluyan en el cambio de metadatos se resolverán en la versión que se encuentra actualmente en el servidor.

Ten en cuenta que el tamaño total de contents no puede exceder el maxDataSize que proporciona GetMaxSize.

Si llamas a este método con una instantánea que ya se confirmó o que no se abrió mediante Open, fallará el estado BaseStatus::ERROR_INTERNAL.

Llama al OpenCallback proporcionado cuando se completa la operación.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata
)

Resuelve un conflicto de forma síncrona usando los datos de la instantánea proporcionada.

Esto reemplazará los datos en el servidor con la instantánea especificada. Ten en cuenta que es posible que esta operación genere un conflicto, en cuyo caso la resolución debe repetirse.

Si llamas a este método con una instantánea que ya se confirmó o que no se abrió mediante Open, fallará el estado BaseStatus::ERROR_INTERNAL.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

Resuelve un conflicto de forma síncrona con los datos proporcionados.

Esto reemplazará los datos en el servidor con los cambios de metadatos especificados y contents. Ten en cuenta que es posible que esta operación genere un conflicto, en cuyo caso la resolución debe repetirse.

Los valores que no se incluyan en el cambio de metadatos se resolverán en la versión que se encuentra actualmente en el servidor.

Ten en cuenta que el tamaño total de contents no puede exceder el maxDataSize que proporciona GetMaxSize.

Si llamas a este método con una instantánea que ya se confirmó o que no se abrió mediante Open, fallará el estado BaseStatus::ERROR_INTERNAL.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  Timeout timeout,
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata
)

Resuelve un conflicto de forma síncrona usando los datos de la instantánea proporcionada.

Esto reemplazará los datos en el servidor con la instantánea especificada. Ten en cuenta que es posible que esta operación genere un conflicto, en cuyo caso la resolución debe repetirse.

Si llamas a este método con una instantánea que ya se confirmó o que no se abrió mediante Open, fallará el estado BaseStatus::ERROR_INTERNAL.

Especifica timeout en milisegundos.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  Timeout timeout,
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

Resuelve un conflicto de forma síncrona con los datos proporcionados.

Esto reemplazará los datos en el servidor con los cambios de metadatos especificados y contents. Ten en cuenta que es posible que esta operación genere un conflicto, en cuyo caso la resolución debe repetirse.

Los valores que no se incluyan en el cambio de metadatos se resolverán en la versión que se encuentra actualmente en el servidor.

Ten en cuenta que el tamaño total de contents no puede exceder el maxDataSize que proporciona GetMaxSize.

Si llamas a este método con una instantánea que ya se confirmó o que no se abrió mediante Open, fallará el estado BaseStatus::ERROR_INTERNAL.

Especifica timeout en milisegundos.

ShowSelectUIOperation

void ShowSelectUIOperation(
  bool allow_create,
  bool allow_delete,
  uint32_t max_snapshots,
  const std::string & title,
  SnapshotSelectUICallback callback
)

Muestra la IU de instantáneas de manera asíncrona, lo que permite al reproductor seleccionar una instantánea o solicitar una nueva.

Cuando finaliza, la instantánea seleccionada o la nueva solicitud de instantánea se muestran a través de SnapshotSelectUICallback.

ShowSelectUIOperationBlocking

SnapshotSelectUIResponse ShowSelectUIOperationBlocking(
  Timeout timeout,
  bool allow_create,
  bool allow_delete,
  uint32_t max_snapshots,
  const std::string & title
)

Bloqueo de la versión de ShowSelectUIOperation.

Permite que el emisor especifique un tiempo de espera en ms. Después de que transcurre el tiempo especificado, la función muestra ERROR_TIMEOUT.

ShowSelectUIOperationBlocking

SnapshotSelectUIResponse ShowSelectUIOperationBlocking(
  bool allow_create,
  bool allow_delete,
  uint32_t max_snapshots,
  const std::string & title
)

Sobrecarga de ShowSelectUIOperationBlocking, que usa un tiempo de espera predeterminado de 10 años.