/// <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)); }
/// <summary> /// Marks the given mapping online. /// </summary> /// <param name="mapping">Input range mapping.</param> /// <param name="lockOwnerId">Lock owner id of this mapping</param> /// <returns>An online mapping.</returns> public RangeMapping <TKey> MarkMappingOnline(RangeMapping <TKey> mapping, Guid lockOwnerId) { return(BaseShardMapper.SetStatus <RangeMapping <TKey>, RangeMappingUpdate, MappingStatus>( mapping, mapping.Status, s => MappingStatus.Online, s => new RangeMappingUpdate() { Status = s }, this.Update, lockOwnerId)); }
/// <summary> /// Marks the given mapping offline. /// </summary> /// <param name="mapping">Input point mapping.</param> /// <param name="lockOwnerId">Lock owner id of this mapping</param> /// <param name="options">Options for validation operations to perform on opened connection to affected shard.</param> /// <returns>An offline mapping.</returns> public PointMapping <TKey> MarkMappingOffline(PointMapping <TKey> mapping, Guid lockOwnerId = default(Guid), MappingOptions options = MappingOptions.Validate) { return(BaseShardMapper.SetStatus <PointMapping <TKey>, PointMappingUpdate, MappingStatus>( mapping, mapping.Status, s => MappingStatus.Offline, s => new PointMappingUpdate() { Status = s }, this.Update, lockOwnerId, options)); }