Quellcode durchsuchen

Add pass-through API to FLEXManager for setting the response cache limit

Clients should only need to know about FLEXManager.
Ryan Olson vor 11 Jahren
Ursprung
Commit
4d9271c7ed
2 geänderte Dateien mit 14 neuen und 0 gelöschten Zeilen
  1. 4 0
      Classes/Explorer Toolbar/FLEXManager.h
  2. 10 0
      Classes/Explorer Toolbar/FLEXManager.m

+ 4 - 0
Classes/Explorer Toolbar/FLEXManager.h

@@ -22,6 +22,10 @@
 /// Full responses are kept temporarily in a size limited cache and may be pruged under memory pressure.
 @property (nonatomic, assign, getter=isNetworkDebuggingEnabled) BOOL networkDebuggingEnabled;
 
+/// Defaults to 50 MB if never set. Values set here are presisted across launches of the app.
+/// The response cache uses an NSCache, so it may purge prior to hitting the limit when the app is under memory pressure.
+@property (nonatomic, assign) NSUInteger networkResponseCacheByteLimit;
+
 #pragma mark - Extensions
 
 /// Adds an entry at the bottom of the list of Global State items. Call this method before this view controller is displayed.

+ 10 - 0
Classes/Explorer Toolbar/FLEXManager.m

@@ -13,6 +13,7 @@
 #import "FLEXObjectExplorerFactory.h"
 #import "FLEXObjectExplorerViewController.h"
 #import "FLEXNetworkObserver.h"
+#import "FLEXNetworkRecorder.h"
 
 @interface FLEXManager () <FLEXWindowEventDelegate, FLEXExplorerViewControllerDelegate>
 
@@ -92,6 +93,15 @@
     [FLEXNetworkObserver setEnabled:networkDebuggingEnabled];
 }
 
+- (NSUInteger)networkResponseCacheByteLimit
+{
+    return [[FLEXNetworkRecorder defaultRecorder] responseCacheByteLimit];
+}
+
+- (void)setNetworkResponseCacheByteLimit:(NSUInteger)networkResponseCacheByteLimit
+{
+    [[FLEXNetworkRecorder defaultRecorder] setResponseCacheByteLimit:networkResponseCacheByteLimit];
+}
 
 #pragma mark - FLEXWindowEventDelegate