Ejemplo n.º 1
0
 public void RegisterHashTagUse(string sanitizedHashTag)
 {
     lock (_lock)
     {
         var found = false;
         foreach (var hashTag in TopHashTagsList)
         {
             hashTag.Score *= _config.ExponentialDecayFactor;
             if (hashTag.Name == sanitizedHashTag)
             {
                 found          = true;
                 hashTag.Score += _config.PointsPerPost;
             }
         }
         if (!found)
         {
             TopHashTagsList.Add(new HashTag
             {
                 Name  = sanitizedHashTag,
                 Score = _config.PointsPerPost
             });
             if (TopHashTagsList.Count > _config.HashTagsToRetain)
             {
                 TopHashTagsList.Remove(TopHashTagsList.Min);
             }
         }
         _registrationsSinceLastFlush++;
         if (_registrationsSinceLastFlush >= _config.DataFlushPostInterval)
         {
             Flush();
         }
     }
 }
Ejemplo n.º 2
0
 public void UpdateTopHashTagsList(TopHashTagsList topHashTagsList) => UpdateEntity(topHashTagsList);
Ejemplo n.º 3
0
 public TopHashTagsList CreateTopHashTagsList(TopHashTagsList topHashTagsList) => CreateEntity(topHashTagsList);