gpg:: স্ন্যাপশট ম্যানেজার
#include <snapshot_manager.h>
বিভিন্ন স্ন্যাপশট-সম্পর্কিত ডেটা পায় এবং সেট করে।
সারাংশ
যদি অ্যাপ্লিকেশানটি প্রমাণীকরণের সময় স্ন্যাপশটগুলি সক্ষম না করে (দেখুন GameServices::Builder::EnableSnapshots ), SnapshotManager
বেশিরভাগ পদ্ধতি ব্যর্থ হবে৷
পাবলিক প্রকার | |
---|---|
CommitCallback | typedefstd::function< void(const CommitResponse &)> একটি কলব্যাক প্রকার সংজ্ঞায়িত করে যা একটি CommitResponse গ্রহণ করে। |
FetchAllCallback | typedefstd::function< void(const FetchAllResponse &)> একটি কলব্যাক প্রকার সংজ্ঞায়িত করে যা একটি FetchAllResponse গ্রহণ করে। |
MaxSizeCallback | typedefstd::function< void(const MaxSizeResponse &)> একটি কলব্যাক প্রকার সংজ্ঞায়িত করে যা একটি MaxSizeResponse পায়। |
OpenCallback | typedefstd::function< void(const OpenResponse &)> একটি কলব্যাক প্রকার সংজ্ঞায়িত করে যা একটি OpenResponse গ্রহণ করে। |
ReadCallback | typedefstd::function< void(const ReadResponse &)> একটি কলব্যাক প্রকার সংজ্ঞায়িত করে যা একটি ReadResponse গ্রহণ করে। |
SnapshotSelectUICallback | typedefstd::function< void(const SnapshotSelectUIResponse &)> একটি কলব্যাক সংজ্ঞায়িত করে যা ShowSelectUIOperation থেকে একটি SnapshotSelectUIResponse পেতে পারে। |
পাবলিক ফাংশন | |
---|---|
Commit (const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback) | void অ্যাসিঙ্ক্রোনাসভাবে স্ন্যাপশটে প্রদত্ত ডেটা কমিট করে এবং প্রদত্ত মেটাডেটা অবজেক্ট ব্যবহার করে স্ন্যাপশটের মেটাডেটা আপডেট করে। |
CommitBlocking (const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents) | স্ন্যাপশটে প্রদত্ত ডেটা সিঙ্ক্রোনাস করে, এবং প্রদত্ত মেটাডেটা অবজেক্ট ব্যবহার করে স্ন্যাপশটের মেটাডেটা আপডেট করে। |
CommitBlocking ( Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents) | স্ন্যাপশটে প্রদত্ত ডেটা সিঙ্ক্রোনাস করে এবং প্রদত্ত মেটাডেটা অবজেক্ট ব্যবহার করে স্ন্যাপশটের মেটাডেটা আপডেট করে। |
Delete (const SnapshotMetadata & snapshot_metadata) | void নির্দিষ্ট স্ন্যাপশট মুছে দেয়। |
FetchAll ( FetchAllCallback callback) | void বর্তমানে সাইন-ইন করা প্লেয়ারের জন্য অ্যাসিঙ্ক্রোনাসভাবে সমস্ত স্ন্যাপশট ডেটা লোড করে। |
FetchAll ( DataSource data_source, FetchAllCallback callback) | void বর্তমানে সাইন-ইন করা প্লেয়ারের জন্য অ্যাসিঙ্ক্রোনাসভাবে সমস্ত স্ন্যাপশট ডেটা লোড করে। |
FetchAllBlocking () | বর্তমানে সাইন-ইন করা প্লেয়ারের জন্য সিঙ্ক্রোনাসভাবে সমস্ত স্ন্যাপশট ডেটা লোড করে, সরাসরি FetchAllResponse ফেরত দেয়। |
FetchAllBlocking ( DataSource data_source) | বর্তমানে সাইন-ইন করা প্লেয়ারের জন্য সিঙ্ক্রোনাসভাবে সমস্ত স্ন্যাপশট ডেটা লোড করে, সরাসরি FetchAllResponse ফেরত দেয়। |
FetchAllBlocking ( Timeout timeout) | বর্তমানে সাইন-ইন করা প্লেয়ারের জন্য সিঙ্ক্রোনাসভাবে সমস্ত স্ন্যাপশট ডেটা লোড করে, সরাসরি FetchAllResponse ফেরত দেয়। |
FetchAllBlocking ( DataSource data_source, Timeout timeout) | বর্তমানে সাইন-ইন করা প্লেয়ারের জন্য সিঙ্ক্রোনাসভাবে সমস্ত স্ন্যাপশট ডেটা লোড করে, সরাসরি FetchAllResponse ফেরত দেয়। |
GetMaxSize ( MaxSizeCallback callback) const | void অ্যাসিঙ্ক্রোনাসভাবে সর্বাধিক ডেটা আকার এবং স্ন্যাপশট প্রতি বাইটে সর্বাধিক কভার চিত্রের আকার পায়। |
GetMaxSizeBlocking () const | সিঙ্ক্রোনাসভাবে সর্বাধিক ডেটা আকার এবং সর্বাধিক কভার চিত্রের আকার প্রতি স্ন্যাপশটে বাইটে পায়, সরাসরি MaxSizeResponse ফেরত দেয়। |
GetMaxSizeBlocking ( Timeout timeout) const | সিঙ্ক্রোনাসভাবে সর্বাধিক ডেটা আকার এবং সর্বাধিক কভার চিত্রের আকার প্রতি স্ন্যাপশটে বাইটে পায়, সরাসরি MaxSizeResponse ফেরত দেয়। |
Open (const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback) | void অসিঙ্ক্রোনাসভাবে প্রদত্ত নামের সাথে একটি স্ন্যাপশট খোলে। |
Open ( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback) | void data_source উপেক্ষা করা হয়। পরিবর্তে Open(file_name, conflict_policy, callback) ব্যবহার করুন। অসিঙ্ক্রোনাসভাবে প্রদত্ত নামের সাথে একটি স্ন্যাপশট খোলে। |
OpenBlocking (const std::string & file_name, SnapshotConflictPolicy conflict_policy) | সিঙ্ক্রোনাসভাবে প্রদত্ত নামের সাথে একটি স্ন্যাপশট খোলে। |
OpenBlocking ( Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy) | সিঙ্ক্রোনাসভাবে প্রদত্ত নামের সাথে একটি স্ন্যাপশট খোলে। |
OpenBlocking ( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy) | অবচয়। data_source উপেক্ষা করা হয়। পরিবর্তে OpenBlocking(file_name, conflict_policy) ব্যবহার করুন। সিঙ্ক্রোনাসভাবে প্রদত্ত নামের সাথে একটি স্ন্যাপশট খোলে। |
OpenBlocking ( DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy) | অবচয়। data_source উপেক্ষা করা হয়। পরিবর্তে OpenBlocking(timeout, file_name, conflict_policy) ব্যবহার করুন। সিঙ্ক্রোনাসভাবে প্রদত্ত নামের সাথে একটি স্ন্যাপশট খোলে। |
Read (const SnapshotMetadata & snapshot_metadata, ReadCallback callback) | void অ্যাসিঙ্ক্রোনাসভাবে ডিস্ক থেকে একটি স্ন্যাপশট পড়ে, এবং এটি মেমরিতে অনুলিপি করে। |
ReadBlocking (const SnapshotMetadata & snapshot_metadata) | সিঙ্ক্রোনাসভাবে ডিস্ক থেকে একটি স্ন্যাপশট পড়ে, এবং এটি মেমরিতে অনুলিপি করে। |
ReadBlocking ( Timeout timeout, const SnapshotMetadata & snapshot_metadata) | সিঙ্ক্রোনাসভাবে ডিস্ক থেকে একটি স্ন্যাপশট পড়ে এবং এটি মেমরিতে অনুলিপি করে। |
ResolveConflict (const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback) | void অ্যাসিঙ্ক্রোনাসভাবে প্রদত্ত স্ন্যাপশট থেকে ডেটা ব্যবহার করে একটি দ্বন্দ্ব সমাধান করে। |
ResolveConflict (const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback) | void অ্যাসিঙ্ক্রোনাসভাবে প্রদত্ত ডেটা ব্যবহার করে একটি দ্বন্দ্ব সমাধান করে। |
ResolveConflictBlocking (const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata) | প্রদত্ত স্ন্যাপশট থেকে ডেটা ব্যবহার করে সিঙ্ক্রোনাসভাবে একটি দ্বন্দ্ব সমাধান করে। |
ResolveConflictBlocking (const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents) | সিঙ্ক্রোনাসভাবে প্রদত্ত ডেটা ব্যবহার করে একটি দ্বন্দ্ব সমাধান করে। |
ResolveConflictBlocking ( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata) | প্রদত্ত স্ন্যাপশট থেকে ডেটা ব্যবহার করে সিঙ্ক্রোনাসভাবে একটি দ্বন্দ্ব সমাধান করে। |
ResolveConflictBlocking ( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents) | সিঙ্ক্রোনাসভাবে প্রদত্ত ডেটা ব্যবহার করে একটি দ্বন্দ্ব সমাধান করে। |
ShowSelectUIOperation (bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback) | void অ্যাসিঙ্ক্রোনাসভাবে স্ন্যাপশট UI দেখায়, প্লেয়ারকে একটি স্ন্যাপশট নির্বাচন করতে বা একটি নতুন স্ন্যাপশটের অনুরোধ করতে দেয়৷ |
ShowSelectUIOperationBlocking ( Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title) | ShowSelectUIOperation এর ব্লকিং সংস্করণ। |
ShowSelectUIOperationBlocking (bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title) | ShowSelectUIOperationBlocking এর ওভারলোড, যা 10 বছরের একটি ডিফল্ট টাইমআউট ব্যবহার করে। |
কাঠামো | |
---|---|
gpg:: SnapshotManager:: CommitResponse | একটি প্রতিক্রিয়া স্থিতি সহ একটি আপডেট করা স্ন্যাপশটের জন্য ডেটা ধারণ করে৷ |
gpg:: SnapshotManager:: FetchAllResponse | একটি প্রতিক্রিয়া স্থিতি সহ সমস্ত স্ন্যাপশটের জন্য সমস্ত ডেটা ধারণ করে৷ |
gpg:: SnapshotManager:: MaxSizeResponse | স্ন্যাপশট ডেটা এবং স্ন্যাপশট কভার চিত্রের জন্য সর্বাধিক আকার ধারণ করে৷ |
gpg:: SnapshotManager:: Openresponse | একটি প্রতিক্রিয়া স্থিতি সহ একটি নির্দিষ্ট অনুরোধ করা স্ন্যাপশটের জন্য ডেটা ধারণ করে৷ |
gpg:: SnapshotManager:: Readresponse | একটি স্ন্যাপশট রিড অপারেশন থেকে প্রত্যাবর্তিত প্রতিক্রিয়া স্থিতি এবং স্ন্যাপশট ডেটা পড়ে৷ |
gpg:: SnapshotManager:: SnapshotSelectUIResponse | |
পাবলিক প্রকার
কমিট কলব্যাক
std::function< void(const CommitResponse &)> CommitCallback
একটি কলব্যাক প্রকার সংজ্ঞায়িত করে যা একটি CommitResponse
গ্রহণ করে।
এই কলব্যাক টাইপটি নিচের Commit(*)
এবং ResolveConflict(*)
ফাংশনে প্রদান করা হয়েছে।
অলকলব্যাক আনুন
std::function< void(const FetchAllResponse &)> FetchAllCallback
একটি কলব্যাক প্রকার সংজ্ঞায়িত করে যা একটি FetchAllResponse
গ্রহণ করে।
এই কলব্যাকের ধরনটি নীচের FetchAll(*)
ফাংশনে প্রদান করা হয়েছে।
MaxSizeCallback
std::function< void(const MaxSizeResponse &)> MaxSizeCallback
একটি কলব্যাক প্রকার সংজ্ঞায়িত করে যা একটি MaxSizeResponse
পায়।
এই কলব্যাক প্রকারটি GetMaxSize- এ প্রদান করা হয়েছে।
কলব্যাক খুলুন
std::function< void(const OpenResponse &)> OpenCallback
একটি কলব্যাক প্রকার সংজ্ঞায়িত করে যা একটি OpenResponse
গ্রহণ করে।
এই কলব্যাক টাইপটি নিচের Open(*)
ফাংশনে প্রদান করা হয়েছে।
কলব্যাক পড়ুন
std::function< void(const ReadResponse &)> ReadCallback
একটি কলব্যাক প্রকার সংজ্ঞায়িত করে যা একটি ReadResponse
গ্রহণ করে।
এই কলব্যাক টাইপটি নীচের Read(*)
ফাংশনে প্রদান করা হয়েছে।
স্ন্যাপশট সিলেক্টইউআইকলব্যাক
std::function< void(const SnapshotSelectUIResponse &)> SnapshotSelectUICallback
একটি কলব্যাক সংজ্ঞায়িত করে যা ShowSelectUIOperation
থেকে একটি SnapshotSelectUIResponse
পেতে পারে।
পাবলিক ফাংশন
কমিট
void Commit( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback )
অ্যাসিঙ্ক্রোনাসভাবে স্ন্যাপশটে প্রদত্ত ডেটা কমিট করে এবং প্রদত্ত মেটাডেটা অবজেক্ট ব্যবহার করে স্ন্যাপশটের মেটাডেটা আপডেট করে।
অপারেশন সমাপ্তির পরে প্রদত্ত CommitCallback
কল করে।
কমিটব্লকিং
CommitResponse CommitBlocking( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
স্ন্যাপশটে প্রদত্ত ডেটা সিঙ্ক্রোনাস করে, এবং প্রদত্ত মেটাডেটা অবজেক্ট ব্যবহার করে স্ন্যাপশটের মেটাডেটা আপডেট করে।
কমিটব্লকিং
CommitResponse CommitBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
স্ন্যাপশটে প্রদত্ত ডেটা সিঙ্ক্রোনাস করে এবং প্রদত্ত মেটাডেটা অবজেক্ট ব্যবহার করে স্ন্যাপশটের মেটাডেটা আপডেট করে।
মিলিসেকেন্ডে timeout
নির্দিষ্ট করুন।
মুছুন
void Delete( const SnapshotMetadata & snapshot_metadata )
নির্দিষ্ট স্ন্যাপশট মুছে দেয়।
এটি স্থানীয়ভাবে এবং সার্ভারে স্ন্যাপশটের ডেটা মুছে ফেলবে।
সমস্ত আনুন
void FetchAll( FetchAllCallback callback )
বর্তমানে সাইন-ইন করা প্লেয়ারের জন্য অ্যাসিঙ্ক্রোনাসভাবে সমস্ত স্ন্যাপশট ডেটা লোড করে।
অপারেশন শেষ হওয়ার পরে প্রদত্ত FetchAllCallback
কল করে। data_source
নির্দিষ্ট না করা এই ফাংশনটিকে CACHE_OR_NETWORK.
হিসাবে নির্দিষ্ট data_source
সহ FetchAll(DataSource data_source, FetchAllCallback callback)
কল করার সমতুল্য করে তোলে।
সমস্ত আনুন
void FetchAll( DataSource data_source, FetchAllCallback callback )
বর্তমানে সাইন-ইন করা প্লেয়ারের জন্য অ্যাসিঙ্ক্রোনাসভাবে সমস্ত স্ন্যাপশট ডেটা লোড করে।
অপারেশন শেষ হওয়ার পরে প্রদত্ত FetchAllCallback
কল করে। CACHE_OR_NETWORK
বা NETWORK_ONLY
হিসাবে data_source
নির্দিষ্ট করুন।
ফেচঅলব্লকিং
FetchAllResponse FetchAllBlocking()
বর্তমানে সাইন-ইন করা প্লেয়ারের জন্য সিঙ্ক্রোনাসভাবে সমস্ত স্ন্যাপশট ডেটা লোড করে, সরাসরি FetchAllResponse
ফেরত দেয়।
data_source
বা timeout
কোনটিই নির্দিষ্ট করা এই ফাংশনটিকে কল করার সমতুল্য করে তোলে FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
, সাথে data_source
CACHE_OR_NETWORK
হিসাবে নির্দিষ্ট করা হয়েছে এবং 10 বছর হিসাবে নির্দিষ্ট timeout
হয়েছে।
ফেচঅলব্লকিং
FetchAllResponse FetchAllBlocking( DataSource data_source )
বর্তমানে সাইন-ইন করা প্লেয়ারের জন্য সিঙ্ক্রোনাসভাবে সমস্ত স্ন্যাপশট ডেটা লোড করে, সরাসরি FetchAllResponse
ফেরত দেয়।
CACHE_OR_NETWORK
বা NETWORK_ONLY
হিসাবে data_source
নির্দিষ্ট করুন। timeout
নির্দিষ্ট না করা এই ফাংশন কলটিকে FetchAllBlocking FetchAllResponse (DataSource data_source,
Timeout timeout)
কল করার সমতুল্য করে, আপনার নির্দিষ্ট data_source
মান এবং 10 বছর হিসাবে নির্দিষ্ট করা timeout
।
ফেচঅলব্লকিং
FetchAllResponse FetchAllBlocking( Timeout timeout )
বর্তমানে সাইন-ইন করা প্লেয়ারের জন্য সিঙ্ক্রোনাসভাবে সমস্ত স্ন্যাপশট ডেটা লোড করে, সরাসরি FetchAllResponse
ফেরত দেয়।
মিলিসেকেন্ডে timeout
নির্দিষ্ট করুন। data_source
নির্দিষ্ট না করা এই ফাংশনটিকে কল করার সমতুল্য করে তোলে FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
, CACHE_OR_NETWORK
হিসাবে নির্দিষ্ট করা data_source
এবং timeout
আপনার নির্দিষ্ট মান ধারণকারী।
ফেচঅলব্লকিং
FetchAllResponse FetchAllBlocking( DataSource data_source, Timeout timeout )
বর্তমানে সাইন-ইন করা প্লেয়ারের জন্য সিঙ্ক্রোনাসভাবে সমস্ত স্ন্যাপশট ডেটা লোড করে, সরাসরি FetchAllResponse
ফেরত দেয়।
CACHE_OR_NETWORK
বা NETWORK_ONLY
হিসাবে data_source
নির্দিষ্ট করুন। মিলিসেকেন্ডে timeout
নির্দিষ্ট করুন।
GetMaxSize
void GetMaxSize( MaxSizeCallback callback ) const
অ্যাসিঙ্ক্রোনাসভাবে সর্বাধিক ডেটা আকার এবং স্ন্যাপশট প্রতি বাইটে সর্বাধিক কভার চিত্রের আকার পায়।
অপারেশন সমাপ্তির পরে প্রদত্ত MaxSizeCallback
কল করে।
স্ন্যাপশট প্রতি সর্বোচ্চ ডেটা সাইজ কমপক্ষে 3 MB হওয়ার নিশ্চয়তা। ভবিষ্যতে বাড়তে পারে।
স্ন্যাপশট কভার ইমেজ প্রতি সর্বোচ্চ ডেটা সাইজ কমপক্ষে 800 KB হবে। ভবিষ্যতে বাড়তে পারে।
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking() const
সিঙ্ক্রোনাসভাবে সর্বাধিক ডেটা আকার এবং সর্বাধিক কভার চিত্রের আকার প্রতি স্ন্যাপশটে বাইটে পায়, সরাসরি MaxSizeResponse
ফেরত দেয়।
স্ন্যাপশট প্রতি সর্বোচ্চ ডেটা সাইজ কমপক্ষে 3 MB হওয়ার নিশ্চয়তা। ভবিষ্যতে বাড়তে পারে।
স্ন্যাপশট কভার ইমেজ প্রতি সর্বোচ্চ ডেটা সাইজ কমপক্ষে 800 KB হবে। ভবিষ্যতে বাড়তে পারে।
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking( Timeout timeout ) const
সিঙ্ক্রোনাসভাবে সর্বাধিক ডেটা আকার এবং সর্বাধিক কভার চিত্রের আকার প্রতি স্ন্যাপশটে বাইটে পায়, সরাসরি MaxSizeResponse
ফেরত দেয়।
স্ন্যাপশট প্রতি সর্বোচ্চ ডেটা সাইজ কমপক্ষে 3 MB হওয়ার নিশ্চয়তা। ভবিষ্যতে বাড়তে পারে।
স্ন্যাপশট কভার ইমেজ প্রতি সর্বোচ্চ ডেটা সাইজ কমপক্ষে 800 KB হবে। ভবিষ্যতে বাড়তে পারে।
মিলিসেকেন্ডে timeout
নির্দিষ্ট করুন।
খোলা
void Open( const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
অসিঙ্ক্রোনাসভাবে প্রদত্ত নামের সাথে একটি স্ন্যাপশট খোলে।
নির্দিষ্ট স্ন্যাপশট তৈরি করা হবে যদি এটি ইতিমধ্যে বিদ্যমান না থাকে। অপারেশন সমাপ্তির পরে প্রদত্ত OpenCallback
কল করে।
স্ন্যাপশটের নামগুলি অবশ্যই 1 থেকে 100 নন-ইউআরএল-সংরক্ষিত অক্ষরের মধ্যে হতে হবে (az, AZ, 0-9, বা চিহ্নগুলি "-", ".", "_", বা "~")।
বর্তমান ডিভাইসে একটি স্ন্যাপশট লোড করা এবং কমিট করার মধ্যে অন্য ডিভাইস একটি স্ন্যাপশট কমিট করলে বিরোধ ঘটতে পারে। আপনি এই দ্বন্দ্ব সমাধান করতে হবে. দ্বন্দ্ব সম্পর্কে আরো বিস্তারিত জানার জন্য উপরে OpenResponse দেখুন।
conflict_policy
নিম্নলিখিত মানগুলির মধ্যে একটি হতে পারে:
SnapshotConflictPolicy::MANUAL
- একটি বিরোধের ক্ষেত্রে, প্রতিক্রিয়াটিতে OpenResponse::VALID_WITH_CONFLICT
অবস্থা থাকে। আপনাকে অবশ্যই SnapshotManager::ResolveConflict
ব্যবহার করে দ্বন্দ্ব সমাধান করতে হবে। এক সারিতে একাধিক কনফিক্ট দেখা সম্ভব, তাই প্রতিবার Open
কল করার সময় চেক করুন। এটিই একমাত্র নীতি যেখানে আপনি দ্বন্দ্ব দেখতে পাবেন। বাকি আপনার জন্য রেজোলিউশন হ্যান্ডেল. এই নীতি নিশ্চিত করে যে ব্যবহারকারীর সংরক্ষণ গেমের অবস্থার কোনো পরিবর্তন কখনই হারিয়ে যাবে না।
SnapshotConflictPolicy::LONGEST_PLAYTIME
- একটি বিরোধের ক্ষেত্রে, খেলার সময়ের বৃহত্তম মান সহ স্ন্যাপশট ব্যবহার করা হবে৷ এই নীতিটি একটি ভাল পছন্দ যদি খেলার সময়ের দৈর্ঘ্য "সেরা" সংরক্ষণ গেমের জন্য একটি যুক্তিসঙ্গত প্রক্সি হয়৷ মনে রাখবেন যে এই নীতিটি অর্থবহ হওয়ার জন্য গেমগুলি সংরক্ষণ করার সময় আপনাকে অবশ্যই SnapshotMetadataChange::Builder::SetPlayedTime()
ব্যবহার করতে হবে।
SnapshotConflictPolicy::LAST_KNOWN_GOOD
- একটি বিরোধের ক্ষেত্রে, বেস স্ন্যাপশট ব্যবহার করা হবে। আপনার গেমের স্ন্যাপশট ডেটা থেকে স্থিতিশীলতার প্রয়োজন হলে এই নীতিটি একটি যুক্তিসঙ্গত পছন্দ। এই নীতিটি নিশ্চিত করে যে শুধুমাত্র সেই লেখাগুলি যা প্রতিদ্বন্দ্বিতা করা হয়নি প্লেয়ার দ্বারা দেখা যায়, যা নিশ্চিত করে যে সমস্ত ক্লায়েন্ট একত্রিত হবে। দ্রষ্টব্য: পূর্বে SnapshotManager::BASE_WINS
SnapshotConflictPolicy::MOST_RECENTLY_MODIFIED
- একটি বিরোধের ক্ষেত্রে, রিমোট ব্যবহার করা হবে। এই নীতিটি একটি যুক্তিসঙ্গত পছন্দ যদি আপনার গেম একাধিক ডিভাইসে খেলোয়াড়দের তাদের নিজস্ব পরিবর্তনগুলিকে ক্লোবার করে সহ্য করতে পারে। যেহেতু এই নীতি অন্ধভাবে সাম্প্রতিকতম ডেটা বেছে নেয়, এটি সম্ভব যে একজন খেলোয়াড়ের পরিবর্তনগুলি হারিয়ে যেতে পারে। দ্রষ্টব্য: পূর্বে SnapshotManager::REMOTE_WINS
SnapshotConflictPolicy::HIGHEST_PROGRESS
একটি দ্বন্দ্বের ক্ষেত্রে, সর্বোচ্চ অগ্রগতি মান সহ স্ন্যাপশট ব্যবহার করা হবে। টাইয়ের ক্ষেত্রে, এর পরিবর্তে শেষ পরিচিত ভালো স্ন্যাপশটটি বেছে নেওয়া হবে। আপনার গেমটি যদি সেরা সংরক্ষিত গেমটি নির্ধারণ করতে স্ন্যাপশটের অগ্রগতি মান ব্যবহার করে তবে এই নীতিটি একটি ভাল পছন্দ৷ মনে রাখবেন যে এই নীতিটি অর্থবহ হওয়ার জন্য গেমগুলি সংরক্ষণ করার সময় আপনাকে অবশ্যই SnapshotMetadataChange::Builder::SetPlayedTime()
ব্যবহার করতে হবে।
খোলা
void Open( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
অসিঙ্ক্রোনাসভাবে প্রদত্ত নামের সাথে একটি স্ন্যাপশট খোলে।
অবচয়। data_source
উপেক্ষা করা হয়। পরিবর্তে Open(file_name, conflict_policy, callback)
ব্যবহার করুন।
ওপেনব্লকিং
OpenResponse OpenBlocking( const std::string & file_name, SnapshotConflictPolicy conflict_policy )
সিঙ্ক্রোনাসভাবে প্রদত্ত নামের সাথে একটি স্ন্যাপশট খোলে।
নির্দিষ্ট স্ন্যাপশট তৈরি করা হবে যদি এটি ইতিমধ্যে বিদ্যমান না থাকে।
আরও বিস্তারিত জানার জন্য খুলুন দেখুন।
ওপেনব্লকিং
OpenResponse OpenBlocking( Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
সিঙ্ক্রোনাসভাবে প্রদত্ত নামের সাথে একটি স্ন্যাপশট খোলে।
নির্দিষ্ট স্ন্যাপশট তৈরি করা হবে যদি এটি ইতিমধ্যে বিদ্যমান না থাকে।
মিলিসেকেন্ডে timeout
নির্দিষ্ট করুন।
আরও বিস্তারিত জানার জন্য খুলুন দেখুন।
ওপেনব্লকিং
OpenResponse OpenBlocking( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
সিঙ্ক্রোনাসভাবে প্রদত্ত নামের সাথে একটি স্ন্যাপশট খোলে।
অবচয়। data_source
উপেক্ষা করা হয়। পরিবর্তে OpenBlocking(file_name, conflict_policy)
ব্যবহার করুন।
ওপেনব্লকিং
OpenResponse OpenBlocking( DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
সিঙ্ক্রোনাসভাবে প্রদত্ত নামের সাথে একটি স্ন্যাপশট খোলে।
অবচয়। data_source
উপেক্ষা করা হয়। পরিবর্তে OpenBlocking(timeout, file_name, conflict_policy)
ব্যবহার করুন।
পড়ুন
void Read( const SnapshotMetadata & snapshot_metadata, ReadCallback callback )
অ্যাসিঙ্ক্রোনাসভাবে ডিস্ক থেকে একটি স্ন্যাপশট পড়ে, এবং এটি মেমরিতে অনুলিপি করে।
তথ্য সহজ পরিবর্তনের জন্য মান দ্বারা ফিরে পাস করা হয়. এই ফাংশনের প্রতিটি কল একটি সম্পূর্ণ রিড ফলাফল. এর মানে হল যে এটি সাধারণত শুধুমাত্র একবার একটি স্ন্যাপশট পড়া ভাল। অপারেশন সমাপ্তির পরে প্রদত্ত ReadCallback
কল করে।
রিডব্লকিং
ReadResponse ReadBlocking( const SnapshotMetadata & snapshot_metadata )
সিঙ্ক্রোনাসভাবে ডিস্ক থেকে একটি স্ন্যাপশট পড়ে, এবং এটি মেমরিতে অনুলিপি করে।
তথ্য সহজ পরিবর্তনের জন্য মান দ্বারা ফিরে পাস করা হয়. এই ফাংশনের প্রতিটি কল একটি সম্পূর্ণ রিড ফলাফল. এর মানে হল যে এটি সাধারণত শুধুমাত্র একবার একটি স্ন্যাপশট পড়া ভাল। timeout
নির্দিষ্ট না করা এই ফাংশন কলটিকে ReadBlocking ReadBlocking(Timeout timeout,
const SnapshotMetadata & snapshot_metadata)
কল করার সমতুল্য করে তোলে, 10 বছর হিসাবে নির্দিষ্ট timeout
সাথে।
রিডব্লকিং
ReadResponse ReadBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata )
সিঙ্ক্রোনাসভাবে ডিস্কের একটি স্ন্যাপশট পড়ে এবং এটি মেমরিতে অনুলিপি করে।
তথ্য সহজ পরিবর্তনের জন্য মান দ্বারা ফিরে পাস করা হয়. এটিতে প্রতিটি কল একটি সম্পূর্ণ পঠিত হয় তাই সাধারণত শুধুমাত্র একবার একটি স্ন্যাপশট পড়ুন। মিলিসেকেন্ডে timeout
নির্দিষ্ট করুন।
দ্বন্দ্ব সমাধান করুন
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback )
অ্যাসিঙ্ক্রোনাসভাবে প্রদত্ত স্ন্যাপশট থেকে ডেটা ব্যবহার করে একটি দ্বন্দ্ব সমাধান করে।
এটি নির্দিষ্ট স্ন্যাপশট দিয়ে সার্ভারের ডেটা প্রতিস্থাপন করবে। মনে রাখবেন যে এই অপারেশনের ফলে নিজেই একটি দ্বন্দ্ব তৈরি করা সম্ভব, এই ক্ষেত্রে সমাধান পুনরাবৃত্তি করা উচিত।
একটি স্ন্যাপশট সহ এই পদ্ধতিতে কল করা যা ইতিমধ্যেই প্রতিশ্রুতিবদ্ধ হয়েছে বা যা Open এর মাধ্যমে খোলা হয়নি তা BaseStatus::ERROR_INTERNAL অবস্থার সাথে ব্যর্থ হবে৷
অপারেশন সমাপ্তির পরে প্রদত্ত OpenCallback
কল করে।
দ্বন্দ্ব সমাধান করুন
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback )
অ্যাসিঙ্ক্রোনাসভাবে প্রদত্ত ডেটা ব্যবহার করে একটি দ্বন্দ্ব সমাধান করে।
এটি নির্দিষ্ট মেটাডেটা পরিবর্তন এবং contents
দিয়ে সার্ভারের ডেটা প্রতিস্থাপন করবে। মনে রাখবেন যে এই অপারেশনের ফলে নিজেই একটি দ্বন্দ্ব তৈরি করা সম্ভব, এই ক্ষেত্রে সমাধান পুনরাবৃত্তি করা উচিত।
মেটাডেটা পরিবর্তনে অন্তর্ভুক্ত নয় এমন মানগুলি বর্তমানে সার্ভারে থাকা সংস্করণে সমাধান করা হবে৷
মনে রাখবেন contents
মোট আকার GetMaxSize দ্বারা প্রদত্ত maxDataSize
এর বেশি নাও হতে পারে।
একটি স্ন্যাপশট সহ এই পদ্ধতিতে কল করা যা ইতিমধ্যেই প্রতিশ্রুতিবদ্ধ হয়েছে বা যা Open এর মাধ্যমে খোলা হয়নি তা BaseStatus::ERROR_INTERNAL অবস্থার সাথে ব্যর্থ হবে৷
অপারেশন সমাপ্তির পরে প্রদত্ত OpenCallback
কল করে।
মীমাংসা দ্বন্দ্ব ব্লকিং
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
প্রদত্ত স্ন্যাপশট থেকে ডেটা ব্যবহার করে সিঙ্ক্রোনাসভাবে একটি দ্বন্দ্ব সমাধান করে।
এটি নির্দিষ্ট স্ন্যাপশট দিয়ে সার্ভারের ডেটা প্রতিস্থাপন করবে। মনে রাখবেন যে এই অপারেশনের ফলে নিজেই একটি দ্বন্দ্ব তৈরি করা সম্ভব, এই ক্ষেত্রে সমাধান পুনরাবৃত্তি করা উচিত।
একটি স্ন্যাপশট সহ এই পদ্ধতিতে কল করা যা ইতিমধ্যেই প্রতিশ্রুতিবদ্ধ হয়েছে বা যা Open এর মাধ্যমে খোলা হয়নি তা BaseStatus::ERROR_INTERNAL অবস্থার সাথে ব্যর্থ হবে৷
মীমাংসা দ্বন্দ্ব ব্লকিং
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
সিঙ্ক্রোনাসভাবে প্রদত্ত ডেটা ব্যবহার করে একটি দ্বন্দ্ব সমাধান করে।
এটি নির্দিষ্ট মেটাডেটা পরিবর্তন এবং contents
দিয়ে সার্ভারের ডেটা প্রতিস্থাপন করবে। মনে রাখবেন যে এই অপারেশনের ফলে নিজেই একটি দ্বন্দ্ব তৈরি করা সম্ভব, এই ক্ষেত্রে সমাধান পুনরাবৃত্তি করা উচিত।
মেটাডেটা পরিবর্তনে অন্তর্ভুক্ত নয় এমন মানগুলি বর্তমানে সার্ভারে থাকা সংস্করণে সমাধান করা হবে৷
মনে রাখবেন contents
মোট আকার GetMaxSize দ্বারা প্রদত্ত maxDataSize
এর বেশি নাও হতে পারে।
একটি স্ন্যাপশট সহ এই পদ্ধতিতে কল করা যা ইতিমধ্যেই প্রতিশ্রুতিবদ্ধ হয়েছে বা যা Open এর মাধ্যমে খোলা হয়নি তা BaseStatus::ERROR_INTERNAL অবস্থার সাথে ব্যর্থ হবে৷
মীমাংসা দ্বন্দ্ব ব্লকিং
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
প্রদত্ত স্ন্যাপশট থেকে ডেটা ব্যবহার করে সিঙ্ক্রোনাসভাবে একটি দ্বন্দ্ব সমাধান করে।
এটি নির্দিষ্ট স্ন্যাপশট দিয়ে সার্ভারের ডেটা প্রতিস্থাপন করবে। মনে রাখবেন যে এই অপারেশনের ফলে নিজেই একটি দ্বন্দ্ব তৈরি করা সম্ভব, এই ক্ষেত্রে সমাধান পুনরাবৃত্তি করা উচিত।
একটি স্ন্যাপশট সহ এই পদ্ধতিতে কল করা যা ইতিমধ্যেই প্রতিশ্রুতিবদ্ধ হয়েছে বা যা Open এর মাধ্যমে খোলা হয়নি তা BaseStatus::ERROR_INTERNAL অবস্থার সাথে ব্যর্থ হবে৷
মিলিসেকেন্ডে timeout
নির্দিষ্ট করুন।
মীমাংসা দ্বন্দ্ব ব্লকিং
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
সিঙ্ক্রোনাসভাবে প্রদত্ত ডেটা ব্যবহার করে একটি দ্বন্দ্ব সমাধান করে।
এটি নির্দিষ্ট মেটাডেটা পরিবর্তন এবং contents
দিয়ে সার্ভারের ডেটা প্রতিস্থাপন করবে। মনে রাখবেন যে এই অপারেশনের ফলে নিজেই একটি দ্বন্দ্ব তৈরি করা সম্ভব, এই ক্ষেত্রে সমাধান পুনরাবৃত্তি করা উচিত।
মেটাডেটা পরিবর্তনে অন্তর্ভুক্ত নয় এমন মানগুলি বর্তমানে সার্ভারে থাকা সংস্করণে সমাধান করা হবে৷
মনে রাখবেন contents
মোট আকার GetMaxSize দ্বারা প্রদত্ত maxDataSize
এর বেশি নাও হতে পারে।
একটি স্ন্যাপশট সহ এই পদ্ধতিতে কল করা যা ইতিমধ্যেই প্রতিশ্রুতিবদ্ধ হয়েছে বা যা Open এর মাধ্যমে খোলা হয়নি তা BaseStatus::ERROR_INTERNAL অবস্থার সাথে ব্যর্থ হবে৷
মিলিসেকেন্ডে timeout
নির্দিষ্ট করুন।
ShowSelectUIOperation
void ShowSelectUIOperation( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback )
অ্যাসিঙ্ক্রোনাসভাবে স্ন্যাপশট UI দেখায়, প্লেয়ারকে একটি স্ন্যাপশট নির্বাচন করতে বা একটি নতুন স্ন্যাপশটের অনুরোধ করতে দেয়৷
সমাপ্তির পরে, নির্বাচিত স্ন্যাপশট বা নতুন স্ন্যাপশট অনুরোধ SnapshotSelectUICallback
এর মাধ্যমে ফেরত দেওয়া হয়।
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
ShowSelectUIOperation এর ব্লকিং সংস্করণ।
কলারকে ms-এ একটি টাইমআউট নির্দিষ্ট করার অনুমতি দেয়৷ নির্দিষ্ট সময় অতিবাহিত হওয়ার পরে, ফাংশনটি ERROR_TIMEOUT
প্রদান করে।
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
ShowSelectUIOperationBlocking এর ওভারলোড, যা 10 বছরের একটি ডিফল্ট টাইমআউট ব্যবহার করে।