System.Data.RiakClient.RiakFindRequest.GetInternalRequests C# (CSharp) Method

GetInternalRequests() private method

private GetInternalRequests ( ) : System.Data.RiakClient.Models.FindRequest[]
return System.Data.RiakClient.Models.FindRequest[]
        internal FindRequest[] GetInternalRequests()
        {
            return Keys.Select(key => new FindRequest {
                Bucket = Bucket.GetBytes(),
                Key = key.GetBytes(),
                ReadValue = Convert.ToUInt32(ReadValue)
            }).ToArray();
        }
    }

Usage Example

        public RiakResponse<RiakDocument[]> Find(RiakFindRequest request)
        {
            var connection = _connectionManager.GetNextConnection();
            var threads = request.GetInternalRequests()
                                 .Select(r => _threadPool.QueueWorkItem(() => {
                                     connection.WriteWith(r, RequestMethod.Find);
                                     return connection.Read<FindResponse>();
                                 }))
                                 .ToArray();
            SmartThreadPool.WaitAll(threads);

            var responses = threads.Select(t => t.Result).ToArray();
            var badResponses = responses.Where(r => r.ResponseCode == RiakResponseCode.Failed);
            return badResponses.Count() == 0
                ? RiakResponse<RiakDocument[]>.WithoutErrors(responses.Select(x => x.Result.Content.First().ToDocument()).ToArray())
                : RiakResponse<RiakDocument[]>.WithWarning(badResponses.Select(x => x.Messages.LastOrDefault()).ToArray(),
                                                           responses.Select(x => {
                                                               var content = x.Result.Content.FirstOrDefault();
                                                               return content == null 
                                                                   ? null 
                                                                   : x.Result.Content.FirstOrDefault().ToDocument();
                                                           }).ToArray());
        }