gpg::SnapshotManager

#include <snapshot_manager.h>

Lấy và thiết lập nhiều dữ liệu liên quan đến ảnh chụp nhanh.

Tóm tắt

Nếu ứng dụng không bật bản tổng quan nhanh tại thời điểm xác thực (xem GameServices::Builder::EnableSnapshots) thì hầu hết các phương thức trên SnapshotManager sẽ không thực hiện được.

Loại công khai

CommitCallback typedef
std::function< void(const CommitResponse &)>
Xác định loại lệnh gọi lại nhận CommitResponse.
FetchAllCallback typedef
std::function< void(const FetchAllResponse &)>
Xác định loại lệnh gọi lại nhận FetchAllResponse.
MaxSizeCallback typedef
std::function< void(const MaxSizeResponse &)>
Xác định loại lệnh gọi lại nhận MaxSizeResponse.
OpenCallback typedef
std::function< void(const OpenResponse &)>
Xác định loại lệnh gọi lại nhận OpenResponse.
ReadCallback typedef
std::function< void(const ReadResponse &)>
Xác định loại lệnh gọi lại nhận ReadResponse.
SnapshotSelectUICallback typedef
std::function< void(const SnapshotSelectUIResponse &)>
Xác định lệnh gọi lại có thể nhận SnapshotSelectUIResponse từ ShowSelectUIOperation.

Hàm công khai

Commit(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback)
void
Ghi không đồng bộ dữ liệu đã cung cấp vào bản tổng quan nhanh, đồng thời cập nhật siêu dữ liệu của bản tổng quan nhanh bằng đối tượng siêu dữ liệu được cung cấp.
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Xác nhận đồng bộ dữ liệu được cung cấp vào bản tổng quan nhanh và cập nhật siêu dữ liệu của bản tổng quan nhanh bằng đối tượng siêu dữ liệu được cung cấp.
CommitBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Xác nhận đồng bộ dữ liệu được cung cấp vào bản tổng quan nhanh và cập nhật siêu dữ liệu của bản tổng quan nhanh bằng đối tượng siêu dữ liệu được cung cấp.
Delete(const SnapshotMetadata & snapshot_metadata)
void
Xoá bản tổng quan nhanh đã chỉ định.
FetchAll(FetchAllCallback callback)
void
Tải không đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập.
FetchAll(DataSource data_source, FetchAllCallback callback)
void
Tải không đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập.
FetchAllBlocking()
Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho người chơi hiện đang đăng nhập, trực tiếp trả về FetchAllResponse.
FetchAllBlocking(DataSource data_source)
Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho người chơi hiện đang đăng nhập, trực tiếp trả về FetchAllResponse.
FetchAllBlocking(Timeout timeout)
Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho người chơi hiện đang đăng nhập, trực tiếp trả về FetchAllResponse.
FetchAllBlocking(DataSource data_source, Timeout timeout)
Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho người chơi hiện đang đăng nhập, trực tiếp trả về FetchAllResponse.
GetMaxSize(MaxSizeCallback callback) const
void
Nhận kích thước dữ liệu tối đa và kích thước ảnh bìa tối đa cho mỗi ảnh chụp nhanh tính bằng byte một cách không đồng bộ.
GetMaxSizeBlocking() const
Nhận kích thước dữ liệu tối đa và kích thước ảnh bìa tối đa cho mỗi ảnh chụp nhanh tính bằng byte một cách đồng bộ, trực tiếp trả về MaxSizeResponse.
GetMaxSizeBlocking(Timeout timeout) const
Nhận kích thước dữ liệu tối đa và kích thước ảnh bìa tối đa cho mỗi ảnh chụp nhanh tính bằng byte một cách đồng bộ, trực tiếp trả về MaxSizeResponse.
Open(const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
Mở ảnh chụp nhanh có tên đã cho một cách không đồng bộ.
Open(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
Không dùng nữa. data_source sẽ bị bỏ qua. Thay vào đó, hãy sử dụng Open(file_name, conflict_policy, callback).
Mở ảnh chụp nhanh có tên đã cho một cách không đồng bộ.
OpenBlocking(const std::string & file_name, SnapshotConflictPolicy conflict_policy)
Mở ảnh chụp nhanh có tên đã cho một cách đồng bộ.
OpenBlocking(Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
Mở ảnh chụp nhanh có tên đã cho một cách đồng bộ.
OpenBlocking(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy) Không dùng nữa. data_source sẽ bị bỏ qua. Thay vào đó, hãy sử dụng OpenBlocking(file_name, conflict_policy).
Mở ảnh chụp nhanh có tên đã cho một cách đồng bộ.
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy) Không dùng nữa. data_source sẽ bị bỏ qua. Thay vào đó, hãy sử dụng OpenBlocking(timeout, file_name, conflict_policy).
Mở ảnh chụp nhanh có tên đã cho một cách đồng bộ.
Read(const SnapshotMetadata & snapshot_metadata, ReadCallback callback)
void
Đọc một cách không đồng bộ ảnh chụp nhanh từ ổ đĩa và sao chép nó vào bộ nhớ.
ReadBlocking(const SnapshotMetadata & snapshot_metadata)
Đọc đồng bộ ảnh chụp nhanh từ ổ đĩa và sao chép ảnh đó vào bộ nhớ.
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
Đọc đồng bộ ảnh chụp nhanh từ ổ đĩa và sao chép ảnh đó vào bộ nhớ.
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback)
void
Giải quyết xung đột một cách không đồng bộ bằng cách sử dụng dữ liệu từ ảnh chụp nhanh được cung cấp.
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback)
void
Giải quyết xung đột một cách không đồng bộ bằng cách sử dụng dữ liệu đã cung cấp.
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
Giải quyết xung đột một cách đồng bộ bằng cách sử dụng dữ liệu từ bản tổng quan nhanh được cung cấp.
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Giải quyết xung đột một cách đồng bộ bằng cách sử dụng dữ liệu được cung cấp.
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
Giải quyết xung đột một cách đồng bộ bằng cách sử dụng dữ liệu từ bản tổng quan nhanh được cung cấp.
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
Giải quyết xung đột một cách đồng bộ bằng cách sử dụng dữ liệu được cung cấp.
ShowSelectUIOperation(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback)
void
Hiển thị không đồng bộ giao diện người dùng của bản tổng quan nhanh, cho phép trình phát chọn một bản tổng quan nhanh hoặc yêu cầu một bản tổng quan nhanh mới.
ShowSelectUIOperationBlocking(Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
Chặn phiên bản của ShowSelectUIOperation.
ShowSelectUIOperationBlocking(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
Tình trạng quá tải ShowSelectUIOperationBlocking, sử dụng thời gian chờ mặc định là 10 năm.

Cấu trúc

gpg::SnapshotManager::CommitResponse

Lưu giữ dữ liệu của thông tin tổng quan nhanh đã cập nhật, cùng với trạng thái phản hồi.

gpg::SnapshotManager::FetchAllResponse

Lưu giữ mọi dữ liệu của mọi bản tổng quan nhanh, cùng với trạng thái phản hồi.

gpg::SnapshotManager::MaxSizeResponse

Lưu giữ kích thước tối đa cho dữ liệu tổng quan nhanh và ảnh bìa tổng quan nhanh.

gpg::SnapshotManager::OpenResponse

Lưu giữ dữ liệu của một bản tổng quan nhanh theo yêu cầu cụ thể cùng với trạng thái phản hồi.

gpg::SnapshotManager::ReadResponse

Đọc trạng thái phản hồi và dữ liệu ảnh chụp nhanh được trả về từ thao tác đọc ảnh chụp nhanh.

gpg::SnapshotManager::SnapshotSelectUIResponse

DataResponseStatus cho thao tác ShowSelectUIOperation.

Loại công khai

CommitCallback

std::function< void(const CommitResponse &)> CommitCallback

Xác định loại lệnh gọi lại nhận CommitResponse.

Loại lệnh gọi lại này được cung cấp cho các hàm Commit(*)ResolveConflict(*) bên dưới.

FetchAllCallback

std::function< void(const FetchAllResponse &)> FetchAllCallback

Xác định loại lệnh gọi lại nhận FetchAllResponse.

Loại lệnh gọi lại này được cung cấp cho các hàm FetchAll(*) dưới đây.

MaxSizeCallback

std::function< void(const MaxSizeResponse &)> MaxSizeCallback

Xác định loại lệnh gọi lại nhận MaxSizeResponse.

Loại lệnh gọi lại này được cung cấp cho GetMaxSize.

OpenCallback

std::function< void(const OpenResponse &)> OpenCallback

Xác định loại lệnh gọi lại nhận OpenResponse.

Loại lệnh gọi lại này được cung cấp cho các hàm Open(*) dưới đây.

ReadCallback

std::function< void(const ReadResponse &)> ReadCallback

Xác định loại lệnh gọi lại nhận ReadResponse.

Loại lệnh gọi lại này được cung cấp cho các hàm Read(*) dưới đây.

SnapshotSelectUICallback

std::function< void(const SnapshotSelectUIResponse &)> SnapshotSelectUICallback

Xác định lệnh gọi lại có thể nhận SnapshotSelectUIResponse từ ShowSelectUIOperation.

Hàm công khai

Cam kết

void Commit(
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > data,
  CommitCallback callback
)

Ghi không đồng bộ dữ liệu đã cung cấp vào bản tổng quan nhanh, đồng thời cập nhật siêu dữ liệu của bản tổng quan nhanh bằng đối tượng siêu dữ liệu được cung cấp.

Gọi CommitCallback đã cung cấp sau khi hoàn tất thao tác.

CommitBlocking

CommitResponse CommitBlocking(
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

Xác nhận đồng bộ dữ liệu được cung cấp vào bản tổng quan nhanh và cập nhật siêu dữ liệu của bản tổng quan nhanh bằng đối tượng siêu dữ liệu được cung cấp.

CommitBlocking

CommitResponse CommitBlocking(
  Timeout timeout,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

Xác nhận đồng bộ dữ liệu được cung cấp vào bản tổng quan nhanh và cập nhật siêu dữ liệu của bản tổng quan nhanh bằng đối tượng siêu dữ liệu được cung cấp.

Chỉ định timeout theo mili giây.

Xoá

void Delete(
  const SnapshotMetadata & snapshot_metadata
)

Xoá bản tổng quan nhanh đã chỉ định.

Thao tác này sẽ xoá dữ liệu của bản tổng quan nhanh trên máy và trên máy chủ.

FetchAll

void FetchAll(
  FetchAllCallback callback
)

Tải không đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập.

Gọi FetchAllCallback đã cung cấp sau khi hoàn tất thao tác. Việc không chỉ định data_source sẽ khiến lệnh gọi hàm này tương đương với việc gọi FetchAll(DataSource data_source, FetchAllCallback callback), với data_source được chỉ định là CACHE_OR_NETWORK.

FetchAll

void FetchAll(
  DataSource data_source,
  FetchAllCallback callback
)

Tải không đồng bộ tất cả dữ liệu ảnh chụp nhanh cho trình phát hiện đang đăng nhập.

Gọi FetchAllCallback đã cung cấp sau khi hoàn tất thao tác. Hãy chỉ định data_sourceCACHE_OR_NETWORK hoặc NETWORK_ONLY.

FetchAllBlocking

FetchAllResponse FetchAllBlocking()

Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho người chơi hiện đang đăng nhập, trực tiếp trả về FetchAllResponse.

Việc chỉ định data_sourcetimeout sẽ khiến lệnh gọi hàm này tương đương với việc gọi FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout), trong đó data_source được chỉ định là CACHE_OR_NETWORKtimeout được chỉ định là 10 năm.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source
)

Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho người chơi hiện đang đăng nhập, trực tiếp trả về FetchAllResponse.

Hãy chỉ định data_sourceCACHE_OR_NETWORK hoặc NETWORK_ONLY. Việc không chỉ định timeout sẽ khiến lệnh gọi hàm này tương đương với việc gọi FetchAllBlocking FetchAllResponse(DataSource data_source, Timeout timeout), với giá trị data_source được chỉ định và timeout được chỉ định là 10 năm.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  Timeout timeout
)

Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho người chơi hiện đang đăng nhập, trực tiếp trả về FetchAllResponse.

Chỉ định timeout theo mili giây. Việc không chỉ định data_source sẽ khiến lệnh gọi hàm này tương đương với việc gọi FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout), với data_source được chỉ định là CACHE_OR_NETWORKtimeout chứa giá trị đã chỉ định.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source,
  Timeout timeout
)

Tải đồng bộ tất cả dữ liệu ảnh chụp nhanh cho người chơi hiện đang đăng nhập, trực tiếp trả về FetchAllResponse.

Hãy chỉ định data_sourceCACHE_OR_NETWORK hoặc NETWORK_ONLY. Chỉ định timeout theo mili giây.

GetMaxSize

void GetMaxSize(
  MaxSizeCallback callback
) const 

Nhận kích thước dữ liệu tối đa và kích thước ảnh bìa tối đa cho mỗi ảnh chụp nhanh tính bằng byte một cách không đồng bộ.

Gọi MaxSizeCallback đã cung cấp sau khi hoàn tất thao tác.

Kích thước dữ liệu tối đa cho mỗi ảnh chụp nhanh được đảm bảo là ít nhất là 3 MB. Có thể tăng trong tương lai.

Kích thước dữ liệu tối đa cho mỗi ảnh bìa của ảnh chụp nhanh ít nhất là 800 KB. Có thể tăng trong tương lai.

GetMaxSizeBlocking

MaxSizeResponse GetMaxSizeBlocking() const 

Nhận kích thước dữ liệu tối đa và kích thước ảnh bìa tối đa cho mỗi ảnh chụp nhanh tính bằng byte một cách đồng bộ, trực tiếp trả về MaxSizeResponse.

Kích thước dữ liệu tối đa cho mỗi ảnh chụp nhanh được đảm bảo là ít nhất là 3 MB. Có thể tăng trong tương lai.

Kích thước dữ liệu tối đa cho mỗi ảnh bìa của ảnh chụp nhanh ít nhất là 800 KB. Có thể tăng trong tương lai.

GetMaxSizeBlocking

MaxSizeResponse GetMaxSizeBlocking(
  Timeout timeout
) const 

Nhận kích thước dữ liệu tối đa và kích thước ảnh bìa tối đa cho mỗi ảnh chụp nhanh tính bằng byte một cách đồng bộ, trực tiếp trả về MaxSizeResponse.

Kích thước dữ liệu tối đa cho mỗi ảnh chụp nhanh được đảm bảo là ít nhất là 3 MB. Có thể tăng trong tương lai.

Kích thước dữ liệu tối đa cho mỗi ảnh bìa của ảnh chụp nhanh ít nhất là 800 KB. Có thể tăng trong tương lai.

Chỉ định timeout theo mili giây.

Đang mở

void Open(
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy,
  OpenCallback callback
)

Mở ảnh chụp nhanh có tên đã cho một cách không đồng bộ.

Ảnh chụp nhanh được chỉ định sẽ được tạo nếu chưa có. Gọi OpenCallback đã cung cấp sau khi hoàn tất thao tác.

Tên ảnh chụp nhanh phải có từ 1 đến 100 ký tự không dành riêng cho URL (a-z, A-Z, 0-9 hoặc ký hiệu "-", ".", "_" hoặc "~").

Tình trạng xung đột có thể xảy ra nếu một thiết bị khác xác nhận bản tổng quan nhanh giữa quá trình tải và xác nhận bản tổng quan nhanh trên thiết bị hiện tại. Bạn phải giải quyết những xung đột này. Hãy xem phần OpenResponse ở trên để biết thêm thông tin chi tiết về xung đột.

conflict_policy có thể là một trong những giá trị sau:

SnapshotConflictPolicy::MANUAL – Trong trường hợp có xung đột, phản hồi sẽ có trạng thái OpenResponse::VALID_WITH_CONFLICT. Bạn phải giải quyết xung đột bằng SnapshotManager::ResolveConflict. Bạn có thể thấy nhiều lần phạm vi trong một hàng, vì vậy hãy kiểm tra mỗi khi bạn gọi Open. Đây là chính sách duy nhất mà bạn thấy xung đột. Phần còn lại xử lý việc giải quyết cho bạn. Chính sách này đảm bảo việc người dùng không bị mất trạng thái của trò chơi đã lưu.

SnapshotConflictPolicy::LONGEST_PLAYTIME – Trong trường hợp xảy ra xung đột, bản tổng quan nhanh có giá trị thời gian chơi lớn nhất sẽ được sử dụng. Chính sách này là lựa chọn phù hợp nếu thời lượng phát là proxy hợp lý cho nội dung "tốt nhất" lưu trò chơi. Xin lưu ý rằng để chính sách này có ý nghĩa, bạn phải sử dụng SnapshotMetadataChange::Builder::SetPlayedTime() khi lưu trò chơi.

SnapshotConflictPolicy::LAST_KNOWN_GOOD – Trong trường hợp xảy ra xung đột, ảnh chụp nhanh cơ sở sẽ được sử dụng. Đây là lựa chọn hợp lý nếu trò chơi của bạn yêu cầu sự ổn định từ dữ liệu tổng quan nhanh. Chính sách này đảm bảo rằng người chơi chỉ xem được những bài viết không có tranh chấp. Điều này đảm bảo rằng tất cả máy khách đều hội tụ. Lưu ý: trước đây SnapshotManager::BASE_WINS

SnapshotConflictPolicy::MOST_RECENTLY_MODIFIED – Trong trường hợp có xung đột, điều khiển từ xa sẽ được sử dụng. Đây là một lựa chọn hợp lý nếu trò chơi của bạn có thể chấp nhận người chơi trên nhiều thiết bị tự che giấu các thay đổi của họ. Do chính sách này chọn một cách mù quáng dữ liệu gần đây nhất nên các thay đổi của người chơi có thể bị mất. Lưu ý: trước đây SnapshotManager::REMOTE_WINS

SnapshotConflictPolicy::HIGHEST_PROGRESSTrong trường hợp xung đột, bản tổng quan nhanh có giá trị tiến trình cao nhất sẽ được sử dụng. Trong trường hợp có sự ràng buộc, hệ thống sẽ chọn thông tin tổng quan nhanh xác định gần đây nhất. Bạn nên chọn chính sách này nếu trò chơi của bạn sử dụng giá trị tiến trình của bản tổng quan nhanh để xác định trò chơi đã lưu hiệu quả nhất. Xin lưu ý rằng để chính sách này có ý nghĩa, bạn phải sử dụng SnapshotMetadataChange::Builder::SetPlayedTime() khi lưu trò chơi.

Đang mở

void Open(
  DataSource data_source,
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy,
  OpenCallback callback
)

Mở ảnh chụp nhanh có tên đã cho một cách không đồng bộ.

Không dùng nữa. data_source sẽ bị bỏ qua. Thay vào đó, hãy sử dụng Open(file_name, conflict_policy, callback).

OpenBlocking

OpenResponse OpenBlocking(
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy
)

Mở ảnh chụp nhanh có tên đã cho một cách đồng bộ.

Ảnh chụp nhanh được chỉ định sẽ được tạo nếu chưa có.

Hãy xem phần Mở để biết thêm chi tiết.

OpenBlocking

OpenResponse OpenBlocking(
  Timeout timeout,
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy
)

Mở ảnh chụp nhanh có tên đã cho một cách đồng bộ.

Ảnh chụp nhanh được chỉ định sẽ được tạo nếu chưa có.

Chỉ định timeout theo mili giây.

Hãy xem phần Mở để biết thêm chi tiết.

OpenBlocking

OpenResponse OpenBlocking(
  DataSource data_source,
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy
)

Mở ảnh chụp nhanh có tên đã cho một cách đồng bộ.

Không dùng nữa. data_source sẽ bị bỏ qua. Thay vào đó, hãy sử dụng OpenBlocking(file_name, conflict_policy).

OpenBlocking

OpenResponse OpenBlocking(
  DataSource data_source,
  Timeout timeout,
  const std::string & file_name,
  SnapshotConflictPolicy conflict_policy
)

Mở ảnh chụp nhanh có tên đã cho một cách đồng bộ.

Không dùng nữa. data_source sẽ bị bỏ qua. Thay vào đó, hãy sử dụng OpenBlocking(timeout, file_name, conflict_policy).

Đã đọc

void Read(
  const SnapshotMetadata & snapshot_metadata,
  ReadCallback callback
)

Đọc một cách không đồng bộ ảnh chụp nhanh từ ổ đĩa và sao chép nó vào bộ nhớ.

Dữ liệu được trả về theo giá trị để dễ dàng sửa đổi. Mỗi lệnh gọi đến hàm này sẽ được đọc toàn bộ. Điều này có nghĩa là thông thường, tốt nhất bạn chỉ nên đọc tổng quan nhanh một lần. Gọi ReadCallback đã cung cấp sau khi hoàn tất thao tác.

ReadBlocking

ReadResponse ReadBlocking(
  const SnapshotMetadata & snapshot_metadata
)

Đọc đồng bộ ảnh chụp nhanh từ ổ đĩa và sao chép ảnh đó vào bộ nhớ.

Dữ liệu được trả về theo giá trị để dễ dàng sửa đổi. Mỗi lệnh gọi đến hàm này sẽ được đọc toàn bộ. Điều này có nghĩa là thông thường, tốt nhất bạn chỉ nên đọc tổng quan nhanh một lần. Việc không chỉ định timeout sẽ khiến lệnh gọi hàm này tương đương với việc gọi ReadBlocking ReadBlocking(Timeout timeout, const SnapshotMetadata& snapshot_metadata), với timeout được chỉ định là 10 năm.

ReadBlocking

ReadResponse ReadBlocking(
  Timeout timeout,
  const SnapshotMetadata & snapshot_metadata
)

Đọc đồng bộ một ảnh chụp nhanh từ ổ đĩa và sao chép ảnh đó vào bộ nhớ.

Dữ liệu được trả về theo giá trị để dễ dàng sửa đổi. Mỗi lệnh gọi đến lệnh này thực hiện một lượt đọc đầy đủ, vì vậy, thường chỉ đọc ảnh chụp nhanh một lần. Chỉ định timeout theo mili giây.

ResolveConflict

void ResolveConflict(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  OpenCallback callback
)

Giải quyết xung đột một cách không đồng bộ bằng cách sử dụng dữ liệu từ ảnh chụp nhanh được cung cấp.

Thao tác này sẽ thay thế dữ liệu trên máy chủ bằng ảnh chụp nhanh được chỉ định. Lưu ý rằng thao tác này có thể tự dẫn đến xung đột, trong trường hợp này, giải pháp nên được lặp lại.

Việc gọi phương thức này bằng một bản tổng quan nhanh đã được xác nhận hoặc không được mở qua chế độ Open (Mở) sẽ không thành công với trạng thái BaseStatus::ERROR_INTERNAL.

Gọi OpenCallback đã cung cấp sau khi hoàn tất thao tác.

ResolveConflict

void ResolveConflict(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents,
  OpenCallback callback
)

Giải quyết xung đột một cách không đồng bộ bằng cách sử dụng dữ liệu đã cung cấp.

Thao tác này sẽ thay thế dữ liệu trên máy chủ bằng những thay đổi về siêu dữ liệu được chỉ định và contents. Lưu ý rằng thao tác này có thể tự dẫn đến xung đột, trong trường hợp này, giải pháp nên được lặp lại.

Các giá trị không có trong thay đổi về siêu dữ liệu sẽ được phân giải thành phiên bản hiện có trên máy chủ.

Lưu ý rằng tổng kích thước của contents không được vượt quá maxDataSize do GetMaxSize cung cấp.

Việc gọi phương thức này bằng một bản tổng quan nhanh đã được xác nhận hoặc không được mở qua chế độ Open (Mở) sẽ không thành công với trạng thái BaseStatus::ERROR_INTERNAL.

Gọi OpenCallback đã cung cấp sau khi hoàn tất thao tác.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata
)

Giải quyết xung đột một cách đồng bộ bằng cách sử dụng dữ liệu từ bản tổng quan nhanh được cung cấp.

Thao tác này sẽ thay thế dữ liệu trên máy chủ bằng ảnh chụp nhanh được chỉ định. Lưu ý rằng thao tác này có thể tự dẫn đến xung đột, trong trường hợp này, giải pháp nên được lặp lại.

Việc gọi phương thức này bằng một bản tổng quan nhanh đã được xác nhận hoặc không được mở qua chế độ Open (Mở) sẽ không thành công với trạng thái BaseStatus::ERROR_INTERNAL.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

Giải quyết xung đột một cách đồng bộ bằng cách sử dụng dữ liệu được cung cấp.

Thao tác này sẽ thay thế dữ liệu trên máy chủ bằng những thay đổi về siêu dữ liệu được chỉ định và contents. Lưu ý rằng thao tác này có thể tự dẫn đến xung đột, trong trường hợp này, giải pháp nên được lặp lại.

Các giá trị không có trong thay đổi về siêu dữ liệu sẽ được phân giải thành phiên bản hiện có trên máy chủ.

Lưu ý rằng tổng kích thước của contents không được vượt quá maxDataSize do GetMaxSize cung cấp.

Việc gọi phương thức này bằng một bản tổng quan nhanh đã được xác nhận hoặc không được mở qua chế độ Open (Mở) sẽ không thành công với trạng thái BaseStatus::ERROR_INTERNAL.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  Timeout timeout,
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata
)

Giải quyết xung đột một cách đồng bộ bằng cách sử dụng dữ liệu từ bản tổng quan nhanh được cung cấp.

Thao tác này sẽ thay thế dữ liệu trên máy chủ bằng ảnh chụp nhanh được chỉ định. Lưu ý rằng thao tác này có thể tự dẫn đến xung đột, trong trường hợp đó, giải pháp nên được lặp lại.

Việc gọi phương thức này bằng một bản tổng quan nhanh đã được xác nhận hoặc không được mở thông qua Open (Mở) sẽ không thành công với trạng thái BaseStatus::ERROR_INTERNAL.

Chỉ định timeout theo mili giây.

ResolveConflictBlocking

OpenResponse ResolveConflictBlocking(
  Timeout timeout,
  const std::string & conflict_id,
  const SnapshotMetadata & snapshot_metadata,
  const SnapshotMetadataChange & metadata_change,
  std::vector< uint8_t > contents
)

Giải quyết xung đột một cách đồng bộ bằng cách sử dụng dữ liệu được cung cấp.

Thao tác này sẽ thay thế dữ liệu trên máy chủ bằng những thay đổi về siêu dữ liệu được chỉ định và contents. Lưu ý rằng thao tác này có thể tự dẫn đến xung đột, trong trường hợp này, giải pháp nên được lặp lại.

Các giá trị không có trong thay đổi về siêu dữ liệu sẽ được phân giải thành phiên bản hiện có trên máy chủ.

Lưu ý rằng tổng kích thước của contents không được vượt quá maxDataSize do GetMaxSize cung cấp.

Việc gọi phương thức này bằng một bản tổng quan nhanh đã được xác nhận hoặc không được mở qua chế độ Open (Mở) sẽ không thành công với trạng thái BaseStatus::ERROR_INTERNAL.

Chỉ định timeout theo mili giây.

ShowSelectUIOperation

void ShowSelectUIOperation(
  bool allow_create,
  bool allow_delete,
  uint32_t max_snapshots,
  const std::string & title,
  SnapshotSelectUICallback callback
)

Hiển thị giao diện người dùng ảnh chụp nhanh một cách không đồng bộ, cho phép trình phát chọn một ảnh chụp nhanh hoặc yêu cầu một bản tổng quan nhanh mới.

Sau khi hoàn tất, hệ thống sẽ trả về ảnh chụp nhanh đã chọn hoặc yêu cầu ảnh chụp nhanh mới qua SnapshotSelectUICallback.

ShowSelectUIOperationBlocking

SnapshotSelectUIResponse ShowSelectUIOperationBlocking(
  Timeout timeout,
  bool allow_create,
  bool allow_delete,
  uint32_t max_snapshots,
  const std::string & title
)

Chặn phiên bản của ShowSelectUIOperation.

Cho phép phương thức gọi chỉ định thời gian chờ tính bằng mili giây. Sau khi thời gian đã chỉ định trôi qua, hàm sẽ trả về ERROR_TIMEOUT.

ShowSelectUIOperationBlocking

SnapshotSelectUIResponse ShowSelectUIOperationBlocking(
  bool allow_create,
  bool allow_delete,
  uint32_t max_snapshots,
  const std::string & title
)

Tình trạng quá tải ShowSelectUIOperationBlocking, sử dụng thời gian chờ mặc định là 10 năm.