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)
|
기본 제한 시간 10년을 사용하는 ShowSelectUIOperationBlocking의 오버로드입니다.
|
구조체 |
|
---|---|
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
를 호출합니다.
스냅샷 이름은 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 )
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의 오버로드입니다.