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
|
typedefstd::function< void(const CommitResponse &)>
Definiert einen Callback-Typ, der eine CommitResponse empfängt. |
FetchAllCallback
|
typedefstd::function< void(const FetchAllResponse &)>
Definiert einen Callback-Typ, der ein FetchAllResponse erhält. |
MaxSizeCallback
|
typedefstd::function< void(const MaxSizeResponse &)>
Definiert einen Callback-Typ, der ein MaxSizeResponse erhält. |
OpenCallback
|
typedefstd::function< void(const OpenResponse &)>
Definiert einen Callback-Typ, der eine OpenResponse empfängt. |
ReadCallback
|
typedefstd::function< void(const ReadResponse &)>
Definiert einen Callback-Typ, der ein ReadResponse erhält. |
SnapshotSelectUICallback
|
typedefstd::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
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:: |
Enthält die Daten für einen aktualisierten Snapshot zusammen mit einem Antwortstatus. |
gpg:: |
Enthält alle Daten für alle Snapshots zusammen mit einem Antwortstatus. |
gpg:: |
Enthält die maximale Größe für Snapshot-Daten und Snapshot-Titelbilder. |
gpg:: |
Enthält die Daten für einen bestimmten angeforderten Snapshot zusammen mit einem Antwortstatus. |
gpg:: |
Liest den Antwortstatus und Snapshot-Daten, die von einem Snapshot-Lesevorgang zurückgegeben wurden. |
gpg:: |
|
Ö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_PROGRESS
Im 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.