public async Task<StatRecord> GetTailStats(Game game) { var tailKey = game.CreateTailKey(); var res = await Cache.GetTail(tailKey); if (res == null) { MisTailStats[game.Turn]++; } else { HitTailStats[game.Turn]++; } return res; }
public async Task<StatRecord> Record(Game game, long cash, long count) { var bucketKey = game.CreateBucketKey(); var tailKey = game.CreateTailKey(); StatRecord record = await Cache.IncrementBucket(bucketKey, cash, count); if (record.Count == count) { CreateBucketStats[game.Turn]++; } else { UpdateBucketStats[game.Turn]++; } UpdateTailStats[game.Turn]++; Cache.SetTail(tailKey, record.AggCash, record.Count); return record; }