public UserTransaction Create(object key, object value) { var hash = _hashFromValue ? _hashCalculater.CalculateHashFromValue(value) : _hashCalculater.CalculateHashFromKey(key); var transaction = _distributor.CreateTransaction(hash); transaction.OperationName = OperationName.Create; transaction.OperationType = OperationType.Async; if (!transaction.IsError) { CompleteTransaction(key, value, transaction); PerfCounters.ProxyCounters.Instance.CreateCount.Increment(); } return(transaction.UserTransaction); }
public static InnerData CreateEvent(IHashCalculater calc, int id) { string hash = calc.CalculateHashFromKey(id); var ev = new InnerData(new Transaction(hash, "") { OperationName = OperationName.Read }) { Data = calc.SerializeValue(CreateStoredData(id)) }; return(ev); }
private List <MetaData> ReadMetaDataUsingSelect(string script, int countElements, bool isfirstAsk, ref object lastId, Func <MetaData, bool> isMine, ref bool isAllDataRead) { var list = new List <MetaData>(); var idDescription = PrepareKeyDescription(countElements, isfirstAsk, lastId); SelectSearchResult result; int count = 0; var select = new SelectDescription(idDescription, script, countElements, new List <FieldDescription>()); var ret = SelectRead(select, out result); while (!ret.IsError) { bool exit = false; foreach (var searchData in result.Data) { var meta = _metaDataCommandCreator.ReadMetaFromSearchData(searchData); meta.Hash = _hashCalculater.CalculateHashFromKey(meta.Id); if (isMine(meta)) { list.Add(meta); count++; } lastId = meta.Id; if (count == countElements) { exit = true; break; } } if (result.IsAllDataRead || exit) { break; } idDescription = PrepareKeyDescription(countElements, false, lastId); select = new SelectDescription(idDescription, script, count, new List <FieldDescription>()); ret = SelectRead(select, out result); } isAllDataRead = result.IsAllDataRead; return(list); }