本文整理汇总了C#中Raven.Abstractions.Util.Etag.ToByteArray方法的典型用法代码示例。如果您正苦于以下问题:C# Etag.ToByteArray方法的具体用法?C# Etag.ToByteArray怎么用?C# Etag.ToByteArray使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Raven.Abstractions.Util.Etag
的用法示例。
在下文中一共展示了Etag.ToByteArray方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Read
public IEnumerable<ListItem> Read(string name, Etag start, Etag end, int take)
{
return storage.Lists["ByNameAndEtag"].SkipAfter(new RavenJObject
{
{ "name", name },
{ "etag", start.ToByteArray() }
})
.TakeWhile(x=>
StringComparer.OrdinalIgnoreCase.Equals(x.Value<string>("name"), name) &&
(end == null || end.CompareTo(Etag.Parse(x.Value<byte[]>("etag"))) > 0)
)
.Take(take)
.Select(result =>
{
var readResult = storage.Lists.Read(result);
return new ListItem
{
Data = readResult.Data().ToJObject(),
Etag = Etag.Parse(readResult.Key.Value<byte[]>("etag")),
Key = readResult.Key.Value<string>("key")
};
});
}
示例2: CreateBucketAndEtagKey
private Slice CreateBucketAndEtagKey(int bucket, Etag id)
{
var sliceWriter = new SliceWriter(20);
sliceWriter.WriteBigEndian(bucket);
sliceWriter.Write(id.ToByteArray());
return sliceWriter.CreateSlice();
}
示例3: TryGetInMemoryJsonDocuments
private bool TryGetInMemoryJsonDocuments(Etag nextDocEtag, List<JsonDocument> items)
{
if (context.Configuration.DisableDocumentPreFetchingForIndexing)
return false;
JsonDocument result;
bool hasDocs = false;
while (inMemoryDocs.TryPeek(out result) &&
ComparableByteArray.CompareTo(nextDocEtag.ToByteArray(),result.Etag.ToByteArray()) >= 0)
{
// safe to do peek then dequeue because we are the only one doing the dequeues
// and here we are single threaded
inMemoryDocs.TryDequeue(out result);
if (result.Etag != nextDocEtag)
continue;
items.Add(result);
hasDocs = true;
nextDocEtag = EtagUtil.Increment(nextDocEtag, 1);
}
return hasDocs;
}