gpg::SnapshotManager

#include <snapshot_manager.h>

Ruft verschiedene Snapshot-bezogene Daten ab und legt sie fest.

Zusammenfassung

Wenn die App bei der Authentifizierung keine Snapshots aktiviert (siehe GameServices::Builder::EnableSnapshots), schlagen die meisten Methoden in SnapshotManager fehl.

Öffentliche Typen

CommitCallback typedef
std::function< void(const CommitResponse &)>
Definiert einen Callback-Typ, der eine CommitResponse empfängt.
FetchAllCallback typedef
std::function< void(const FetchAllResponse &)>
Definiert einen Callback-Typ, der ein FetchAllResponse erhält.
MaxSizeCallback typedef
std::function< void(const MaxSizeResponse &)>
Definiert einen Callback-Typ, der ein MaxSizeResponse erhält.
OpenCallback typedef
std::function< void(const OpenResponse &)>
Definiert einen Callback-Typ, der eine OpenResponse empfängt.
ReadCallback typedef
std::function< void(const ReadResponse &)>
Definiert einen Callback-Typ, der ein ReadResponse erhält.
SnapshotSelectUICallback typedef
std::function< void(const SnapshotSelectUIResponse &)>
Definiert einen Callback, der einen SnapshotSelectUIResponse von ShowSelectUIOperation empfangen kann.

Öffentliche Funktionen

Commit(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback)
void
Übernimmt asynchron die für den Snapshot bereitgestellten Daten und aktualisiert die Metadaten des Snapshots mithilfe des bereitgestellten Metadatenobjekts.
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Übernimmt ein synchrones Commit der Daten, die dem Snapshot bereitgestellt werden, und aktualisiert die Metadaten des Snapshots mithilfe des bereitgestellten Metadatenobjekts.
CommitBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Übernimmt synchron die Daten, die dem Snapshot bereitgestellt werden, und aktualisiert die Metadaten des Snapshots mithilfe des bereitgestellten Metadatenobjekts.
Delete(const SnapshotMetadata & snapshot_metadata)
void
Löscht den angegebenen Snapshot.
FetchAll(FetchAllCallback callback)
void
Lädt asynchron alle Snapshot-Daten für den derzeit angemeldeten Player
FetchAll(DataSource data_source, FetchAllCallback callback)
void
Lädt asynchron alle Snapshot-Daten für den derzeit angemeldeten Player
FetchAllBlocking()
Lädt synchron alle Snapshot-Daten für den derzeit angemeldeten Player und gibt direkt FetchAllResponse zurück.
FetchAllBlocking(DataSource data_source)
Lädt synchron alle Snapshot-Daten für den derzeit angemeldeten Player und gibt direkt FetchAllResponse zurück.
FetchAllBlocking(Timeout timeout)
Lädt synchron alle Snapshot-Daten für den derzeit angemeldeten Player und gibt direkt FetchAllResponse zurück.
FetchAllBlocking(DataSource data_source, Timeout timeout)
Lädt synchron alle Snapshot-Daten für den derzeit angemeldeten Player und gibt direkt FetchAllResponse zurück.
GetMaxSize(MaxSizeCallback callback) const
void
Ruft asynchron die maximale Datengröße und die maximale Titelbildgröße pro Snapshot in Byte ab.
GetMaxSizeBlocking() const
Ruft synchron die maximale Datengröße und die maximale Titelbildgröße pro Snapshot in Byte ab und gibt direkt MaxSizeResponse zurück.
GetMaxSizeBlocking(Timeout timeout) const
Ruft synchron die maximale Datengröße und die maximale Titelbildgröße pro Snapshot in Byte ab und gibt direkt MaxSizeResponse zurück.
Open(const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
Öffnet asynchron einen Snapshot mit dem angegebenen Namen.
Open(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
Eingestellt. data_source wird ignoriert. Verwenden Sie stattdessen Open(file_name, conflict_policy, callback).
Öffnet asynchron einen Snapshot mit dem angegebenen Namen.
OpenBlocking(const std::string & file_name, SnapshotConflictPolicy conflict_policy)
Öffnet synchron einen Snapshot mit dem angegebenen Namen.
OpenBlocking(Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
Öffnet synchron einen Snapshot mit dem angegebenen Namen.
OpenBlocking(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy) Eingestellt. data_source wird ignoriert. Verwenden Sie stattdessen OpenBlocking(file_name, conflict_policy).
Öffnet synchron einen Snapshot mit dem angegebenen Namen.
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy) Eingestellt. data_source wird ignoriert. Verwenden Sie stattdessen OpenBlocking(timeout, file_name, conflict_policy).
Öffnet synchron einen Snapshot mit dem angegebenen Namen.
Read(const SnapshotMetadata & snapshot_metadata, ReadCallback callback)
void
Liest einen Snapshot asynchron vom Laufwerk und kopiert ihn in den Arbeitsspeicher.
ReadBlocking(const SnapshotMetadata & snapshot_metadata)
Liest einen Snapshot synchron vom Laufwerk und kopiert ihn in den Arbeitsspeicher.
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
Liest einen Snapshot synchron vom Laufwerk und kopiert ihn in den Arbeitsspeicher.
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback)
void
Löst einen Konflikt asynchron mithilfe der Daten aus dem bereitgestellten Snapshot.
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback)
void
Löst einen Konflikt mithilfe der bereitgestellten Daten asynchron.
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
Löst synchron einen Konflikt mithilfe der Daten aus dem bereitgestellten Snapshot.
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Löst synchron einen Konflikt mithilfe der bereitgestellten Daten.
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
Löst synchron einen Konflikt mithilfe der Daten aus dem bereitgestellten Snapshot.
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Löst synchron einen Konflikt mithilfe der bereitgestellten Daten.
ShowSelectUIOperation(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback)
void
Zeigt die Snapshot-Benutzeroberfläche asynchron an, sodass der Player eine Momentaufnahme auswählen oder einen neuen Snapshot anfordern kann
ShowSelectUIOperationBlocking(Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
Blockierende Version von ShowSelectUIOperation.
ShowSelectUIOperationBlocking(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
Überlastung von ShowSelectUIOperationBlocking, das ein Standardzeitlimit von 10 Jahren verwendet.

Strukturen

gpg::SnapshotManager::CommitResponse

Enthält die Daten für einen aktualisierten Snapshot zusammen mit einem Antwortstatus.

gpg::SnapshotManager::FetchAllResponse

Enthält alle Daten für alle Snapshots zusammen mit einem Antwortstatus.

gpg::SnapshotManager::MaxSizeResponse

Enthält die maximale Größe für Snapshot-Daten und Snapshot-Titelbilder.

gpg::SnapshotManager::OpenResponse

Enthält die Daten für einen bestimmten angeforderten Snapshot zusammen mit einem Antwortstatus.

gpg::SnapshotManager::ReadResponse

Liest den Antwortstatus und Snapshot-Daten, die von einem Snapshot-Lesevorgang zurückgegeben wurden.

gpg::SnapshotManager::SnapshotSelectUIResponse

Data und ResponseStatus für den ShowSelectUIOperation-Vorgang.

Öffentliche Typen

CommitCallback

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

Definiert einen Callback-Typ, der eine CommitResponse empfängt.

Dieser Callback-Typ wird für die unten aufgeführten Funktionen Commit(*) und ResolveConflict(*) bereitgestellt.

FetchAllCallback

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

Definiert einen Callback-Typ, der ein FetchAllResponse erhält.

Dieser Callback-Typ wird für die unten aufgeführten FetchAll(*)-Funktionen bereitgestellt.

MaxSizeCallback

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

Definiert einen Callback-Typ, der ein MaxSizeResponse erhält.

Dieser Callback-Typ wird für GetMaxSize bereitgestellt.

OpenCallback

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

Definiert einen Callback-Typ, der eine OpenResponse empfängt.

Dieser Callback-Typ wird für die unten aufgeführten Open(*)-Funktionen bereitgestellt.

ReadCallback

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

Definiert einen Callback-Typ, der ein ReadResponse erhält.

Dieser Callback-Typ wird für die unten aufgeführten Read(*)-Funktionen bereitgestellt.

SnapshotSelectUICallback

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

Definiert einen Callback, der einen SnapshotSelectUIResponse von ShowSelectUIOperation empfangen kann.

Öffentliche Funktionen

Commit durchführen

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

Übernimmt asynchron die für den Snapshot bereitgestellten Daten und aktualisiert die Metadaten des Snapshots mithilfe des bereitgestellten Metadatenobjekts.

Ruft nach Abschluss des Vorgangs die angegebene CommitCallback auf.

CommitBlocking

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

Übernimmt ein synchrones Commit der Daten, die dem Snapshot bereitgestellt werden, und aktualisiert die Metadaten des Snapshots mithilfe des bereitgestellten Metadatenobjekts.

CommitBlocking

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

Übernimmt synchron die Daten, die dem Snapshot bereitgestellt werden, und aktualisiert die Metadaten des Snapshots mithilfe des bereitgestellten Metadatenobjekts.

Geben Sie timeout in Millisekunden an.

Löschen

void Delete(
  const SnapshotMetadata & snapshot_metadata
)

Löscht den angegebenen Snapshot.

Dadurch werden die Daten des Snapshots lokal und auf dem Server gelöscht.

FetchAll

void FetchAll(
  FetchAllCallback callback
)

Lädt asynchron alle Snapshot-Daten für den derzeit angemeldeten Player

Ruft nach Abschluss des Vorgangs die angegebene FetchAllCallback auf. Wenn Sie data_source nicht angeben, entspricht dieser Funktionsaufruf dem Aufruf von FetchAll(DataSource data_source, FetchAllCallback callback), wobei data_source als CACHE_OR_NETWORK. angegeben ist

FetchAll

void FetchAll(
  DataSource data_source,
  FetchAllCallback callback
)

Lädt asynchron alle Snapshot-Daten für den derzeit angemeldeten Player

Ruft nach Abschluss des Vorgangs die angegebene FetchAllCallback auf. Geben Sie data_source als CACHE_OR_NETWORK oder NETWORK_ONLY an.

FetchAllBlocking

FetchAllResponse FetchAllBlocking()

Lädt synchron alle Snapshot-Daten für den derzeit angemeldeten Player und gibt direkt FetchAllResponse zurück.

Wenn Sie weder data_source noch timeout angeben, entspricht dieser Funktionsaufruf dem Aufruf von FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout), wobei data_source als CACHE_OR_NETWORK und timeout als 10 Jahre angegeben wird.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source
)

Lädt synchron alle Snapshot-Daten für den derzeit angemeldeten Player und gibt direkt FetchAllResponse zurück.

Geben Sie data_source als CACHE_OR_NETWORK oder NETWORK_ONLY an. Wenn Sie timeout nicht angeben, entspricht dieser Funktionsaufruf dem Aufruf von FetchAllBlocking FetchAllResponse(DataSource data_source, Timeout timeout) mit dem von Ihnen angegebenen data_source-Wert und dem timeout-Wert als 10 Jahre.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  Timeout timeout
)

Lädt synchron alle Snapshot-Daten für den derzeit angemeldeten Player und gibt direkt FetchAllResponse zurück.

Geben Sie timeout in Millisekunden an. Wenn Sie data_source nicht angeben, entspricht dieser Funktionsaufruf dem Aufruf von FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout), wobei data_source als CACHE_OR_NETWORK festgelegt ist und timeout den angegebenen Wert enthält.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source,
  Timeout timeout
)

Lädt synchron alle Snapshot-Daten für den derzeit angemeldeten Player und gibt direkt FetchAllResponse zurück.

Geben Sie data_source als CACHE_OR_NETWORK oder NETWORK_ONLY an. Geben Sie timeout in Millisekunden an.

GetMaxSize

void GetMaxSize(
  MaxSizeCallback callback
) const 

Ruft asynchron die maximale Datengröße und die maximale Titelbildgröße pro Snapshot in Byte ab.

Ruft nach Abschluss des Vorgangs die angegebene MaxSizeCallback auf.

Die maximale Datengröße pro Snapshot beträgt garantiert mindestens 3 MB. Kann in Zukunft ansteigen.

Die maximale Datengröße pro Snapshot-Titelbild beträgt garantiert mindestens 800 KB. Kann in Zukunft ansteigen.

GetMaxSizeBlocking

MaxSizeResponse GetMaxSizeBlocking() const 

Ruft synchron die maximale Datengröße und die maximale Titelbildgröße pro Snapshot in Byte ab und gibt direkt MaxSizeResponse zurück.

Die maximale Datengröße pro Snapshot beträgt garantiert mindestens 3 MB. Kann in Zukunft ansteigen.

Die maximale Datengröße pro Snapshot-Titelbild beträgt garantiert mindestens 800 KB. Kann in Zukunft ansteigen.

GetMaxSizeBlocking

MaxSizeResponse GetMaxSizeBlocking(
  Timeout timeout
) const 

Ruft synchron die maximale Datengröße und die maximale Titelbildgröße pro Snapshot in Byte ab und gibt direkt MaxSizeResponse zurück.

Die maximale Datengröße pro Snapshot beträgt garantiert mindestens 3 MB. Kann in Zukunft ansteigen.

Die maximale Datengröße pro Snapshot-Titelbild beträgt garantiert mindestens 800 KB. Kann in Zukunft ansteigen.

Geben Sie timeout in Millisekunden an.

Offen

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

Öffnet asynchron einen Snapshot mit dem angegebenen Namen.

Der angegebene Snapshot wird erstellt, falls er noch nicht vorhanden ist. Ruft nach Abschluss des Vorgangs die angegebene OpenCallback auf.

Snapshot-Namen müssen 1 bis 100 Zeichen lang sein, die nicht für URLs reserviert sind (a–z, A–Z, 0–9 oder die Symbole „-“, „.“, „_“ oder „~“).

Konflikte können auftreten, wenn ein anderes Gerät einen Snapshot zwischen dem Laden und dem Commit eines Snapshots auf dem aktuellen Gerät zuweist. Diese Konflikte müssen Sie lösen. Weitere Informationen zu Konflikten finden Sie oben unter OpenResponse.

conflict_policy kann einer der folgenden Werte sein:

SnapshotConflictPolicy::MANUAL: Im Falle eines Konflikts hat die Antwort den Status OpenResponse::VALID_WITH_CONFLICT. Sie müssen den Konflikt mithilfe von SnapshotManager::ResolveConflict lösen. Es ist möglich, dass mehrere aufeinanderfolgende Probleme auftreten. Prüfen Sie daher jedes Mal, wenn Sie Open anrufen. Dies ist die einzige Richtlinie, bei der der Konflikt auftritt. Der Rest erledigt das für Sie. Mit dieser Richtlinie wird sichergestellt, dass keine Änderungen am Status des gespeicherten Spiels verloren gehen.

SnapshotConflictPolicy::LONGEST_PLAYTIME: Im Falle eines Konflikts wird der Snapshot mit dem größten Spielzeitwert verwendet. Diese Richtlinie ist eine gute Wahl, wenn die Spieldauer ein angemessenes Maß für das „beste“ gespeicherte Spiel ist. Beachte, dass du beim Speichern von Spielen SnapshotMetadataChange::Builder::SetPlayedTime() verwenden musst, damit diese Richtlinie aussagekräftig ist.

SnapshotConflictPolicy::LAST_KNOWN_GOOD: Im Falle eines Konflikts wird der Basis-Snapshot verwendet. Diese Richtlinie ist eine vernünftige Wahl, wenn Ihr Spiel Stabilität aus den Snapshot-Daten erfordert. Mit dieser Richtlinie wird sichergestellt, dass nur Schreibvorgänge, die nicht angefochten werden, vom Player gesehen werden. Dadurch wird garantiert, dass alle Clients konvergieren. Hinweis: vorher SnapshotManager::BASE_WINS

SnapshotConflictPolicy::MOST_RECENTLY_MODIFIED: Im Falle eines Konflikts wird die Fernbedienung verwendet. Diese Richtlinie ist eine vernünftige Wahl, wenn Ihr Spiel es tolerieren kann, dass Spieler auf mehreren Geräten ihre eigenen Änderungen überschreiben. Da diese Richtlinie blind die aktuellsten Daten auswählt, können die Änderungen eines Spielers verloren gehen. Hinweis: vorher SnapshotManager::REMOTE_WINS

SnapshotConflictPolicy::HIGHEST_PROGRESSIm Falle eines Konflikts wird der Snapshot mit dem höchsten Fortschrittswert verwendet. Bei einem Gleichstand wird stattdessen der letzte als funktionierend bekannte Snapshot ausgewählt. Diese Richtlinie ist eine gute Wahl, wenn Ihr Spiel anhand des Fortschrittswerts aus der Momentaufnahme das am besten gespeicherte Spiel ermittelt. Beachte, dass du beim Speichern von Spielen SnapshotMetadataChange::Builder::SetPlayedTime() verwenden musst, damit diese Richtlinie aussagekräftig ist.

Offen

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

Öffnet asynchron einen Snapshot mit dem angegebenen Namen.

Eingestellt. data_source wird ignoriert. Verwenden Sie stattdessen Open(file_name, conflict_policy, callback).

OpenBlocking

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

Öffnet synchron einen Snapshot mit dem angegebenen Namen.

Der angegebene Snapshot wird erstellt, falls er noch nicht vorhanden ist.

Weitere Informationen finden Sie unter Öffnen.

OpenBlocking

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

Öffnet synchron einen Snapshot mit dem angegebenen Namen.

Der angegebene Snapshot wird erstellt, falls er noch nicht vorhanden ist.

Geben Sie timeout in Millisekunden an.

Weitere Informationen finden Sie unter Öffnen.

OpenBlocking

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

Öffnet synchron einen Snapshot mit dem angegebenen Namen.

Eingestellt. data_source wird ignoriert. Verwenden Sie stattdessen OpenBlocking(file_name, conflict_policy).

OpenBlocking

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

Öffnet synchron einen Snapshot mit dem angegebenen Namen.

Eingestellt. data_source wird ignoriert. Verwenden Sie stattdessen OpenBlocking(timeout, file_name, conflict_policy).

Lesen

void Read(
  const SnapshotMetadata & snapshot_metadata,
  ReadCallback callback
)

Liest einen Snapshot asynchron vom Laufwerk und kopiert ihn in den Arbeitsspeicher.

Die Daten werden zur einfacheren Änderung wertbezogen zurückgegeben. Jeder Aufruf dieser Funktion führt zu einem vollständigen Lesevorgang. Daher ist es in der Regel am besten, einen Snapshot nur einmal zu lesen. Ruft nach Abschluss des Vorgangs die angegebene ReadCallback auf.

ReadBlocking

ReadResponse ReadBlocking(
  const SnapshotMetadata & snapshot_metadata
)

Liest einen Snapshot synchron vom Laufwerk und kopiert ihn in den Arbeitsspeicher.

Die Daten werden zur einfacheren Änderung wertbezogen zurückgegeben. Jeder Aufruf dieser Funktion führt zu einem vollständigen Lesevorgang. Daher ist es in der Regel am besten, einen Snapshot nur einmal zu lesen. Wenn Sie timeout nicht angeben, entspricht dieser Funktionsaufruf dem Aufruf von ReadBlocking ReadBlocking(Timeout timeout, const SnapshotMetadata& snapshot_metadata), wobei für timeout 10 Jahre angegeben sind.

ReadBlocking

ReadResponse ReadBlocking(
  Timeout timeout,
  const SnapshotMetadata & snapshot_metadata
)

Liest einen Snapshot synchron vom Laufwerk und kopiert ihn in den Arbeitsspeicher.

Die Daten werden zur einfacheren Änderung wertbezogen zurückgegeben. Bei jedem Aufruf wird ein vollständiger Lesevorgang ausgeführt, sodass ein Snapshot normalerweise nur einmal gelesen wird. Geben Sie timeout in Millisekunden an.

ResolveConflict

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

Löst einen Konflikt asynchron mithilfe der Daten aus dem bereitgestellten Snapshot.

Dadurch werden die Daten auf dem Server durch den angegebenen Snapshot ersetzt. Beachten Sie, dass dieser Vorgang selbst zu einem Konflikt führen kann. In diesem Fall sollte die Lösung wiederholt werden.

Der Aufruf dieser Methode mit einem Snapshot, für den bereits ein Commit durchgeführt wurde oder der nicht über Open geöffnet wurde, schlägt mit dem Status BaseStatus::ERROR_INTERNAL fehl.

Ruft nach Abschluss des Vorgangs die angegebene OpenCallback auf.

ResolveConflict

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

Löst einen Konflikt mithilfe der bereitgestellten Daten asynchron.

Dadurch werden die Daten auf dem Server durch die angegebenen Metadatenänderungen und contents ersetzt. Beachten Sie, dass dieser Vorgang selbst zu einem Konflikt führen kann. In diesem Fall sollte die Lösung wiederholt werden.

Werte, die nicht in der Metadatenänderung enthalten sind, werden in die Version aufgelöst, die sich derzeit auf dem Server befindet.

Die Gesamtgröße von contents darf den von GetMaxSize angegebenen Wert für maxDataSize nicht überschreiten.

Der Aufruf dieser Methode mit einem Snapshot, für den bereits ein Commit durchgeführt wurde oder der nicht über Open geöffnet wurde, schlägt mit dem Status BaseStatus::ERROR_INTERNAL fehl.

Ruft nach Abschluss des Vorgangs die angegebene OpenCallback auf.

ResolveConflictBlocking

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

Löst synchron einen Konflikt mithilfe der Daten aus dem bereitgestellten Snapshot.

Dadurch werden die Daten auf dem Server durch den angegebenen Snapshot ersetzt. Beachten Sie, dass dieser Vorgang selbst zu einem Konflikt führen kann. In diesem Fall sollte die Lösung wiederholt werden.

Der Aufruf dieser Methode mit einem Snapshot, für den bereits ein Commit durchgeführt wurde oder der nicht über Open geöffnet wurde, schlägt mit dem Status BaseStatus::ERROR_INTERNAL fehl.

ResolveConflictBlocking

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

Löst synchron einen Konflikt mithilfe der bereitgestellten Daten.

Dadurch werden die Daten auf dem Server durch die angegebenen Metadatenänderungen und contents ersetzt. Beachten Sie, dass dieser Vorgang selbst zu einem Konflikt führen kann. In diesem Fall sollte die Lösung wiederholt werden.

Werte, die nicht in der Metadatenänderung enthalten sind, werden in die Version aufgelöst, die sich derzeit auf dem Server befindet.

Die Gesamtgröße von contents darf den von GetMaxSize angegebenen Wert für maxDataSize nicht überschreiten.

Der Aufruf dieser Methode mit einem Snapshot, für den bereits ein Commit durchgeführt wurde oder der nicht über Open geöffnet wurde, schlägt mit dem Status BaseStatus::ERROR_INTERNAL fehl.

ResolveConflictBlocking

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

Löst synchron einen Konflikt mithilfe der Daten aus dem bereitgestellten Snapshot.

Dadurch werden die Daten auf dem Server durch den angegebenen Snapshot ersetzt. Beachten Sie, dass dieser Vorgang selbst zu einem Konflikt führen kann. In diesem Fall sollte die Lösung wiederholt werden.

Der Aufruf dieser Methode mit einem Snapshot, für den bereits ein Commit durchgeführt wurde oder der nicht über Open geöffnet wurde, schlägt mit dem Status BaseStatus::ERROR_INTERNAL fehl.

Geben Sie timeout in Millisekunden an.

ResolveConflictBlocking

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

Löst synchron einen Konflikt mithilfe der bereitgestellten Daten.

Dadurch werden die Daten auf dem Server durch die angegebenen Metadatenänderungen und contents ersetzt. Beachten Sie, dass dieser Vorgang selbst zu einem Konflikt führen kann. In diesem Fall sollte die Lösung wiederholt werden.

Werte, die nicht in der Metadatenänderung enthalten sind, werden in die Version aufgelöst, die sich derzeit auf dem Server befindet.

Die Gesamtgröße von contents darf den von GetMaxSize angegebenen Wert für maxDataSize nicht überschreiten.

Der Aufruf dieser Methode mit einem Snapshot, für den bereits ein Commit durchgeführt wurde oder der nicht über Open geöffnet wurde, schlägt mit dem Status BaseStatus::ERROR_INTERNAL fehl.

Geben Sie timeout in Millisekunden an.

ShowSelectUIOperation

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

Zeigt die Snapshot-Benutzeroberfläche asynchron an, sodass der Player eine Momentaufnahme auswählen oder einen neuen Snapshot anfordern kann

Nach Abschluss werden der ausgewählte Snapshot oder die neue Snapshot-Anfrage über SnapshotSelectUICallback zurückgegeben.

ShowSelectUIOperationBlocking

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

Blockierende Version von ShowSelectUIOperation.

Ermöglicht dem Aufrufer, ein Zeitlimit in ms anzugeben. Nach Ablauf der angegebenen Zeit gibt die Funktion ERROR_TIMEOUT zurück.

ShowSelectUIOperationBlocking

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

Überlastung von ShowSelectUIOperationBlocking, das ein Standardzeitlimit von 10 Jahren verwendet.