gpg:: SnapshotManager
#include <snapshot_manager.h>
מקבל ומגדיר נתונים שונים שקשורים לקובצי snapshot.
סיכום
אם האפליקציה לא מפעילה תמונות מצב בזמן האימות (מידע נוסף זמין במאמר 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 &)>
מגדיר קריאה חוזרת (callback) שיכולה לקבל SnapshotSelectUIResponse מ-ShowSelectUIOperation . |
פונקציות ציבוריות |
|
---|---|
Commit(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback)
|
void
שמירה אסינכרונית של הנתונים שסופקו ל-snapshot, ועדכון המטא-נתונים של קובץ ה-snapshot באמצעות אובייקט המטא-נתונים שסופק.
|
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
מבצע שמירה באופן סינכרוני של הנתונים שסופקו בתמונת המצב, ועדכון המטא-נתונים של קובץ ה-snapshot באמצעות אובייקט המטא-נתונים שסופק.
|
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
טוען באופן אסינכרוני את כל נתוני קובץ ה-snapshot של הנגן שמחובר כרגע.
|
FetchAll(DataSource data_source, FetchAllCallback callback)
|
void
טוען באופן אסינכרוני את כל נתוני קובץ ה-snapshot של הנגן שמחובר כרגע.
|
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)
|
פתרון סינכרוני באמצעות הנתונים מקובץ ה-snapshot שסופק.
|
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)
|
פתרון סינכרוני באמצעות הנתונים מקובץ ה-snapshot שסופק.
|
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
מציג באופן אסינכרוני את ממשק המשתמש של תמונת המצב, ומאפשר לנגן לבחור קובץ snapshot או לבקש תמונת מצב חדשה.
|
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:: |
מכיל את הנתונים של קובץ snapshot מבוקש מסוים יחד עם סטטוס התגובה. |
gpg:: |
קריאת סטטוס התגובה ונתוני תמונת מצב שהוחזרו מפעולת קריאת תמונת מצב. |
gpg:: |
|
סוגים ציבוריים
CommitCallback
std::function< void(const CommitResponse &)> CommitCallback
מגדיר סוג של קריאה חוזרת שמקבל CommitResponse
.
סוג הקריאה החוזרת הזה זמין לפונקציות Commit(*)
ו-ResolveConflict(*)
שבהמשך.
FetchAllCallback
std::function< void(const FetchAllResponse &)> FetchAllCallback
מגדיר סוג של קריאה חוזרת שמקבל FetchAllResponse
.
סוג הקריאה החוזרת הזה זמין לפונקציות FetchAll(*)
שמפורטות בהמשך.
MaxSizeCallback
std::function< void(const MaxSizeResponse &)> MaxSizeCallback
מגדיר סוג של קריאה חוזרת שמקבל MaxSizeResponse
.
סוג הקריאה החוזרת הזה זמין ל-GetMaxSize.
OpenCallback
std::function< void(const OpenResponse &)> OpenCallback
מגדיר סוג של קריאה חוזרת שמקבל OpenResponse
.
סוג הקריאה החוזרת הזה זמין לפונקציות Open(*)
שמפורטות בהמשך.
ReadCallback
std::function< void(const ReadResponse &)> ReadCallback
מגדיר סוג של קריאה חוזרת שמקבל ReadResponse
.
סוג הקריאה החוזרת הזה זמין לפונקציות 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 )
שמירה אסינכרונית של הנתונים שסופקו ל-snapshot, ועדכון המטא-נתונים של קובץ ה-snapshot באמצעות אובייקט המטא-נתונים שסופק.
הפונקציה מפעילה את ה-CommitCallback
שסופקו עם סיום הפעולה.
CommitBlocking
CommitResponse CommitBlocking( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
מבצע שמירה באופן סינכרוני של הנתונים שסופקו בתמונת המצב, ועדכון המטא-נתונים של קובץ ה-snapshot באמצעות אובייקט המטא-נתונים שסופק.
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 )
טוען באופן אסינכרוני את כל נתוני קובץ ה-snapshot של הנגן שמחובר כרגע.
הפונקציה מפעילה את ה-FetchAllCallback
שסופקו עם סיום הפעולה. אם לא מציינים את הפרמטר data_source
, הקריאה של הפונקציה הזו מקבילה לקריאה ל-FetchAll(DataSource data_source, FetchAllCallback callback)
, כאשר data_source
מצוין בתור CACHE_OR_NETWORK.
FetchAll
void FetchAll( DataSource data_source, FetchAllCallback callback )
טוען באופן אסינכרוני את כל נתוני קובץ ה-snapshot של הנגן שמחובר כרגע.
הפונקציה מפעילה את ה-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
שסופקו עם סיום הפעולה.
השמות של תמונות המצב חייבים לכלול בין 1 ל-100 תווים שאינם כתובות URL שמורות (a-z, A-Z, 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)
.
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 )
פתרון סינכרוני באמצעות הנתונים מקובץ ה-snapshot שסופק.
הפעולה הזו תחליף את הנתונים בשרת בתמונת המצב שצוינה. חשוב לשים לב שהפעולה הזו יכולה להוביל להתנגשות עצמה, ובמקרה כזה צריך לחזור על פתרון.
קריאה לשיטה הזו באמצעות תמונת מצב שכבר בוצעה או שלא נפתחה דרך 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 )
פתרון סינכרוני באמצעות הנתונים מקובץ ה-snapshot שסופק.
הפעולה הזו תחליף את הנתונים בשרת בתמונת המצב שצוינה. חשוב לשים לב שהפעולה הזו יכולה להוביל להתנגשות עצמה, ובמקרה כזה צריך לחזור על פתרון.
קריאה לשיטה הזו באמצעות תמונת מצב שכבר בוצעה או שלא נפתחה דרך 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 )
מציג באופן אסינכרוני את ממשק המשתמש של תמונת המצב, ומאפשר לנגן לבחור קובץ snapshot או לבקש תמונת מצב חדשה.
בסיום התהליך, תמונת המצב שנבחרה או הבקשה החדשה לתמונת המצב מוחזרת דרך SnapshotSelectUICallback
.
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
גרסת חסימה של ShowSelectUIOperation.
מאפשרת למתקשר לציין זמן קצוב לתפוגה באלפיות השנייה. אחרי הזמן שצוין, הפונקציה מחזירה ERROR_TIMEOUT
.
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
עומס יתר של ShowSelectUIOperationBlocking, שבו הזמן הקצוב לתפוגה שמוגדר כברירת מחדל הוא 10 שנים.