gpg::SnapshotManager

#include <snapshot_manager.h>

다양한 스냅샷 관련 데이터를 가져오고 설정합니다.

요약

앱이 인증 시 스냅샷을 사용 설정하지 않으면 (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 &)>
ShowSelectUIOperation에서 SnapshotSelectUIResponse를 수신할 수 있는 콜백을 정의합니다.

공개 함수

Commit(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback)
void
제공된 데이터를 스냅샷에 비동기식으로 커밋하고 제공된 메타데이터 객체를 사용하여 스냅샷의 메타데이터를 업데이트합니다.
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
제공된 데이터를 스냅샷에 동기식으로 커밋하고 제공된 메타데이터 객체를 사용하여 스냅샷의 메타데이터를 업데이트합니다.
CommitBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
제공된 데이터를 스냅샷에 동기식으로 커밋하고 제공된 메타데이터 객체를 사용하여 스냅샷의 메타데이터를 업데이트합니다.
Delete(const SnapshotMetadata & snapshot_metadata)
void
지정된 스냅샷을 삭제합니다.
FetchAll(FetchAllCallback callback)
void
현재 로그인한 플레이어의 모든 스냅샷 데이터를 비동기식으로 로드합니다.
FetchAll(DataSource data_source, FetchAllCallback callback)
void
현재 로그인한 플레이어의 모든 스냅샷 데이터를 비동기식으로 로드합니다.
FetchAllBlocking()
현재 로그인한 플레이어의 모든 스냅샷 데이터를 동기식으로 로드하여 FetchAllResponse를 직접 반환합니다.
FetchAllBlocking(DataSource data_source)
현재 로그인한 플레이어의 모든 스냅샷 데이터를 동기식으로 로드하여 FetchAllResponse를 직접 반환합니다.
FetchAllBlocking(Timeout timeout)
현재 로그인한 플레이어의 모든 스냅샷 데이터를 동기식으로 로드하여 FetchAllResponse를 직접 반환합니다.
FetchAllBlocking(DataSource data_source, Timeout timeout)
현재 로그인한 플레이어의 모든 스냅샷 데이터를 동기식으로 로드하여 FetchAllResponse를 직접 반환합니다.
GetMaxSize(MaxSizeCallback callback) const
void
스냅샷당 최대 데이터 크기와 최대 표지 이미지 크기를 비동기식으로 바이트 단위로 가져옵니다.
GetMaxSizeBlocking() const
스냅샷당 최대 데이터 크기와 최대 표지 이미지 크기를 바이트 단위로 동기식으로 가져와 MaxSizeResponse를 직접 반환합니다.
GetMaxSizeBlocking(Timeout timeout) const
스냅샷당 최대 데이터 크기와 최대 표지 이미지 크기를 바이트 단위로 동기식으로 가져와 MaxSizeResponse를 직접 반환합니다.
Open(const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
지정된 이름의 스냅샷을 비동기식으로 엽니다.
Open(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
void
지원 중단되었습니다. data_source는 무시됩니다. 대신 Open(file_name, conflict_policy, callback)를 사용합니다.
지정된 이름의 스냅샷을 비동기식으로 엽니다.
OpenBlocking(const std::string & file_name, SnapshotConflictPolicy conflict_policy)
지정된 이름의 스냅샷을 동기식으로 엽니다.
OpenBlocking(Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
지정된 이름의 스냅샷을 동기식으로 엽니다.
OpenBlocking(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy) 지원 중단되었습니다. data_source는 무시됩니다. 대신 OpenBlocking(file_name, conflict_policy)를 사용합니다.
지정된 이름의 스냅샷을 동기식으로 엽니다.
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy) 지원 중단되었습니다. data_source는 무시됩니다. 대신 OpenBlocking(timeout, file_name, conflict_policy)를 사용합니다.
지정된 이름의 스냅샷을 동기식으로 엽니다.
Read(const SnapshotMetadata & snapshot_metadata, ReadCallback callback)
void
디스크에서 스냅샷을 비동기식으로 읽고 메모리에 복사합니다.
ReadBlocking(const SnapshotMetadata & snapshot_metadata)
디스크에서 스냅샷을 동기식으로 읽고 메모리에 복사합니다.
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
디스크에서 스냅샷을 동기식으로 읽고 메모리에 복사합니다.
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback)
void
제공된 스냅샷의 데이터를 사용하여 비동기식으로 충돌을 해결합니다.
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback)
void
제공된 데이터를 사용하여 비동기식으로 충돌을 해결합니다.
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
제공된 스냅샷의 데이터를 사용하여 동기식으로 충돌을 해결합니다.
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
제공된 데이터를 사용하여 충돌을 동기식으로 해결합니다.
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
제공된 스냅샷의 데이터를 사용하여 동기식으로 충돌을 해결합니다.
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
제공된 데이터를 사용하여 충돌을 동기식으로 해결합니다.
ShowSelectUIOperation(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback)
void
스냅샷 UI를 비동기식으로 표시하여 플레이어가 스냅샷을 선택하거나 새 스냅샷을 요청할 수 있도록 합니다.
ShowSelectUIOperationBlocking(Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
ShowSelectUIOperation의 차단 버전입니다.
ShowSelectUIOperationBlocking(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
기본 제한 시간 10년을 사용하는 ShowSelectUIOperationBlocking의 오버로드입니다.

구조체

gpg::SnapshotManager::CommitResponse

응답 상태와 함께 업데이트된 스냅샷의 데이터를 보유합니다.

gpg::SnapshotManager::FetchAllResponse

응답 상태와 함께 모든 스냅샷의 모든 데이터를 보유합니다.

gpg::SnapshotManager::MaxSizeResponse

스냅샷 데이터 및 스냅샷 표지 이미지의 최대 크기를 보유합니다.

gpg::SnapshotManager::OpenResponse

응답 상태와 함께 특정 요청된 스냅샷의 데이터를 보유합니다.

gpg::SnapshotManager::ReadResponse

스냅샷 읽기 작업에서 반환된 응답 상태 및 스냅샷 데이터를 읽습니다.

gpg::SnapshotManager::SnapshotSelectUIResponse

ShowSelectUIOperation 작업의 경우 DataResponseStatus

공개 유형

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

ShowSelectUIOperation에서 SnapshotSelectUIResponse를 수신할 수 있는 콜백을 정의합니다.

공개 함수

커밋

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를 지정하지 않으면 이 함수 호출은 data_sourceCACHE_OR_NETWORK.로 지정된 FetchAll(DataSource data_source, FetchAllCallback callback)를 호출하는 것과 같습니다.

FetchAll

void FetchAll(
  DataSource data_source,
  FetchAllCallback callback
)

현재 로그인한 플레이어의 모든 스냅샷 데이터를 비동기식으로 로드합니다.

작업 완료 시 제공된 FetchAllCallback를 호출합니다. data_sourceCACHE_OR_NETWORK 또는 NETWORK_ONLY로 지정합니다.

FetchAllBlocking

FetchAllResponse FetchAllBlocking()

현재 로그인한 플레이어의 모든 스냅샷 데이터를 동기식으로 로드하여 FetchAllResponse를 직접 반환합니다.

data_source 또는 timeout를 지정하지 않으면 이 함수 호출은 data_sourceCACHE_OR_NETWORK로 지정되고 timeout가 10년으로 지정된 FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout)를 호출하는 것과 동일합니다.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source
)

현재 로그인한 플레이어의 모든 스냅샷 데이터를 동기식으로 로드하여 FetchAllResponse를 직접 반환합니다.

data_sourceCACHE_OR_NETWORK 또는 NETWORK_ONLY로 지정합니다. timeout를 지정하지 않으면 이 함수 호출은 지정된 data_source 값과 timeout가 10년으로 지정된 FetchAllBlocking FetchAllResponse(DataSource data_source, Timeout timeout)를 호출하는 것과 같습니다.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  Timeout timeout
)

현재 로그인한 플레이어의 모든 스냅샷 데이터를 동기식으로 로드하여 FetchAllResponse를 직접 반환합니다.

timeout를 밀리초 단위로 지정합니다. data_source를 지정하지 않으면 이 함수 호출은 data_sourceCACHE_OR_NETWORK로 지정되고 timeout에 지정된 값이 포함된 FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout)를 호출하는 것과 같습니다.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source,
  Timeout timeout
)

현재 로그인한 플레이어의 모든 스냅샷 데이터를 동기식으로 로드하여 FetchAllResponse를 직접 반환합니다.

data_sourceCACHE_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를 호출합니다.

스냅샷 이름은 URL 예약 문자 (a-z, A-Z, 0-9 또는 기호 '-', '.', '_', '~')가 아닌 문자 1~100자여야 합니다.

현재 기기에서 스냅샷을 로드하고 커밋하는 사이에 다른 기기에서 스냅샷을 커밋하면 충돌이 발생할 수 있습니다. 이러한 충돌을 해결해야 합니다. 충돌에 관한 자세한 내용은 위의 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
)

디스크에서 스냅샷을 비동기식으로 읽고 메모리에 복사합니다.

데이터는 더 쉽게 수정할 수 있도록 값으로 다시 전달됩니다. 이 함수를 호출할 때마다 전체 읽기가 실행됩니다. 즉, 일반적으로 스냅샷을 한 번만 읽는 것이 가장 좋습니다. 작업 완료 시 제공된 ReadCallback를 호출합니다.

ReadBlocking

ReadResponse ReadBlocking(
  const SnapshotMetadata & snapshot_metadata
)

디스크에서 스냅샷을 동기식으로 읽고 메모리에 복사합니다.

데이터는 더 쉽게 수정할 수 있도록 값으로 다시 전달됩니다. 이 함수를 호출할 때마다 전체 읽기가 실행됩니다. 즉, 일반적으로 스냅샷을 한 번만 읽는 것이 가장 좋습니다. timeout를 지정하지 않으면 이 함수 호출은 timeout가 10년으로 지정된 ReadBlocking ReadBlocking(Timeout timeout, const SnapshotMetadata& snapshot_metadata)를 호출하는 것과 같습니다.

ReadBlocking

ReadResponse ReadBlocking(
  Timeout timeout,
  const SnapshotMetadata & snapshot_metadata
)

디스크에서 스냅샷을 동기식으로 읽고 메모리에 복사합니다.

데이터는 더 쉽게 수정할 수 있도록 값으로 다시 전달됩니다. 이 메서드를 호출할 때마다 전체 읽기가 실행되므로 일반적으로 스냅샷은 한 번만 읽습니다. timeout를 밀리초 단위로 지정합니다.

ResolveConflict

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

제공된 스냅샷의 데이터를 사용하여 비동기식으로 충돌을 해결합니다.

이렇게 하면 서버의 데이터가 지정된 스냅샷으로 대체됩니다. 이 작업으로 인해 자체적으로 충돌이 발생할 수 있으며, 이 경우 해결 방법을 반복해야 합니다.

이미 커밋되었거나 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의 총 크기는 GetMaxSize에서 제공하는 maxDataSize를 초과할 수 없습니다.

이미 커밋되었거나 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의 총 크기는 GetMaxSize에서 제공하는 maxDataSize를 초과할 수 없습니다.

이미 커밋되었거나 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의 총 크기는 GetMaxSize에서 제공하는 maxDataSize를 초과할 수 없습니다.

이미 커밋되었거나 Open을 통해 열리지 않은 스냅샷으로 이 메서드를 호출하면 BaseStatus::ERROR_INTERNAL 상태로 실패합니다.

timeout를 밀리초 단위로 지정합니다.

ShowSelectUIOperation

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

스냅샷 UI를 비동기식으로 표시하여 플레이어가 스냅샷을 선택하거나 새 스냅샷을 요청할 수 있도록 합니다.

완료되면 선택한 스냅샷 또는 새 스냅샷 요청이 SnapshotSelectUICallback를 통해 반환됩니다.

ShowSelectUIOperationBlocking

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

ShowSelectUIOperation의 차단 버전입니다.

호출자가 제한 시간을 밀리초 단위로 지정할 수 있습니다. 지정된 시간이 지나면 함수는 ERROR_TIMEOUT를 반환합니다.

ShowSelectUIOperationBlocking

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

기본 제한 시간 10년을 사용하는 ShowSelectUIOperationBlocking의 오버로드입니다.