public VBucketServerMap(VBucketServerMapDto serverMapDto) { // ReSharper disable once ConditionIsAlwaysTrueOrFalse if (serverMapDto == null) { ThrowHelper.ThrowArgumentNullException(nameof(serverMapDto)); } HashAlgorithm = serverMapDto.HashAlgorithm; NumReplicas = serverMapDto.NumReplicas; ServerList = serverMapDto.ServerList; VBucketMap = serverMapDto.VBucketMap; VBucketMapForward = serverMapDto.VBucketMapForward; EndPoints = new ReadOnlyCollection <HostEndpointWithPort>( serverMapDto.ServerList.Select(HostEndpointWithPort.Parse).ToArray()); }
public VBucketServerMap(VBucketServerMapDto serverMapDto, IList <IPEndPoint> ipEndPoints) { if (serverMapDto == null) { throw new ArgumentNullException(nameof(serverMapDto)); } if (ipEndPoints == null) { throw new ArgumentNullException(nameof(ipEndPoints)); } HashAlgorithm = serverMapDto.HashAlgorithm; NumReplicas = serverMapDto.NumReplicas; ServerList = serverMapDto.ServerList; VBucketMap = serverMapDto.VBucketMap; VBucketMapForward = serverMapDto.VBucketMapForward; IPEndPoints = new ReadOnlyCollection <IPEndPoint>(ipEndPoints); }
public async Task <VBucketServerMap> CreateAsync(VBucketServerMapDto serverMapDto, CancellationToken cancellationToken = default) => new VBucketServerMap(serverMapDto, await GetIpEndPointsAsync(serverMapDto.ServerList, cancellationToken).ToListAsync(cancellationToken) .ConfigureAwait(false));