CTR NEX API Reference
nn::nex::RankingCachedResult クラス

キャッシュ付きのランキングの情報が格納されるクラスです。 [詳解]

#include <RendezVous/Services/Jugem/Ranking/src/Common/RankingCachedResult.h>

+ nn::nex::RankingCachedResult の継承関係図

公開型

enum  LocalUpdateState {
  UPDATE_SUCCESS = 0,
  UPDATE_FAILED = 1,
  UPDATE_ERROR = 2
}
 RankingCachedResult::LocalUpdateState() の戻り値を定義します。 [詳解]
 

公開メンバ関数

 RankingCachedResult ()
 コンストラクタです。
 
virtual ~RankingCachedResult ()
 デストラクタです。
 
DateTime GetCreatedTime () const
 キャッシュ生成日時を取得します。 [詳解]
 
DateTime GetExpiredTime () const
 キャッシュ有効期限日時を取得します。 [詳解]
 
qUnsignedInt32 GetMaxLength () const
 コンフィグで設定された最大長を返します [詳解]
 
const qVector< RankingRankData > & GetRankDataList () const
 結果のランキングリストを取得します。 [詳解]
 
DateTime GetSinceTime () const
 ランキングの集計開始日時を取得します。 [詳解]
 
qUnsignedInt32 GetTotalCount () const
 条件に一致したランキングの総数を取得します。 [詳解]
 
LocalUpdateState LocalUpdate (const RankingOrderParam &orderParam, const RankingScoreData &scoreData, PrincipalID pid, UniqueId nexUniqueId=INVALID_UNIQUEID, DateTime utcCurrentTime=DateTime::Never, const void *pCommonData=NULL, qByte commonDataSize=0)
 ローカルに保持されたキャッシュ付き Top ランキングを、指定されたスコアで更新します。 [詳解]
 

詳解

キャッシュ付きのランキングの情報が格納されるクラスです。

列挙型メンバ詳解

RankingCachedResult::LocalUpdateState() の戻り値を定義します。

列挙値
UPDATE_SUCCESS 

成功

UPDATE_FAILED 

スコアの順位が低いなどで、更新に失敗した

UPDATE_ERROR 

値が不正

関数詳解

qUnsignedInt32 nn::nex::RankingCachedResult::GetMaxLength ( ) const

コンフィグで設定された最大長を返します

戻り値
最大長
DateTime nn::nex::RankingCachedResult::GetCreatedTime ( ) const

キャッシュ生成日時を取得します。

戻り値
キャッシュ生成日時。 (UTC時間)
DateTime nn::nex::RankingCachedResult::GetExpiredTime ( ) const

キャッシュ有効期限日時を取得します。

戻り値
キャッシュ有効期限日時。 (UTC時間)
LocalUpdateState nn::nex::RankingCachedResult::LocalUpdate ( const RankingOrderParam orderParam,
const RankingScoreData scoreData,
PrincipalID  pid,
UniqueId  nexUniqueId = INVALID_UNIQUEID,
DateTime  utcCurrentTime = DateTime::Never,
const void *  pCommonData = NULL,
qByte  commonDataSize = 0 
)

ローカルに保持されたキャッシュ付き Top ランキングを、指定されたスコアで更新します。

RankingClient::GetCachedTopXRanking() や、 RankingClient::GetCachedTopXRankings() で取得されたデータは、 更新されるような新しいスコアをアップロードしても、更新期限まで、 新しいスコアが更新されることがありません。 ローカルで、新しいスコアを更新することにより、あたかもスコアが更新されたような状態を作るための補助関数となります。 サーバーへのアクセスは行わないので、スコアはあらかじめ保持しておく必要があります。

制限事項としては、以下の通りです。

  • ローカルで更新するので、キャッシュ更新までの間に他のユーザーからのスコア更新があった場合にランキングが結果が異なることがあります。
  • GetCachedTopXRanking[s]() で渡したものと異なる orderParam を渡した場合の動作の一貫性は保証されません。
  • orderParam のグループフィルタが、 RankingConstants::FILTER_GROUP_INDEX_NONE もしくは、 追加されるスコアと orderParam のグループが一緒である必要があります。
  • orderParam のグループフィルタで検索されない条件でも追加されます。
  • utcCurrentTime の値にかかわらず、常に最新のデータとして追加されます。
  • orderParam の offset と length は無視されます。
引数
[in]orderParamGetCachedTopXRanking[s]() で指定した順位計算用パラメータ
[in]scoreData更新スコア
[in]pid自分のプリンシパル ID 。 RankingClient::GetCredentials()->GetPrincipalID() より取得できます。
[in]nexUniqueId自分のNEXユニークID。デフォルトは、 INVALID_UNIQUEID。
[in]utcCurrentTime更新時に使用する更新時間。デフォルトは、 DateTime::Never 。 更新時間が必要であれば、 NgsFacade::GetGameServerTime() の値を指定してください。
[in]pCommonData更新時に使用する共通データの先頭ポインタ。 デフォルトは、 NULL で、共通データは追加されない。
[in]commonDataSize更新時に使用する共通データのサイズ。デフォルトは、0


戻り値一覧:

RankingCachedResult::UPDATE_SUCCESS 更新された。

RankingCachedResult::UPDATE_FAILED 更新されなかった。( RankingConstants::UPDATE_MODE_NORMAL で更新スコアが既存のスコアより下位、もしくは、 最後に追加しようとしてもスコア数が上限に達していた。)

RankingCachedResult::UPDATE_ERROR グループ値が不正。

参照
RankingClient::GetCachedTopXRanking() , RankingClient::GetCachedTopXRankings()
qUnsignedInt32 nn::nex::RankingResult::GetTotalCount ( ) const
inherited

条件に一致したランキングの総数を取得します。

戻り値
ランキングの総数。
const qVector<RankingRankData>& nn::nex::RankingResult::GetRankDataList ( ) const
inherited

結果のランキングリストを取得します。

戻り値
ランキングリスト。
DateTime nn::nex::RankingResult::GetSinceTime ( ) const
inherited

ランキングの集計開始日時を取得します。

戻り値
ランキングの集計開始日時。