gpg:: SnapshotManager
#include <snapshot_manager.h>
מקבל ומגדיר נתונים שונים הקשורים לצילומי מסך.
סיכום
אם האפליקציה לא מפעילה תמונות מצב בזמן האימות (ניתן לעיין במאמר GameServices::Builder::EnableSnapshots), רוב השיטות ב-SnapshotManager
ייכשלו.
סוגים ציבוריים |
|
---|---|
CommitCallback
|
typedefstd::function< void(const CommitResponse &)>
מגדיר סוג קריאה חוזרת (callback) שמקבל CommitResponse . |
FetchAllCallback
|
typedefstd::function< void(const FetchAllResponse &)>
מגדיר סוג קריאה חוזרת (callback) שמקבל FetchAllResponse . |
MaxSizeCallback
|
typedefstd::function< void(const MaxSizeResponse &)>
מגדיר סוג קריאה חוזרת (callback) שמקבל MaxSizeResponse . |
OpenCallback
|
typedefstd::function< void(const OpenResponse &)>
מגדיר סוג קריאה חוזרת (callback) שמקבל OpenResponse . |
ReadCallback
|
typedefstd::function< void(const ReadResponse &)>
מגדיר סוג קריאה חוזרת (callback) שמקבל ReadResponse . |
SnapshotSelectUICallback
|
typedefstd::function< void(const SnapshotSelectUIResponse &)>
מגדירה קריאה חוזרת (callback) שיכולה לקבל SnapshotSelectUIResponse מ-ShowSelectUIOperation . |
תפקידים ציבוריים |
|
---|---|
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
קורא קובץ snapshot מהדיסק באופן אסינכרוני ומעתיק אותו לזיכרון.
|
ReadBlocking(const SnapshotMetadata & snapshot_metadata)
|
קורא באופן סינכרוני קובץ snapshot מהדיסק, ומעתיק אותו לזיכרון.
|
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
|
קורא באופן סינכרוני קובץ snapshot מהדיסק ומעתיק אותו לזיכרון.
|
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback)
|
void
פותר התנגשות באופן אסינכרוני באמצעות נתונים מקובץ ה-snapshot שסופק.
|
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
מציג באופן אסינכרוני את ממשק המשתמש של תמונת המצב, וכך מאפשר לנגן לבחור תמונת מצב או לבקש תמונת מצב חדשה.
|
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:: |
מכיל את הנתונים של תמונת מצב מעודכנת, ביחד עם סטטוס תגובה. |
gpg:: |
מכיל את כל הנתונים לכל תמונות המצב, יחד עם סטטוס התגובה. |
gpg:: |
שמירת הגודל המקסימלי של נתוני תמונת מצב ועבור תמונת השער של תמונת השער. |
gpg:: |
מכילה את הנתונים של תמונת מצב מבוקשת מסוימת, ביחד עם סטטוס התגובה. |
gpg:: |
קורא את סטטוס התגובה ואת נתוני תמונת המצב שהוחזרו מפעולת קריאה של תמונת מצב. |
gpg:: |
|
סוגים ציבוריים
CommitCallback
std::function< void(const CommitResponse &)> CommitCallback
מגדיר סוג קריאה חוזרת (callback) שמקבל CommitResponse
.
סוג הקריאה החוזרת (callback) הזה מסופק לפונקציות Commit(*)
ו-ResolveConflict(*)
שמפורטות בהמשך.
FetchAllCallback
std::function< void(const FetchAllResponse &)> FetchAllCallback
מגדיר סוג קריאה חוזרת (callback) שמקבל FetchAllResponse
.
סוג הקריאה החוזרת (callback) הזה מסופק לפונקציות FetchAll(*)
שמפורטות בהמשך.
MaxSizeCallback
std::function< void(const MaxSizeResponse &)> MaxSizeCallback
מגדיר סוג קריאה חוזרת (callback) שמקבל MaxSizeResponse
.
הסוג הזה של התקשרות חזרה ניתן ל-GetMaxSize.
OpenCallback
std::function< void(const OpenResponse &)> OpenCallback
מגדיר סוג קריאה חוזרת (callback) שמקבל OpenResponse
.
סוג הקריאה החוזרת (callback) הזה מסופק לפונקציות Open(*)
שמפורטות בהמשך.
ReadCallback
std::function< void(const ReadResponse &)> ReadCallback
מגדיר סוג קריאה חוזרת (callback) שמקבל ReadResponse
.
סוג הקריאה החוזרת (callback) הזה מסופק לפונקציות Read(*)
שמפורטות בהמשך.
SnapshotSelectUICallback
std::function< void(const SnapshotSelectUIResponse &)> SnapshotSelectUICallback
מגדירה קריאה חוזרת (callback) שיכולה לקבל SnapshotSelectUIResponse
מ-ShowSelectUIOperation
.
תפקידים ציבוריים
בצע
void Commit( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback )
שומר באופן אסינכרוני את הנתונים שסופקו על תמונת המצב, ומעדכנת את המטא-נתונים של התמונה באמצעות אובייקט המטא-נתונים שסופק.
קריאה ל-CommitCallback
שסופק בסיום הפעולה.
CommitBlocking
CommitResponse CommitBlocking( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
שומר באופן סינכרוני את הנתונים שסופקו לתמונת המצב, ומעדכנת את המטא-נתונים של תמונת המצב באמצעות אובייקט המטא-נתונים שסופק.
CommitBlocking
CommitResponse CommitBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
שומר באופן סינכרוני את הנתונים שסופקו לתמונת המצב, ומעדכן את המטא-נתונים של תמונת המצב באמצעות אובייקט המטא-נתונים שסופק.
יש לציין timeout
באלפיות שנייה.
מחיקה
void Delete( const SnapshotMetadata & snapshot_metadata )
מחיקת תמונת המצב שצוינה.
הפעולה הזו תמחק את הנתונים של תמונת המצב באופן מקומי ובשרת.
FetchAll
void FetchAll( FetchAllCallback callback )
טעינה אסינכרונית של כל נתוני תמונת המצב של הנגן המחובר כעת.
קריאה ל-FetchAllCallback
שסופק בסיום הפעולה. אם לא מציינים data_source
, הפונקציה הזו מקבילה לקריאה לפונקציה FetchAll(DataSource data_source, FetchAllCallback callback)
, כאשר data_source
מצוין בתור CACHE_OR_NETWORK.
FetchAll
void FetchAll( DataSource data_source, FetchAllCallback callback )
טעינה אסינכרונית של כל נתוני תמונת המצב של הנגן המחובר כעת.
קריאה ל-FetchAllCallback
שסופק בסיום הפעולה. יש לציין data_source
בתור CACHE_OR_NETWORK
או NETWORK_ONLY
.
FetchAllBlocking
FetchAllResponse FetchAllBlocking()
טוען באופן סינכרוני את כל נתוני תמונת המצב של הנגן המחובר כעת, ומחזיר את ה-FetchAllResponse
ישירות.
אם לא מציינים data_source
וגם לא timeout
, הפעלת הפונקציה הזו היא שוות-ערך לקריאה לפונקציה FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
, כאשר data_source
מצוין כ-CACHE_OR_NETWORK
ו-timeout
מוגדר כ-10 שנים.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source )
טוען באופן סינכרוני את כל נתוני תמונת המצב של הנגן המחובר כעת, ומחזיר את ה-FetchAllResponse
ישירות.
יש לציין data_source
בתור CACHE_OR_NETWORK
או NETWORK_ONLY
. אם לא מציינים timeout
, הפונקציה הזו מקבילה לקריאה לפונקציה FetchAllBlocking FetchAllResponse(DataSource data_source,
Timeout timeout)
, עם הערך שצוין ב-data_source
ול-timeout
יש לציין 10 שנים.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( Timeout timeout )
טוען באופן סינכרוני את כל נתוני תמונת המצב של הנגן המחובר כעת, ומחזיר את ה-FetchAllResponse
ישירות.
יש לציין timeout
באלפיות שנייה. אם לא מציינים data_source
, הפעלת הפונקציה הזו היא שוות-ערך לקריאה ל-FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
, כאשר data_source
מצוין כ-CACHE_OR_NETWORK
ו-timeout
מכיל את הערך שצוין.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source, Timeout timeout )
טוען באופן סינכרוני את כל נתוני תמונת המצב של הנגן המחובר כעת, ומחזיר את ה-FetchAllResponse
ישירות.
יש לציין data_source
בתור CACHE_OR_NETWORK
או NETWORK_ONLY
. יש לציין timeout
באלפיות שנייה.
GetMaxSize
void GetMaxSize( MaxSizeCallback callback ) const
מקבל באופן אסינכרוני את גודל הנתונים המקסימלי ואת גודל תמונת השער המקסימלי לכל תמונה בבייטים.
קריאה ל-MaxSizeCallback
שסופק בסיום הפעולה.
גודל הנתונים המקסימלי לכל תמונת מצב יהיה לפחות 3MB. עשוי לגדול בעתיד.
גודל הנתונים המקסימלי לכל תמונת שער הוא לפחות 800KB. עשוי לגדול בעתיד.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking() const
מקבל באופן סינכרוני את גודל הנתונים המקסימלי ואת גודל תמונת השער המקסימלי לכל תמונת מצב בבייטים, והחזרת ישירות את MaxSizeResponse
.
גודל הנתונים המקסימלי לכל תמונת מצב יהיה לפחות 3MB. עשוי לגדול בעתיד.
גודל הנתונים המקסימלי לכל תמונת שער הוא לפחות 800KB. עשוי לגדול בעתיד.
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking( Timeout timeout ) const
מקבל באופן סינכרוני את גודל הנתונים המקסימלי ואת גודל תמונת השער המקסימלי לכל תמונת מצב בבייטים, והחזרת ישירות את MaxSizeResponse
.
גודל הנתונים המקסימלי לכל תמונת מצב יהיה לפחות 3MB. עשוי לגדול בעתיד.
גודל הנתונים המקסימלי לכל תמונת שער הוא לפחות 800KB. עשוי לגדול בעתיד.
יש לציין timeout
באלפיות שנייה.
פתוח
void Open( const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
פתיחה אסינכרונית של תמונת מצב עם השם הנתון.
תמונת המצב שצוינה תיווצר אם היא עדיין לא קיימת. קריאה ל-OpenCallback
שסופק בסיום הפעולה.
השמות של קובצי ה-snapshot חייבים לכלול בין 1 ל-100 תווים שלא שמורים בכתובות URL (a-z, A-Z, 0-9 או הסמלים '-', '.', '_' או '~').
התנגשויות עשויות להתרחש אם מכשיר אחר יוצר תמונת מצב בין טעינה לבין ביצוע תמונת מצב במכשיר הנוכחי. עליך לפתור את הסתירות האלה. לפרטים נוספים על התנגשויות, אפשר לעיין בקטע OpenResponse שלמעלה.
הערך conflict_policy
יכול להיות אחד מהערכים הבאים:
SnapshotConflictPolicy::MANUAL
– במקרה של סתירה, המצב של התגובה יהיה OpenResponse::VALID_WITH_CONFLICT
. צריך לפתור את ההתנגשות באמצעות SnapshotManager::ResolveConflict
. ייתכן שאפשר לראות כמה ספקויות בשורה, לכן חשוב לבדוק בכל פעם שמתקשרים ל-Open
. זוהי המדיניות היחידה שבה תופיע ההתנגשות. שאר המערכות שלנו יטפלו ברזולוציה הרצויה. המדיניות הזו מבטיחה ששינויים של המשתמשים במצב של המשחק השמור לא יאבדו אף פעם.
SnapshotConflictPolicy::LONGEST_PLAYTIME
– במקרה של התנגשות, ייעשה שימוש בקובץ ה-snapshot עם ערך זמן ההפעלה הגדול ביותר. המדיניות הזו מתאימה אם משך זמן המשחק הוא ממוצע סביר למשחק השמירה 'הטוב ביותר'. לתשומת ליבך: כדי שלמדיניות הזו תהיה משמעות, צריך להשתמש ב-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)
.
OpenBlocking
OpenResponse OpenBlocking( const std::string & file_name, SnapshotConflictPolicy conflict_policy )
פותח באופן סינכרוני תמונת מצב עם השם הנתון.
תמונת המצב שצוינה תיווצר אם היא עדיין לא קיימת.
לפרטים נוספים, אפשר לעיין בקטע פתיחה.
OpenBlocking
OpenResponse OpenBlocking( Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
פותח באופן סינכרוני תמונת מצב עם השם הנתון.
תמונת המצב שצוינה תיווצר אם היא עדיין לא קיימת.
יש לציין timeout
באלפיות שנייה.
לפרטים נוספים, אפשר לעיין בקטע פתיחה.
OpenBlocking
OpenResponse OpenBlocking( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
פותח באופן סינכרוני תמונת מצב עם השם הנתון.
הוצא משימוש.
המערכת מתעלמת מ-data_source
. במקומה צריך להשתמש במדיניות OpenBlocking(file_name, conflict_policy)
.
OpenBlocking
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 )
קורא קובץ snapshot מהדיסק באופן אסינכרוני ומעתיק אותו לזיכרון.
כדי לשנות את הנתונים בקלות רבה יותר, הנתונים מוחזרים לפי ערך. כל קריאה לפונקציה הזו מובילה לקריאה מלאה. פירוש הדבר הוא שבדרך כלל מומלץ לקרוא תמונת מצב פעם אחת בלבד. קריאה ל-ReadCallback
שסופק בסיום הפעולה.
ReadBlocking
ReadResponse ReadBlocking( const SnapshotMetadata & snapshot_metadata )
קורא באופן סינכרוני קובץ snapshot מהדיסק, ומעתיק אותו לזיכרון.
כדי לשנות את הנתונים בקלות רבה יותר, הנתונים מוחזרים לפי ערך. כל קריאה לפונקציה הזו מובילה לקריאה מלאה. פירוש הדבר הוא שבדרך כלל מומלץ לקרוא תמונת מצב פעם אחת בלבד. אם לא מציינים את timeout
, הפונקציה הזו שוות ערך לקריאה לפונקציה ReadBlocking ReadBlocking(Timeout timeout,
const SnapshotMetadata& snapshot_metadata)
, כאשר timeout
מוגדר ל-10 שנים.
ReadBlocking
ReadResponse ReadBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata )
קורא באופן סינכרוני קובץ snapshot מהדיסק ומעתיק אותו לזיכרון.
כדי לשנות את הנתונים בקלות רבה יותר, הנתונים מוחזרים לפי ערך. כל קריאה לפעולה הזו מבצעת קריאה מלאה, כך שלרוב קריאה של תמונת מצב תתבצע רק פעם אחת. יש לציין timeout
באלפיות שנייה.
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback )
פותר התנגשות באופן אסינכרוני באמצעות נתונים מקובץ ה-snapshot שסופק.
פעולה זו תחליף את הנתונים בשרת בתמונת המצב שצוינה. הערה: הפעולה הזו יכולה לגרום להתנגשות עצמה, ובמקרה כזה צריך לחזור על הפתרון.
הפעלת השיטה הזו באמצעות תמונת מצב שכבר בוצעה או שלא נפתחה דרך Open תיכשל בסטטוס BaseStatus::ERROR_INTERNAL.
קריאה ל-OpenCallback
שסופק בסיום הפעולה.
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback )
פותרת התנגשות באופן אסינכרוני באמצעות הנתונים שסופקו.
הפעולה הזו תחליף את הנתונים בשרת בשינויים שצוינו במטא-נתונים וב-contents
. הערה: הפעולה הזו יכולה לגרום להתנגשות עצמה, ובמקרה כזה צריך לחזור על הפתרון.
ערכים שלא ייכללו בשינוי המטא-נתונים יסומנו לגרסה שנמצאת כרגע בשרת.
לתשומת ליבכם, הגודל הכולל של הcontents
לא יכול לחרוג מהגודל maxDataSize
שסופק על ידי GetMaxSize.
הפעלת השיטה הזו באמצעות תמונת מצב שכבר בוצעה או שלא נפתחה דרך Open תיכשל בסטטוס BaseStatus::ERROR_INTERNAL.
קריאה ל-OpenCallback
שסופק בסיום הפעולה.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
פותרת התנגשות באופן סינכרוני באמצעות נתונים מתמונת המצב שסופקה.
פעולה זו תחליף את הנתונים בשרת בתמונת המצב שצוינה. הערה: הפעולה הזו יכולה לגרום להתנגשות עצמה, ובמקרה כזה צריך לחזור על הפתרון.
הפעלת השיטה הזו באמצעות תמונת מצב שכבר בוצעה או שלא נפתחה דרך Open תיכשל בסטטוס BaseStatus::ERROR_INTERNAL.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
פותרת התנגשות באופן סינכרוני באמצעות הנתונים שסופקו.
הפעולה הזו תחליף את הנתונים בשרת בשינויים שצוינו במטא-נתונים וב-contents
. הערה: הפעולה הזו יכולה לגרום להתנגשות עצמה, ובמקרה כזה צריך לחזור על הפתרון.
ערכים שלא ייכללו בשינוי המטא-נתונים יסומנו לגרסה שנמצאת כרגע בשרת.
לתשומת ליבכם, הגודל הכולל של הcontents
לא יכול לחרוג מהגודל maxDataSize
שסופק על ידי GetMaxSize.
הפעלת השיטה הזו באמצעות תמונת מצב שכבר בוצעה או שלא נפתחה דרך Open תיכשל בסטטוס BaseStatus::ERROR_INTERNAL.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
פותרת התנגשות באופן סינכרוני באמצעות נתונים מתמונת המצב שסופקה.
פעולה זו תחליף את הנתונים בשרת בתמונת המצב שצוינה. הערה: הפעולה הזו יכולה לגרום להתנגשות עצמה, ובמקרה כזה צריך לחזור על הפתרון.
הפעלת השיטה הזו באמצעות תמונת מצב שכבר בוצעה או שלא נפתחה דרך Open תיכשל בסטטוס BaseStatus::ERROR_INTERNAL.
יש לציין timeout
באלפיות שנייה.
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
פותרת התנגשות באופן סינכרוני באמצעות הנתונים שסופקו.
הפעולה הזו תחליף את הנתונים בשרת בשינויים שצוינו במטא-נתונים וב-contents
. הערה: הפעולה הזו יכולה לגרום להתנגשות עצמה, ובמקרה כזה צריך לחזור על הפתרון.
ערכים שלא ייכללו בשינוי המטא-נתונים יסומנו לגרסה שנמצאת כרגע בשרת.
לתשומת ליבכם, הגודל הכולל של הcontents
לא יכול לחרוג מהגודל maxDataSize
שסופק על ידי GetMaxSize.
הפעלת השיטה הזו באמצעות תמונת מצב שכבר בוצעה או שלא נפתחה דרך Open תיכשל בסטטוס BaseStatus::ERROR_INTERNAL.
יש לציין timeout
באלפיות שנייה.
ShowSelectUIOperation
void ShowSelectUIOperation( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback )
מציג באופן אסינכרוני את ממשק המשתמש של תמונת המצב, וכך מאפשר לנגן לבחור תמונת מצב או לבקש תמונת מצב חדשה.
בסיום התהליך, תמונת המצב שנבחרה או בקשת תמונת המצב החדשה יוחזרו באמצעות 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 שנים.