gpg::SnapshotManager

#include <snapshot_manager.h>

מקבל ומגדיר נתונים שונים שקשורים לקובצי snapshot.

סיכום

אם האפליקציה לא מפעילה תמונות מצב בזמן האימות (מידע נוסף זמין במאמר GameServices::Builder::EnableSnapshots), רוב השיטות ב-SnapshotManager ייכשלו.

סוגים ציבוריים

CommitCallback typedef
std::function< void(const CommitResponse &)>
מגדיר סוג של קריאה חוזרת שמקבל CommitResponse.
FetchAllCallback typedef
std::function< void(const FetchAllResponse &)>
מגדיר סוג של קריאה חוזרת שמקבל FetchAllResponse.
MaxSizeCallback typedef
std::function< void(const MaxSizeResponse &)>
מגדיר סוג של קריאה חוזרת שמקבל MaxSizeResponse.
OpenCallback typedef
std::function< void(const OpenResponse &)>
מגדיר סוג של קריאה חוזרת שמקבל OpenResponse.
ReadCallback typedef
std::function< void(const ReadResponse &)>
מגדיר סוג של קריאה חוזרת שמקבל ReadResponse.
SnapshotSelectUICallback typedef
std::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::SnapshotManager::CommitResponse

מכיל את הנתונים של תמונת מצב מעודכנת, יחד עם סטטוס התגובה.

gpg::SnapshotManager::FetchAllResponse

שמירת כל הנתונים של כל תמונות המצב, יחד עם סטטוס התגובה.

gpg::SnapshotManager::MaxSizeResponse

מכיל את הגודל המקסימלי של נתוני תמונת מצב ושל תמונת השער.

gpg::SnapshotManager::OpenResponse

מכיל את הנתונים של קובץ snapshot מבוקש מסוים יחד עם סטטוס התגובה.

gpg::SnapshotManager::ReadResponse

קריאת סטטוס התגובה ונתוני תמונת מצב שהוחזרו מפעולת קריאת תמונת מצב.

gpg::SnapshotManager::SnapshotSelectUIResponse

Data ו-ResponseStatus לפעולה ShowSelectUIOperation.

סוגים ציבוריים

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 שנים.