internal async Task PutViewAsync(SynchronizedView view, CancellationToken cancelToken) { using (await CrossThreadLockScope.Enter(m_metadataLock)) { await m_metadataStore.PutAsync(MakeViewKey(view.Name), view.Data); } }
internal async Task Load() { string viewName = SynchronizedType.MakeViewName(m_typeID); m_items = await this.Store.GetViewAsync(viewName); if (m_items == null) { m_items = this.Store.CreateView(viewName, ItemQuery.QueryForTypeID(m_typeID)); await this.SaveAsync(); } m_items.PublicSyncDisabled = true; m_items.ItemsAvailable += OnItemsAvailable; m_items.ItemsNotFound += OnItemsNotFound; m_items.Error += OnError; }
public IAsyncAction PutViewAsync(SynchronizedView view) { if (view == null) { throw new ArgumentNullException("view"); } view.Name.ValidateRequired("view"); return AsyncInfo.Run(async cancelToken => { await this.PutViewAsync(view, cancelToken); }); }