gpg:: SnapshotManager
#include <snapshot_manager.h>
Mendapatkan dan menetapkan berbagai data terkait snapshot.
Ringkasan
Jika aplikasi tidak mengaktifkan snapshot pada waktu autentikasi (lihat GameServices::Builder::EnableSnapshots), sebagian besar metode di SnapshotManager
akan gagal.
Jenis publik |
|
---|---|
CommitCallback
|
typedefstd::function< void(const CommitResponse &)>
Menentukan jenis callback yang menerima CommitResponse . |
FetchAllCallback
|
typedefstd::function< void(const FetchAllResponse &)>
Menentukan jenis callback yang menerima FetchAllResponse . |
MaxSizeCallback
|
typedefstd::function< void(const MaxSizeResponse &)>
Menentukan jenis callback yang menerima MaxSizeResponse . |
OpenCallback
|
typedefstd::function< void(const OpenResponse &)>
Menentukan jenis callback yang menerima OpenResponse . |
ReadCallback
|
typedefstd::function< void(const ReadResponse &)>
Menentukan jenis callback yang menerima ReadResponse . |
SnapshotSelectUICallback
|
typedefstd::function< void(const SnapshotSelectUIResponse &)>
Menentukan callback yang dapat menerima SnapshotSelectUIResponse dari ShowSelectUIOperation . |
Fungsi publik |
|
---|---|
Commit(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback)
|
void
Secara asinkron melakukan commit data yang disediakan ke snapshot, dan memperbarui metadata snapshot menggunakan objek metadata yang disediakan.
|
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
Secara sinkron melakukan commit data yang diberikan ke snapshot, dan memperbarui metadata snapshot menggunakan objek metadata yang disediakan.
|
CommitBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
Secara sinkron melakukan commit data yang diberikan ke snapshot dan memperbarui metadata snapshot menggunakan objek metadata yang disediakan.
|
Delete(const SnapshotMetadata & snapshot_metadata)
|
void
Menghapus snapshot yang ditentukan.
|
FetchAll(FetchAllCallback callback)
|
void
Memuat semua data snapshot secara asinkron untuk pemain yang saat ini login.
|
FetchAll(DataSource data_source, FetchAllCallback callback)
|
void
Memuat semua data snapshot secara asinkron untuk pemain yang saat ini login.
|
FetchAllBlocking()
|
Memuat semua data snapshot secara sinkron untuk pemain yang saat ini login, yang langsung menampilkan
FetchAllResponse . |
FetchAllBlocking(DataSource data_source)
|
Memuat semua data snapshot secara sinkron untuk pemain yang saat ini login, yang langsung menampilkan
FetchAllResponse . |
FetchAllBlocking(Timeout timeout)
|
Memuat semua data snapshot secara sinkron untuk pemain yang saat ini login, yang langsung menampilkan
FetchAllResponse . |
FetchAllBlocking(DataSource data_source, Timeout timeout)
|
Memuat semua data snapshot secara sinkron untuk pemain yang saat ini login, yang langsung menampilkan
FetchAllResponse . |
GetMaxSize(MaxSizeCallback callback) const
|
void
Secara asinkron mendapatkan ukuran data maksimum dan ukuran gambar sampul maksimum per snapshot dalam byte.
|
GetMaxSizeBlocking() const
|
Secara sinkron mendapatkan ukuran data maksimum dan ukuran gambar sampul maksimum per snapshot dalam byte, yang langsung menampilkan
MaxSizeResponse . |
GetMaxSizeBlocking(Timeout timeout) const
|
Secara sinkron mendapatkan ukuran data maksimum dan ukuran gambar sampul maksimum per snapshot dalam byte, yang langsung menampilkan
MaxSizeResponse . |
Open(const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
|
void
Membuka snapshot secara asinkron dengan nama yang diberikan.
|
Open(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
|
void
data_source diabaikan. Sebagai gantinya, gunakan Open(file_name, conflict_policy, callback) . Membuka snapshot secara asinkron dengan nama yang diberikan. |
OpenBlocking(const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Membuka snapshot secara sinkron dengan nama yang diberikan.
|
OpenBlocking(Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Membuka snapshot secara sinkron dengan nama yang diberikan.
|
OpenBlocking(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Tidak digunakan lagi.
data_source diabaikan. Sebagai gantinya, gunakan OpenBlocking(file_name, conflict_policy) . Membuka snapshot secara sinkron dengan nama yang diberikan. |
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Tidak digunakan lagi.
data_source diabaikan. Sebagai gantinya, gunakan OpenBlocking(timeout, file_name, conflict_policy) . Membuka snapshot secara sinkron dengan nama yang diberikan. |
Read(const SnapshotMetadata & snapshot_metadata, ReadCallback callback)
|
void
Membaca snapshot dari disk secara asinkron, dan menyalinnya ke memori.
|
ReadBlocking(const SnapshotMetadata & snapshot_metadata)
|
Membaca snapshot dari disk secara sinkron, dan menyalinnya ke memori.
|
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
|
Membaca snapshot secara sinkron dari disk dan menyalinnya ke memori.
|
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback)
|
void
Menyelesaikan konflik secara asinkron menggunakan data dari snapshot yang disediakan.
|
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback)
|
void
Menyelesaikan konflik secara asinkron menggunakan data yang disediakan.
|
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
|
Menyelesaikan konflik secara sinkron menggunakan data dari snapshot yang disediakan.
|
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
Menyelesaikan konflik secara sinkron menggunakan data yang disediakan.
|
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
|
Menyelesaikan konflik secara sinkron menggunakan data dari snapshot yang disediakan.
|
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
Menyelesaikan konflik secara sinkron menggunakan data yang disediakan.
|
ShowSelectUIOperation(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback)
|
void
Menampilkan UI snapshot secara asinkron, sehingga pemain dapat memilih snapshot atau meminta snapshot baru.
|
ShowSelectUIOperationBlocking(Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
|
Memblokir versi ShowSelectUIOperation.
|
ShowSelectUIOperationBlocking(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
|
Kelebihan beban ShowSelectUIOperationBlocking, yang menggunakan waktu tunggu default 10 tahun.
|
Struct |
|
---|---|
gpg:: |
Menyimpan data untuk snapshot yang diperbarui, beserta status respons. |
gpg:: |
Menyimpan semua data untuk semua snapshot, beserta status respons. |
gpg:: |
Menyimpan ukuran maksimum untuk data snapshot dan untuk gambar sampul snapshot. |
gpg:: |
Menyimpan data untuk snapshot tertentu yang diminta beserta status respons. |
gpg:: |
Membaca status respons dan data snapshot yang ditampilkan dari operasi baca snapshot. |
gpg:: |
|
Jenis publik
CommitCallback
std::function< void(const CommitResponse &)> CommitCallback
Menentukan jenis callback yang menerima CommitResponse
.
Jenis callback ini disediakan untuk fungsi Commit(*)
dan ResolveConflict(*)
di bawah.
FetchAllCallback
std::function< void(const FetchAllResponse &)> FetchAllCallback
Menentukan jenis callback yang menerima FetchAllResponse
.
Jenis callback ini disediakan untuk fungsi FetchAll(*)
di bawah.
MaxSizeCallback
std::function< void(const MaxSizeResponse &)> MaxSizeCallback
Menentukan jenis callback yang menerima MaxSizeResponse
.
Jenis callback ini diberikan ke GetMaxSize.
OpenCallback
std::function< void(const OpenResponse &)> OpenCallback
Menentukan jenis callback yang menerima OpenResponse
.
Jenis callback ini disediakan untuk fungsi Open(*)
di bawah.
ReadCallback
std::function< void(const ReadResponse &)> ReadCallback
Menentukan jenis callback yang menerima ReadResponse
.
Jenis callback ini disediakan untuk fungsi Read(*)
di bawah.
SnapshotSelectUICallback
std::function< void(const SnapshotSelectUIResponse &)> SnapshotSelectUICallback
Menentukan callback yang dapat menerima SnapshotSelectUIResponse
dari ShowSelectUIOperation
.
Fungsi publik
Commit
void Commit( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback )
Secara asinkron melakukan commit data yang diberikan ke snapshot, dan memperbarui metadata snapshot menggunakan objek metadata yang disediakan.
Memanggil CommitCallback
yang disediakan setelah operasi selesai.
CommitBlocking
CommitResponse CommitBlocking( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Secara sinkron melakukan commit data yang diberikan ke snapshot, dan memperbarui metadata snapshot menggunakan objek metadata yang disediakan.
CommitBlocking
CommitResponse CommitBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Secara sinkron melakukan commit data yang diberikan ke snapshot dan memperbarui metadata snapshot menggunakan objek metadata yang disediakan.
Tentukan timeout
dalam milidetik.
Hapus
void Delete( const SnapshotMetadata & snapshot_metadata )
Menghapus snapshot yang ditentukan.
Tindakan ini akan menghapus data snapshot secara lokal dan di server.
FetchAll
void FetchAll( FetchAllCallback callback )
Memuat semua data snapshot secara asinkron untuk pemain yang saat ini login.
Memanggil FetchAllCallback
yang disediakan setelah operasi selesai. Jika data_source
tidak ditentukan, panggilan fungsi ini akan setara dengan memanggil FetchAll(DataSource data_source, FetchAllCallback callback)
, dengan data_source
ditentukan sebagai CACHE_OR_NETWORK.
FetchAll
void FetchAll( DataSource data_source, FetchAllCallback callback )
Memuat semua data snapshot secara asinkron untuk pemain yang saat ini login.
Memanggil FetchAllCallback
yang disediakan setelah operasi selesai. Tentukan data_source
sebagai CACHE_OR_NETWORK
atau NETWORK_ONLY
.
FetchAllBlocking
FetchAllResponse FetchAllBlocking()
Memuat semua data snapshot secara sinkron untuk pemain yang saat ini login, yang langsung menampilkan FetchAllResponse
.
Jika tidak menentukan data_source
atau timeout
, panggilan fungsi ini akan setara dengan memanggil FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
, dengan data_source
ditentukan sebagai CACHE_OR_NETWORK
, dan timeout
ditentukan sebagai 10 tahun.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source )
Memuat semua data snapshot secara sinkron untuk pemain yang saat ini login, yang langsung menampilkan FetchAllResponse
.
Tentukan data_source
sebagai CACHE_OR_NETWORK
atau NETWORK_ONLY
. Tidak menentukan timeout
akan membuat panggilan fungsi ini setara dengan memanggil FetchAllBlocking FetchAllResponse(DataSource data_source,
Timeout timeout)
, dengan nilai data_source
yang Anda tentukan, dan timeout
yang ditentukan sebagai 10 tahun.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( Timeout timeout )
Memuat semua data snapshot secara sinkron untuk pemain yang saat ini login, yang langsung menampilkan FetchAllResponse
.
Tentukan timeout
dalam milidetik. Tidak menentukan data_source
akan membuat panggilan fungsi ini setara dengan memanggil FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
, dengan data_source
ditentukan sebagai CACHE_OR_NETWORK
, dan timeout
berisi nilai yang Anda tentukan.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source, Timeout timeout )
Memuat semua data snapshot secara sinkron untuk pemain yang saat ini login, yang langsung menampilkan FetchAllResponse
.
Tentukan data_source
sebagai CACHE_OR_NETWORK
atau NETWORK_ONLY
. Tentukan timeout
dalam milidetik.
GetMaxSize
void GetMaxSize( MaxSizeCallback callback ) const
Secara asinkron mendapatkan ukuran data maksimum dan ukuran gambar sampul maksimum per snapshot dalam byte.
Memanggil MaxSizeCallback
yang disediakan setelah operasi selesai.
Ukuran data maksimum per snapshot dijamin minimal 3 MB. Dapat meningkat di masa mendatang.
Ukuran data maksimum per gambar sampul snapshot dijamin minimal 800 KB. Dapat meningkat di masa mendatang.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking() const
Secara sinkron mendapatkan ukuran data maksimum dan ukuran gambar sampul maksimum per snapshot dalam byte, yang langsung menampilkan MaxSizeResponse
.
Ukuran data maksimum per snapshot dijamin minimal 3 MB. Dapat meningkat di masa mendatang.
Ukuran data maksimum per gambar sampul snapshot dijamin minimal 800 KB. Dapat meningkat di masa mendatang.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking( Timeout timeout ) const
Secara sinkron mendapatkan ukuran data maksimum dan ukuran gambar sampul maksimum per snapshot dalam byte, yang langsung menampilkan MaxSizeResponse
.
Ukuran data maksimum per snapshot dijamin minimal 3 MB. Dapat meningkat di masa mendatang.
Ukuran data maksimum per gambar sampul snapshot dijamin minimal 800 KB. Dapat meningkat di masa mendatang.
Tentukan timeout
dalam milidetik.
Buka
void Open( const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
Membuka snapshot secara asinkron dengan nama yang diberikan.
Snapshot yang ditentukan akan dibuat jika belum ada. Memanggil OpenCallback
yang disediakan setelah operasi selesai.
Nama snapshot harus antara 1 dan 100 karakter non-URL (a-z, A-Z, 0-9, atau simbol "-", ".", "_", atau "~").
Konflik dapat terjadi jika perangkat lain melakukan snapshot antara pemuatan dan melakukan snapshot di perangkat saat ini. Anda harus menyelesaikan konflik ini. Lihat OpenResponse di atas untuk mengetahui detail selengkapnya tentang konflik.
conflict_policy
dapat berupa salah satu nilai berikut:
SnapshotConflictPolicy::MANUAL
- Jika terjadi konflik, respons memiliki status OpenResponse::VALID_WITH_CONFLICT
. Anda harus menyelesaikan konflik menggunakan SnapshotManager::ResolveConflict
. Anda dapat melihat beberapa konflik berturut-turut, jadi periksa setiap kali Anda memanggil Open
. Ini adalah satu-satunya kebijakan tempat Anda akan melihat konflik. Selebihnya, kami akan menangani resolusinya untuk Anda. Kebijakan ini memastikan bahwa tidak ada perubahan pengguna pada status game tersimpan yang akan hilang.
SnapshotConflictPolicy::LONGEST_PLAYTIME
- Jika terjadi konflik, snapshot dengan nilai waktu pemutaran terbesar akan digunakan. Kebijakan ini adalah pilihan yang baik jika durasi waktu bermain adalah proxy yang wajar untuk game tersimpan "terbaik". Perhatikan bahwa Anda harus menggunakan SnapshotMetadataChange::Builder::SetPlayedTime()
saat menyimpan game agar kebijakan ini bermakna.
SnapshotConflictPolicy::LAST_KNOWN_GOOD
- Jika terjadi konflik, snapshot dasar akan digunakan. Kebijakan ini adalah pilihan yang wajar jika game Anda memerlukan stabilitas dari data snapshot. Kebijakan ini memastikan bahwa hanya operasi tulis yang tidak diperebutkan yang dilihat oleh pemain, yang menjamin bahwa semua klien akan berkonvergensi. Catatan: sebelumnya SnapshotManager::BASE_WINS
SnapshotConflictPolicy::MOST_RECENTLY_MODIFIED
- Jika terjadi konflik, remote akan digunakan. Kebijakan ini adalah pilihan yang wajar jika game Anda dapat menerima pemain di beberapa perangkat yang mengabaikan perubahan mereka sendiri. Karena kebijakan ini memilih data terbaru secara membabi buta, perubahan pemain mungkin akan hilang. Catatan: sebelumnya SnapshotManager::REMOTE_WINS
SnapshotConflictPolicy::HIGHEST_PROGRESS
Jika terjadi konflik, snapshot dengan nilai progres tertinggi akan digunakan. Jika terjadi seri, snapshot terakhir yang diketahui baik akan dipilih. Kebijakan ini adalah pilihan yang baik jika game Anda menggunakan nilai progres snapshot untuk menentukan game tersimpan terbaik. Perhatikan bahwa Anda harus menggunakan SnapshotMetadataChange::Builder::SetPlayedTime()
saat menyimpan game agar kebijakan ini bermakna.
Buka
void Open( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
Membuka snapshot secara asinkron dengan nama yang diberikan.
Tidak digunakan lagi.
data_source
diabaikan. Sebagai gantinya, gunakan Open(file_name, conflict_policy, callback)
.
OpenBlocking
OpenResponse OpenBlocking( const std::string & file_name, SnapshotConflictPolicy conflict_policy )
Membuka snapshot secara sinkron dengan nama yang diberikan.
Snapshot yang ditentukan akan dibuat jika belum ada.
Lihat Buka untuk mengetahui detail selengkapnya.
OpenBlocking
OpenResponse OpenBlocking( Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
Membuka snapshot secara sinkron dengan nama yang diberikan.
Snapshot yang ditentukan akan dibuat jika belum ada.
Tentukan timeout
dalam milidetik.
Lihat Buka untuk mengetahui detail selengkapnya.
OpenBlocking
OpenResponse OpenBlocking( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
Membuka snapshot secara sinkron dengan nama yang diberikan.
Tidak digunakan lagi.
data_source
diabaikan. Sebagai gantinya, gunakan OpenBlocking(file_name, conflict_policy)
.
OpenBlocking
OpenResponse OpenBlocking( DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
Membuka snapshot secara sinkron dengan nama yang diberikan.
Tidak digunakan lagi.
data_source
diabaikan. Sebagai gantinya, gunakan OpenBlocking(timeout, file_name, conflict_policy)
.
Dibaca
void Read( const SnapshotMetadata & snapshot_metadata, ReadCallback callback )
Membaca snapshot dari disk secara asinkron, dan menyalinnya ke memori.
Data diteruskan kembali berdasarkan nilai untuk memudahkan modifikasi. Setiap panggilan ke fungsi ini akan menghasilkan pembacaan penuh. Artinya, sebaiknya hanya membaca snapshot sekali. Memanggil ReadCallback
yang disediakan setelah operasi selesai.
ReadBlocking
ReadResponse ReadBlocking( const SnapshotMetadata & snapshot_metadata )
Membaca snapshot dari disk secara sinkron, dan menyalinnya ke memori.
Data diteruskan kembali berdasarkan nilai untuk memudahkan modifikasi. Setiap panggilan ke fungsi ini akan menghasilkan pembacaan penuh. Artinya, sebaiknya hanya membaca snapshot sekali. Jika timeout
tidak ditentukan, panggilan fungsi ini akan setara dengan memanggil ReadBlocking ReadBlocking(Timeout timeout,
const SnapshotMetadata& snapshot_metadata)
, dengan timeout
ditentukan sebagai 10 tahun.
ReadBlocking
ReadResponse ReadBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata )
Membaca snapshot secara sinkron dari disk dan menyalinnya ke memori.
Data diteruskan kembali berdasarkan nilai untuk memudahkan modifikasi. Setiap panggilan ke ini melakukan pembacaan penuh sehingga biasanya hanya membaca snapshot satu kali. Tentukan timeout
dalam milidetik.
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback )
Menyelesaikan konflik secara asinkron menggunakan data dari snapshot yang disediakan.
Tindakan ini akan mengganti data di server dengan snapshot yang ditentukan. Perhatikan bahwa operasi ini dapat menyebabkan konflik itu sendiri, dalam hal ini resolusi harus diulang.
Memanggil metode ini dengan snapshot yang telah di-commit atau yang tidak dibuka melalui Open akan gagal dengan status BaseStatus::ERROR_INTERNAL.
Memanggil OpenCallback
yang disediakan setelah operasi selesai.
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback )
Menyelesaikan konflik secara asinkron menggunakan data yang disediakan.
Tindakan ini akan mengganti data di server dengan perubahan metadata dan contents
yang ditentukan. Perhatikan bahwa operasi ini dapat menyebabkan konflik itu sendiri, dalam hal ini resolusi harus diulang.
Nilai yang tidak disertakan dalam perubahan metadata akan di-resolve ke versi yang saat ini ada di server.
Perhatikan bahwa ukuran total contents
tidak boleh melebihi maxDataSize
yang disediakan oleh GetMaxSize.
Memanggil metode ini dengan snapshot yang telah di-commit atau yang tidak dibuka melalui Open akan gagal dengan status BaseStatus::ERROR_INTERNAL.
Memanggil OpenCallback
yang disediakan setelah operasi selesai.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
Menyelesaikan konflik secara sinkron menggunakan data dari snapshot yang disediakan.
Tindakan ini akan mengganti data di server dengan snapshot yang ditentukan. Perhatikan bahwa operasi ini dapat menyebabkan konflik itu sendiri, dalam hal ini resolusi harus diulang.
Memanggil metode ini dengan snapshot yang telah di-commit atau yang tidak dibuka melalui Open akan gagal dengan status BaseStatus::ERROR_INTERNAL.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Menyelesaikan konflik secara sinkron menggunakan data yang disediakan.
Tindakan ini akan mengganti data di server dengan perubahan metadata dan contents
yang ditentukan. Perhatikan bahwa operasi ini dapat menyebabkan konflik itu sendiri, dalam hal ini resolusi harus diulang.
Nilai yang tidak disertakan dalam perubahan metadata akan di-resolve ke versi yang saat ini ada di server.
Perhatikan bahwa ukuran total contents
tidak boleh melebihi maxDataSize
yang disediakan oleh GetMaxSize.
Memanggil metode ini dengan snapshot yang telah di-commit atau yang tidak dibuka melalui Open akan gagal dengan status BaseStatus::ERROR_INTERNAL.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
Menyelesaikan konflik secara sinkron menggunakan data dari snapshot yang disediakan.
Tindakan ini akan mengganti data di server dengan snapshot yang ditentukan. Perhatikan bahwa operasi ini dapat menyebabkan konflik itu sendiri, dalam hal ini resolusi harus diulang.
Memanggil metode ini dengan snapshot yang telah di-commit atau yang tidak dibuka melalui Open akan gagal dengan status BaseStatus::ERROR_INTERNAL.
Tentukan timeout
dalam milidetik.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
Menyelesaikan konflik secara sinkron menggunakan data yang disediakan.
Tindakan ini akan mengganti data di server dengan perubahan metadata dan contents
yang ditentukan. Perhatikan bahwa operasi ini dapat menyebabkan konflik itu sendiri, dalam hal ini resolusi harus diulang.
Nilai yang tidak disertakan dalam perubahan metadata akan di-resolve ke versi yang saat ini ada di server.
Perhatikan bahwa ukuran total contents
tidak boleh melebihi maxDataSize
yang disediakan oleh GetMaxSize.
Memanggil metode ini dengan snapshot yang telah di-commit atau yang tidak dibuka melalui Open akan gagal dengan status BaseStatus::ERROR_INTERNAL.
Tentukan timeout
dalam milidetik.
ShowSelectUIOperation
void ShowSelectUIOperation( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback )
Menampilkan UI snapshot secara asinkron, sehingga pemain dapat memilih snapshot atau meminta snapshot baru.
Setelah selesai, snapshot yang dipilih atau permintaan snapshot baru akan ditampilkan melalui SnapshotSelectUICallback
.
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
Memblokir versi ShowSelectUIOperation.
Memungkinkan pemanggil menentukan waktu tunggu dalam md. Setelah waktu yang ditentukan berlalu, fungsi akan menampilkan ERROR_TIMEOUT
.
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
Overload ShowSelectUIOperationBlocking, yang menggunakan waktu tunggu default 10 tahun.