gpg:: SnapshotManager
#include <snapshot_manager.h>
Mengambil 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
Lakukan commit data yang diberikan ke snapshot secara asinkron, dan memperbarui metadata snapshot menggunakan objek metadata yang disediakan.
|
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
Meng-commit data yang diberikan ke snapshot secara sinkron, 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)
|
Meng-commit data yang diberikan ke snapshot secara sinkron 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 pemutar yang saat ini login, langsung menampilkan
FetchAllResponse . |
FetchAllBlocking(DataSource data_source)
|
Memuat semua data snapshot secara sinkron untuk pemutar yang saat ini login, langsung menampilkan
FetchAllResponse . |
FetchAllBlocking(Timeout timeout)
|
Memuat semua data snapshot secara sinkron untuk pemutar yang saat ini login, langsung menampilkan
FetchAllResponse . |
FetchAllBlocking(DataSource data_source, Timeout timeout)
|
Memuat semua data snapshot secara sinkron untuk pemutar yang saat ini login, 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, langsung menampilkan
MaxSizeResponse . |
GetMaxSizeBlocking(Timeout timeout) const
|
Secara sinkron mendapatkan ukuran data maksimum dan ukuran gambar sampul maksimum per snapshot dalam byte, langsung menampilkan
MaxSizeResponse . |
Open(const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
|
void
Membuka snapshot dengan nama tertentu secara asinkron.
|
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 dengan nama tertentu secara asinkron. |
OpenBlocking(const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Membuka snapshot dengan nama tertentu secara sinkron.
|
OpenBlocking(Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
Membuka snapshot dengan nama tertentu secara sinkron.
|
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 dengan nama tertentu secara sinkron. |
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 dengan nama tertentu secara sinkron. |
Read(const SnapshotMetadata & snapshot_metadata, ReadCallback callback)
|
void
Membaca snapshot secara asinkron dari disk, dan menyalinnya ke dalam memori.
|
ReadBlocking(const SnapshotMetadata & snapshot_metadata)
|
Membaca snapshot secara sinkron dari disk, dan menyalinnya ke dalam memori.
|
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
|
Membaca snapshot dari disk secara sinkron dan menyalinnya ke dalam 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)
|
Versi pemblokiran ShowSelectUIOperation.
|
ShowSelectUIOperationBlocking(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
|
Kelebihan beban ShowSelectUIOperationBlocking, yang menggunakan waktu tunggu default selama 10 tahun.
|
Struct |
|
---|---|
gpg:: |
Menyimpan data untuk snapshot yang diperbarui, bersama dengan status respons. |
gpg:: |
Menyimpan semua data untuk semua snapshot, beserta status respons. |
gpg:: |
Mempertahankan ukuran maksimum untuk data snapshot dan gambar sampul snapshot. |
gpg:: |
Menyimpan data untuk snapshot yang diminta tertentu bersama dengan 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 untuk 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 )
Lakukan commit data yang diberikan ke snapshot secara asinkron, 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 )
Meng-commit data yang diberikan ke snapshot secara sinkron, 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 )
Meng-commit data yang diberikan ke snapshot secara sinkron 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. Tidak menentukan data_source
membuat panggilan fungsi ini setara dengan memanggil FetchAll(DataSource data_source, FetchAllCallback callback)
, dengan data_source
ditetapkan 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 pemutar yang saat ini login, langsung menampilkan FetchAllResponse
.
Menentukan data_source
atau timeout
membuat panggilan fungsi ini setara dengan panggilan FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
, dengan data_source
ditetapkan sebagai CACHE_OR_NETWORK
, dan timeout
ditetapkan sebagai 10 tahun.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source )
Memuat semua data snapshot secara sinkron untuk pemutar yang saat ini login, langsung menampilkan FetchAllResponse
.
Tentukan data_source
sebagai CACHE_OR_NETWORK
atau NETWORK_ONLY
. Tidak menentukan timeout
membuat panggilan fungsi ini setara dengan memanggil FetchAllBlocking FetchAllResponse(DataSource data_source,
Timeout timeout)
, dengan nilai data_source
yang Anda tentukan, dan timeout
ditetapkan sebagai 10 tahun.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( Timeout timeout )
Memuat semua data snapshot secara sinkron untuk pemutar yang saat ini login, langsung menampilkan FetchAllResponse
.
Tentukan timeout
dalam milidetik. Tidak menentukan data_source
membuat panggilan fungsi ini setara dengan memanggil FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
, dengan data_source
ditetapkan 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 pemutar yang saat ini login, 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 setidaknya sebesar 3 MB. Dapat meningkat pada masa mendatang.
Ukuran data maksimum per gambar sampul snapshot dijamin setidaknya sebesar 800 KB. Dapat meningkat pada masa mendatang.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking() const
Secara sinkron mendapatkan ukuran data maksimum dan ukuran gambar sampul maksimum per snapshot dalam byte, langsung menampilkan MaxSizeResponse
.
Ukuran data maksimum per snapshot dijamin setidaknya sebesar 3 MB. Dapat meningkat pada masa mendatang.
Ukuran data maksimum per gambar sampul snapshot dijamin setidaknya sebesar 800 KB. Dapat meningkat pada masa mendatang.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking( Timeout timeout ) const
Secara sinkron mendapatkan ukuran data maksimum dan ukuran gambar sampul maksimum per snapshot dalam byte, langsung menampilkan MaxSizeResponse
.
Ukuran data maksimum per snapshot dijamin setidaknya sebesar 3 MB. Dapat meningkat pada masa mendatang.
Ukuran data maksimum per gambar sampul snapshot dijamin setidaknya sebesar 800 KB. Dapat meningkat pada masa mendatang.
Tentukan timeout
dalam milidetik.
Buka
void Open( const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
Membuka snapshot dengan nama tertentu secara asinkron.
Snapshot yang ditentukan akan dibuat jika belum ada. Memanggil OpenCallback
yang disediakan setelah operasi selesai.
Nama snapshot harus antara 1 hingga 100 karakter yang tidak dicadangkan untuk URL (a-z, A-Z, 0-9, atau simbol "-", ".", "_", atau "~").
Konflik dapat terjadi jika perangkat lain meng-commit snapshot antara memuat dan melakukan snapshot pada perangkat saat ini. Anda harus menyelesaikan konflik ini. Lihat OpenResponse di atas untuk detail selengkapnya tentang konflik.
conflict_policy
dapat berupa salah satu dari nilai berikut ini:
SnapshotConflictPolicy::MANUAL
- Jika terjadi konflik, respons akan 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 yang memicu konflik tersebut. Selebihnya dari nama sebutan channel. Kebijakan ini memastikan bahwa tidak ada perubahan yang akan hilang dari pengguna pada status game tersimpan.
SnapshotConflictPolicy::LONGEST_PLAYTIME
- Jika terjadi konflik, snapshot dengan nilai waktu bermain terbesar akan digunakan. Kebijakan ini adalah pilihan yang bagus jika durasi waktu pemutaran merupakan proxy yang wajar untuk "terbaik" simpan game. Perlu diperhatikan bahwa Anda harus menggunakan SnapshotMetadataChange::Builder::SetPlayedTime()
saat menyimpan game agar kebijakan ini bermanfaat.
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 disengketakan yang dilihat oleh pemain, dan menjamin bahwa semua klien akan dikonvergensi. 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 menoleransi pemain di beberapa perangkat yang meng-clone perubahan mereka sendiri. Karena kebijakan ini secara membabi buta memilih data terbaru, perubahan yang dilakukan pemain mungkin akan hilang. Catatan: sebelumnya SnapshotManager::REMOTE_WINS
SnapshotConflictPolicy::HIGHEST_PROGRESS
Jika terjadi konflik, snapshot dengan nilai progres tertinggi akan digunakan. Jika ada seri, snapshot terakhir yang diketahui akan dipilih sebagai gantinya. Kebijakan ini adalah pilihan yang baik jika game Anda menggunakan nilai progres ringkasan untuk menentukan game tersimpan terbaik. Perlu diperhatikan bahwa Anda harus menggunakan SnapshotMetadataChange::Builder::SetPlayedTime()
saat menyimpan game agar kebijakan ini bermanfaat.
Buka
void Open( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
Membuka snapshot dengan nama tertentu secara asinkron.
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 dengan nama tertentu secara sinkron.
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 dengan nama tertentu secara sinkron.
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 dengan nama tertentu secara sinkron.
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 dengan nama tertentu secara sinkron.
Tidak digunakan lagi.
data_source
diabaikan. Sebagai gantinya, gunakan OpenBlocking(timeout, file_name, conflict_policy)
.
Baca
void Read( const SnapshotMetadata & snapshot_metadata, ReadCallback callback )
Membaca snapshot secara asinkron dari disk, dan menyalinnya ke dalam memori.
Data diteruskan kembali oleh nilai agar lebih mudah dimodifikasi. Setiap panggilan ke fungsi ini akan menghasilkan operasi baca secara menyeluruh. Artinya, snapshot biasanya hanya perlu dibaca satu kali. Memanggil ReadCallback
yang disediakan setelah operasi selesai.
ReadBlocking
ReadResponse ReadBlocking( const SnapshotMetadata & snapshot_metadata )
Membaca snapshot secara sinkron dari disk, dan menyalinnya ke dalam memori.
Data diteruskan kembali oleh nilai agar lebih mudah dimodifikasi. Setiap panggilan ke fungsi ini akan menghasilkan operasi baca secara menyeluruh. Artinya, snapshot biasanya hanya perlu dibaca satu kali. Tidak menentukan timeout
membuat panggilan fungsi ini setara dengan memanggil ReadBlocking ReadBlocking(Timeout timeout,
const SnapshotMetadata& snapshot_metadata)
, dengan timeout
ditetapkan sebagai 10 tahun.
ReadBlocking
ReadResponse ReadBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata )
Membaca snapshot dari disk secara sinkron dan menyalinnya ke dalam memori.
Data diteruskan kembali oleh nilai agar lebih mudah dimodifikasi. 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 mungkin saja mengakibatkan konflik itu sendiri, dalam hal ini resolusi harus diulang.
Memanggil metode ini dengan snapshot yang telah di-commit atau yang belum 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 yang ditentukan dan contents
. Perhatikan bahwa operasi ini mungkin saja mengakibatkan konflik itu sendiri, dalam hal ini resolusi harus diulang.
Nilai yang tidak disertakan dalam perubahan metadata akan diubah ke versi yang saat ini ada di server.
Perhatikan bahwa ukuran total contents
tidak boleh melebihi maxDataSize
yang diberikan oleh GetMaxSize.
Memanggil metode ini dengan snapshot yang telah di-commit atau yang belum 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 mungkin saja mengakibatkan konflik itu sendiri, dalam hal ini resolusi harus diulang.
Memanggil metode ini dengan snapshot yang telah di-commit atau yang belum 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 yang ditentukan dan contents
. Perhatikan bahwa operasi ini mungkin saja mengakibatkan konflik itu sendiri, dalam hal ini resolusi harus diulang.
Nilai yang tidak disertakan dalam perubahan metadata akan diubah ke versi yang saat ini ada di server.
Perhatikan bahwa ukuran total contents
tidak boleh melebihi maxDataSize
yang diberikan oleh GetMaxSize.
Memanggil metode ini dengan snapshot yang telah di-commit atau yang belum 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 mungkin saja mengakibatkan konflik itu sendiri, dalam hal ini resolusi harus diulang.
Memanggil metode ini dengan snapshot yang telah di-commit atau yang belum 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 yang ditentukan dan contents
. Perhatikan bahwa operasi ini mungkin saja mengakibatkan konflik itu sendiri, dalam hal ini resolusi harus diulang.
Nilai yang tidak disertakan dalam perubahan metadata akan diubah ke versi yang saat ini ada di server.
Perhatikan bahwa ukuran total contents
tidak boleh melebihi maxDataSize
yang diberikan oleh GetMaxSize.
Memanggil metode ini dengan snapshot yang telah di-commit atau yang belum 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 )
Versi pemblokiran 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 )
Kelebihan beban ShowSelectUIOperationBlocking, yang menggunakan waktu tunggu default selama 10 tahun.