Skip to content

Commit

Permalink
Merge pull request #34 from yar229/develop
Browse files Browse the repository at this point in the history
(more correct) folder listing performance improved
  • Loading branch information
yar229 authored Dec 6, 2016
2 parents 3890e31 + 9faabf7 commit ec3c4d0
Showing 1 changed file with 34 additions and 33 deletions.
67 changes: 34 additions & 33 deletions WebDavMailRuCloudStore/Mailru/StoreBase/MailruStoreCollection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,15 @@ public MailruStoreCollection(ILockingManager lockingManager, Folder directoryInf

new DavQuotaAvailableBytes<MailruStoreCollection>
{
Getter = (context, collection) =>
collection.FullPath == "/" ? Cloud.Instance.GetQuota().Result.Free : long.MaxValue
Getter = (context, collection) => collection.FullPath == "/" ? Cloud.Instance.GetQuota().Result.Free : long.MaxValue,
IsExpensive = true //folder listing performance
},

//folder listing performance
//new DavQuotaUsedBytes<MailruStoreCollection>
//{
// Getter = (context, collection) =>
// collection.FullPath == "/" ? Cloud.Instance.GetQuota().Result.Used : long.MaxValue
//},
new DavQuotaUsedBytes<MailruStoreCollection>
{
Getter = (context, collection) => collection.FullPath == "/" ? Cloud.Instance.GetQuota().Result.Used : long.MaxValue,
IsExpensive = true //folder listing performance
},

// RFC-2518 properties
new DavCreationDate<MailruStoreCollection>
Expand Down Expand Up @@ -79,16 +78,17 @@ public MailruStoreCollection(ILockingManager lockingManager, Folder directoryInf
new DavLockDiscoveryDefault<MailruStoreCollection>(),
new DavSupportedLockDefault<MailruStoreCollection>(),

// Hopmann/Lippert collection properties
//new DavExtCollectionChildCount<MailruStoreCollection>
//{
// Getter = (context, collection) =>
// {
// var data = Cloud.Instance.GetItems(collection.DirectoryInfo).Result;
// int cnt = data.NumberOfItems;
// return cnt;
// }
//},
//Hopmann/Lippert collection properties
new DavExtCollectionChildCount<MailruStoreCollection>
{
Getter = (context, collection) =>
{
var data = Cloud.Instance.GetItems(collection.DirectoryInfo).Result;
int cnt = data.NumberOfItems;
return cnt;
},
IsExpensive = true //folder listing performance
},
new DavExtCollectionIsFolder<MailruStoreCollection>
{
Getter = (context, collection) => true
Expand All @@ -102,33 +102,34 @@ public MailruStoreCollection(ILockingManager lockingManager, Folder directoryInf
Getter = (context, collection) => false
},

//folder listing performance
//new DavExtCollectionHasSubs<MailruStoreCollection>
//{
// Getter = (context, collection) => collection.Folders.Any()
//},
new DavExtCollectionHasSubs<MailruStoreCollection>
{
Getter = (context, collection) => collection.Folders.Any(),
IsExpensive = true //folder listing performance
},

new DavExtCollectionNoSubs<MailruStoreCollection>
{
Getter = (context, collection) => false //TODO: WTF?
},

//folder listing performance
//new DavExtCollectionObjectCount<MailruStoreCollection>
//{
// Getter = (context, collection) => collection.Files.Count()
//},
new DavExtCollectionObjectCount<MailruStoreCollection>
{
Getter = (context, collection) => collection.Files.Count(),
IsExpensive = true //folder listing performance
},

new DavExtCollectionReserved<MailruStoreCollection>
{
Getter = (context, collection) => !collection.IsWritable
},

//folder listing performance
//new DavExtCollectionVisibleCount<MailruStoreCollection>
//{
// Getter = (context, collection) => collection.Items.Count
//},
//folder listing performance
new DavExtCollectionVisibleCount<MailruStoreCollection>
{
Getter = (context, collection) => collection.Items.Count,
IsExpensive = true //folder listing performance
},

// Win32 extensions
new Win32CreationTime<MailruStoreCollection>
Expand Down

0 comments on commit ec3c4d0

Please sign in to comment.