瀏覽代碼

*** empty log message ***

Joe Shochet 25 年之前
父節點
當前提交
bdd378eba9
共有 2 個文件被更改,包括 8 次插入3 次删除
  1. 7 2
      panda/src/downloader/downloader.cxx
  2. 1 1
      panda/src/downloader/downloader.h

+ 7 - 2
panda/src/downloader/downloader.cxx

@@ -371,6 +371,9 @@ run(void) {
 
 
   // Recompute the buffer size if necessary
   // Recompute the buffer size if necessary
   if (_recompute_buffer == true) {
   if (_recompute_buffer == true) {
+    if (downloader_cat.is_debug())
+      downloader_cat.debug()
+	<< "Downloader::run() - Recomputing the buffer" << endl;
 
 
     // Flush the current buffer if it holds any data
     // Flush the current buffer if it holds any data
     if (_current_status->_bytes_in_buffer > 0) {
     if (_current_status->_bytes_in_buffer > 0) {
@@ -381,12 +384,14 @@ run(void) {
     }
     }
 
 
     // Allocate a new buffer
     // Allocate a new buffer
-    _buffer.clear();  
-    _receive_size = (int)ceil(_frequency * _byte_rate);
+    _buffer.clear();
+    _receive_size = _frequency * _byte_rate;
     _disk_buffer_size = _receive_size * _disk_write_frequency;
     _disk_buffer_size = _receive_size * _disk_write_frequency;
     _buffer = new Buffer(_disk_buffer_size);
     _buffer = new Buffer(_disk_buffer_size);
     _current_status->_buffer = _buffer->_buffer;
     _current_status->_buffer = _buffer->_buffer;
     _current_status->reset();
     _current_status->reset();
+    // Reset the flag
+    _recompute_buffer = false;
 
 
   } else if (_current_status->_bytes_in_buffer + _receive_size > 
   } else if (_current_status->_bytes_in_buffer + _receive_size > 
 						_disk_buffer_size) {
 						_disk_buffer_size) {

+ 1 - 1
panda/src/downloader/downloader.h

@@ -101,7 +101,7 @@ private:
   int _disk_write_frequency;
   int _disk_write_frequency;
   float _frequency;
   float _frequency;
   float _byte_rate; 
   float _byte_rate; 
-  int _receive_size;
+  ulong _receive_size;
   int _disk_buffer_size;
   int _disk_buffer_size;
   ofstream _dest_stream;
   ofstream _dest_stream;
   bool _recompute_buffer;
   bool _recompute_buffer;