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
<ph type="x-smartling-placeholder"></ph> 지원이 중단되었습니다. 를 통해 개인정보처리방침을 정의할 수 있습니다. 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) <ph type="x-smartling-placeholder"></ph> 지원이 중단되었습니다. 를 통해 개인정보처리방침을 정의할 수 있습니다. data_source는 무시됩니다. 대신 OpenBlocking(file_name, conflict_policy)를 사용하세요.
지정된 이름의 스냅샷을 동기식으로 엽니다.
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy) <ph type="x-smartling-placeholder"></ph> 지원이 중단되었습니다. 를 통해 개인정보처리방침을 정의할 수 있습니다. 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를 지정하지 않으면 이 함수 호출이 FetchAll(DataSource data_source, FetchAllCallback callback) 호출과 같아집니다. data_sourceCACHE_OR_NETWORK.로 지정됩니다.

FetchAll

void FetchAll(
  DataSource data_source,
  FetchAllCallback callback
)

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

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

FetchAllBlocking

FetchAllResponse FetchAllBlocking()

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

data_sourcetimeout 중 어느 것도 지정하지 않으면 이 함수 호출이 FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout) 호출과 같아집니다. 여기서 data_sourceCACHE_OR_NETWORK로 지정되고 timeout는 10년으로 지정됩니다.

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source
)

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

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

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  Timeout timeout
)

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

timeout를 밀리초 단위로 지정합니다. data_source를 지정하지 않으면 이 함수 호출이 FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout) 호출과 같아집니다. data_sourceCACHE_OR_NETWORK로 지정되고 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
)

지정된 이름의 스냅샷을 비동기식으로 엽니다.

<ph type="x-smartling-placeholder"></ph> 지원이 중단되었습니다. 를 통해 개인정보처리방침을 정의할 수 있습니다. 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
)

지정된 이름의 스냅샷을 동기식으로 엽니다.

<ph type="x-smartling-placeholder"></ph> 지원이 중단되었습니다. 를 통해 개인정보처리방침을 정의할 수 있습니다. data_source는 무시됩니다. 대신 OpenBlocking(file_name, conflict_policy)를 사용하세요.

OpenBlocking

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

지정된 이름의 스냅샷을 동기식으로 엽니다.

<ph type="x-smartling-placeholder"></ph> 지원이 중단되었습니다. 를 통해 개인정보처리방침을 정의할 수 있습니다. 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의 오버로드.