gpg:: SnapshotManager
#include <snapshot_manager.h>
다양한 스냅샷 관련 데이터를 가져오고 설정합니다.
요약
앱이 인증 시 스냅샷을 사용 설정하지 않으면 (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 &)>
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)
|
ShowSelectUIOperationBlocking의 오버로드로 기본 시간 제한 10년을 사용합니다.
|
구조체 |
|
---|---|
gpg:: |
업데이트된 스냅샷의 데이터와 응답 상태를 보관합니다. |
gpg:: |
응답 상태와 함께 모든 스냅샷의 모든 데이터를 보관합니다. |
gpg:: |
스냅샷 데이터 및 스냅샷 표지 이미지의 최대 크기를 보유합니다. |
gpg:: |
응답 상태와 함께 요청된 특정 스냅샷의 데이터를 보관합니다. |
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
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_source
를 CACHE_OR_NETWORK.
로 지정한 FetchAll(DataSource data_source, FetchAllCallback callback)
을 호출하는 것과 동일합니다.
FetchAll
void FetchAll( DataSource data_source, FetchAllCallback callback )
현재 로그인한 플레이어의 모든 스냅샷 데이터를 비동기식으로 로드합니다.
작업 완료 시 제공된 FetchAllCallback
를 호출합니다. data_source
를 CACHE_OR_NETWORK
또는 NETWORK_ONLY
로 지정합니다.
FetchAllBlocking
FetchAllResponse FetchAllBlocking()
현재 로그인한 플레이어의 모든 스냅샷 데이터를 동기식으로 로드하여 FetchAllResponse
를 직접 반환합니다.
data_source
과 timeout
을 모두 지정하지 않으면 이 함수 호출은 data_source
를 CACHE_OR_NETWORK
로, timeout
를 10년으로 지정하는 FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
을 호출하는 것과 동일합니다.
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source )
현재 로그인한 플레이어의 모든 스냅샷 데이터를 동기식으로 로드하여 FetchAllResponse
를 직접 반환합니다.
data_source
를 CACHE_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_source
를 CACHE_OR_NETWORK
로 지정하고 지정된 값을 포함하는 timeout
를 호출하는 FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout 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 )
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 )
ShowSelectUIOperationBlocking의 오버로드로 기본 시간 제한 10년을 사용합니다.