| 
					
				 | 
			
			
				@@ -28,27 +28,31 @@ Items for 0.1.2.x: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         break our dependency on dyndns. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - Count TLS bandwidth more accurately 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - Write-limit directory responses. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    . Improve memory usage on tight-memory machines. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      o Remember offset and location of each descriptor in the cache/journal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      - When sending a big pile of descs to a client, don't shove them all on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        the buffer at once. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      X This may require routerinfo_t or signed_descriptor_t to get slightly 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        refcounted.  (Only slightly; we'd only need to know whether it's on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        the routerlist->routers or routerlist->old_routers, and how many 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        directory conns are returning it.) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      - Possibly, we could just keep a list of the descriptor digests for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        the descriptors we still want to send.  We might end up truncating 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        some replies by returning fewer descriptors than were requested (if 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        somebody requests a desc that we throw away before we deliver it), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        but this happens only when somebody wants an obsolete desc, and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        clients can already handle truncated replies. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      - But what do we do about compression? That's the part that makes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        stuff hard. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      - Make clients handle missing Content-Length tags. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      - Implement on-the-fly compression 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      - Make sure offset is correct in the presence of windows FS insanity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      - Consider whether it's smart to mmap cache files where possible. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      - Consider whether it's smart to lazy-load routerdescs on non-directories. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+N   . Improve memory usage on tight-memory machines. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      - Directory-related fixes. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        o Remember offset and location of each descriptor in the cache/journal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        - When sending a big pile of descs to a client, don't shove them all 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          on the buffer at once. Keep a list of the descriptor digests for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          the descriptors we still want to send.  We might end up truncating 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          some replies by returning fewer descriptors than were requested (if 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          somebody requests a desc that we throw away before we deliver it), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          but this happens only when somebody wants an obsolete desc, and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          clients can already handle truncated replies. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        - But what do we do about compression? That's the part that makes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          stuff hard. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          - Implement compress/decompress-on-the-fly support. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          - Use it for returning lists of descriptors and lists of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            network status docs. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          o Make clients handle missing Content-Length tags.  (Oh, they do.) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            o Verify that this has happened for a long time. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        - Try a similar trick for spooling out v1 directories. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        - Look into pulling serverdescs off buffers as they arrive. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        - Mmap cache files where possible. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          - Mmap cached-routers file; when building it, go oldest-to-newest. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            - Make sure offset is correct in the presence of windows FS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              insanity. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          - Save and mmap v1 directories; store them zipped? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - "bandwidth classes", for incoming vs initiated-here conns. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 N   - Asynchronous DNS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |