示例#1
0
        public IFuture GetUserBounds(LatentRegionHolder latentRegionHolder, FutureFeatures features)
        {
            D.Assert(UnwarpedMapTileSource.HasFeature(features, FutureFeatures.Cached));
            IFuture future = new MemCacheFuture(this.cachePackage.boundsCache, new ApplyFuture(new ConstantVerb(new BoundsPresent(new RenderRegion(new MapRectangle(-85.0, -5000.0, 85.0, 5000.0), new DirtyEvent()))), new IFuture[0]));

            if (UnwarpedMapTileSource.HasFeature(features, FutureFeatures.Async))
            {
                future = new MemCacheFuture(this.cachePackage.asyncCache, Asynchronizer.MakeFuture(this.cachePackage.networkAsyncScheduler, future));
            }
            return(future);
        }
示例#2
0
        internal IFuture AddAsynchrony(IFuture future, FutureFeatures features)
        {
            if (HasFeature(features, FutureFeatures.Async))
            {
                future = new MemCacheFuture(cachePackage.asyncCache,
                                            new OpenDocumentSensitivePrioritizedFuture(cachePackage.openDocumentPrioritizer,
                                                                                       Asynchronizer.MakeFuture(cachePackage.computeAsyncScheduler, future),
                                                                                       GetOpenDocumentFuture(FutureFeatures.MemoryCached)));
            }

            return(future);
        }
示例#3
0
 public IFuture Curry(ParamDict paramDict)
 {
     return(Asynchronizer.MakeFuture(this.scheduler, this.innerPrototype.Curry(paramDict)));
 }
示例#4
0
 public IFuture GetAsynchronousFuture(CachePackage cachePackage)
 {
     return(new MemCacheFuture(cachePackage.asyncCache, Asynchronizer.MakeFuture(cachePackage.computeAsyncScheduler, this.GetSynchronousFuture(cachePackage))));
 }