diff options
Diffstat (limited to 'methods/http.cc')
-rw-r--r-- | methods/http.cc | 38 |
1 files changed, 1 insertions, 37 deletions
diff --git a/methods/http.cc b/methods/http.cc index 2ec1fe631..e2337a9ba 100644 --- a/methods/http.cc +++ b/methods/http.cc @@ -59,11 +59,6 @@ unsigned long TimeOut = 120; bool Debug = false; -unsigned long CircleBuf::BwReadLimit=0; -unsigned long CircleBuf::BwTickReadData=0; -struct timeval CircleBuf::BwReadTick={0,0}; -const unsigned int CircleBuf::BW_HZ=10; - // CircleBuf::CircleBuf - Circular input buffer /*{{{*/ // --------------------------------------------------------------------- /* */ @@ -71,8 +66,6 @@ CircleBuf::CircleBuf(unsigned long Size) : Size(Size), Hash(0) { Buf = new unsigned char[Size]; Reset(); - - CircleBuf::BwReadLimit = _config->FindI("Acquire::http::DlLimit",0)*1024; } /*}}}*/ // CircleBuf::Reset - Reset to the default state /*{{{*/ @@ -98,45 +91,16 @@ void CircleBuf::Reset() is non-blocking.. */ bool CircleBuf::Read(int Fd) { - unsigned long BwReadMax; - while (1) { // Woops, buffer is full if (InP - OutP == Size) return true; - // what's left to read in this tick - BwReadMax = CircleBuf::BwReadLimit/BW_HZ; - - if(CircleBuf::BwReadLimit) { - struct timeval now; - gettimeofday(&now,0); - - unsigned long d = (now.tv_sec-CircleBuf::BwReadTick.tv_sec)*1000000 + - now.tv_usec-CircleBuf::BwReadTick.tv_usec; - if(d > 1000000/BW_HZ) { - CircleBuf::BwReadTick = now; - CircleBuf::BwTickReadData = 0; - } - - if(CircleBuf::BwTickReadData >= BwReadMax) { - usleep(1000000/BW_HZ); - return true; - } - } - // Write the buffer segment int Res; - if(CircleBuf::BwReadLimit) { - Res = read(Fd,Buf + (InP%Size), - BwReadMax > LeftRead() ? LeftRead() : BwReadMax); - } else - Res = read(Fd,Buf + (InP%Size),LeftRead()); + Res = read(Fd,Buf + (InP%Size),LeftRead()); - if(Res > 0 && BwReadLimit > 0) - CircleBuf::BwTickReadData += Res; - if (Res == 0) return false; if (Res < 0) |