예제 #1
0
 /// <summary>
 /// Marks the given mapping offline.
 /// </summary>
 /// <param name="mapping">Input range mapping.</param>
 /// <param name="lockOwnerId">Lock owner id of this mapping</param>
 /// <returns>An offline mapping.</returns>
 public RangeMapping <TKey> MarkMappingOffline(RangeMapping <TKey> mapping, Guid lockOwnerId)
 {
     return(BaseShardMapper.SetStatus <RangeMapping <TKey>, RangeMappingUpdate, MappingStatus>(
                mapping,
                mapping.Status,
                s => MappingStatus.Offline,
                s => new RangeMappingUpdate()
     {
         Status = s
     },
                this.Update,
                lockOwnerId));
 }
 /// <summary>
 /// Marks the given mapping online.
 /// </summary>
 /// <param name="mapping">Input point mapping.</param>
 /// <param name="lockOwnerId">Lock owner id of this mapping</param>
 /// <returns>An online mapping.</returns>
 public PointMapping <TKey> MarkMappingOnline(PointMapping <TKey> mapping, Guid lockOwnerId = default(Guid))
 {
     return(BaseShardMapper.SetStatus <PointMapping <TKey>, PointMappingUpdate, MappingStatus>(
                mapping,
                mapping.Status,
                s => MappingStatus.Online,
                s => new PointMappingUpdate()
     {
         Status = s
     },
                this.Update,
                lockOwnerId));
 }