correctly compute FT speed and ETA. Fixes #8216

This commit is contained in:
Yann Leboulanger 2016-04-04 21:10:57 +02:00
parent 1bf8a35b64
commit 499bbd9fcd
1 changed files with 9 additions and 8 deletions

View File

@ -26,6 +26,7 @@ import socket
import struct import struct
import hashlib import hashlib
import os import os
import time
from errno import EWOULDBLOCK from errno import EWOULDBLOCK
from errno import ENOBUFS from errno import ENOBUFS
from errno import EINTR from errno import EINTR
@ -292,7 +293,7 @@ class SocksQueue:
sender.file_props.paused = False sender.file_props.paused = False
sender.file_props.stalled = False sender.file_props.stalled = False
sender.file_props.elapsed_time = 0 sender.file_props.elapsed_time = 0
sender.file_props.last_time = self.idlequeue.current_time() sender.file_props.last_time = time.time()
sender.file_props.received_len = 0 sender.file_props.received_len = 0
sender.pauses = 0 sender.pauses = 0
# start sending file to proxy # start sending file to proxy
@ -606,7 +607,7 @@ class Socks5(object):
fd = open(self.file_props.file_name, opt) fd = open(self.file_props.file_name, opt)
self.file_props.fd = fd self.file_props.fd = fd
self.file_props.elapsed_time = 0 self.file_props.elapsed_time = 0
self.file_props.last_time = self.idlequeue.current_time() self.file_props.last_time = time.time()
self.file_props.received_len = offset self.file_props.received_len = offset
return fd return fd
@ -679,7 +680,7 @@ class Socks5(object):
self.file_props.error = -1 self.file_props.error = -1
return -1 return -1
self.size += lenn self.size += lenn
current_time = self.idlequeue.current_time() current_time = time.time()
self.file_props.elapsed_time += current_time - \ self.file_props.elapsed_time += current_time - \
self.file_props.last_time self.file_props.last_time
self.file_props.last_time = current_time self.file_props.last_time = current_time
@ -720,7 +721,7 @@ class Socks5(object):
return 0 return 0
fd.write(self.remaining_buff) fd.write(self.remaining_buff)
lenn = len(self.remaining_buff) lenn = len(self.remaining_buff)
current_time = self.idlequeue.current_time() current_time = time.time()
self.file_props.elapsed_time += current_time - \ self.file_props.elapsed_time += current_time - \
self.file_props.last_time self.file_props.last_time
self.file_props.last_time = current_time self.file_props.last_time = current_time
@ -747,7 +748,7 @@ class Socks5(object):
raise e raise e
except Exception: except Exception:
buff = b'' buff = b''
current_time = self.idlequeue.current_time() current_time = time.time()
self.file_props.elapsed_time += current_time - \ self.file_props.elapsed_time += current_time - \
self.file_props.last_time self.file_props.last_time
self.file_props.last_time = current_time self.file_props.last_time = current_time
@ -952,7 +953,7 @@ class Socks5Sender(IdleObject):
self.file_props.stalled = False self.file_props.stalled = False
self.file_props.connected = True self.file_props.connected = True
self.file_props.elapsed_time = 0 self.file_props.elapsed_time = 0
self.file_props.last_time = self.idlequeue.current_time() self.file_props.last_time = time.time()
self.file_props.received_len = 0 self.file_props.received_len = 0
def start_transfer(self): def start_transfer(self):
@ -1039,7 +1040,7 @@ class Socks5Receiver(IdleObject):
self.file_props.stalled = False self.file_props.stalled = False
self.file_props.connected = True self.file_props.connected = True
self.file_props.elapsed_time = 0 self.file_props.elapsed_time = 0
self.file_props.last_time = self.idlequeue.current_time() self.file_props.last_time = time.time()
self.file_props.received_len = 0 self.file_props.received_len = 0
self.pauses = 0 self.pauses = 0
self.state = 7 self.state = 7
@ -1240,7 +1241,7 @@ class Socks5Client(Socks5):
self.file_props.paused = False self.file_props.paused = False
self.file_props.stalled = False self.file_props.stalled = False
self.file_props.elapsed_time = 0 self.file_props.elapsed_time = 0
self.file_props.last_time = self.idlequeue.current_time() self.file_props.last_time = time.time()
self.file_props.received_len = 0 self.file_props.received_len = 0
self.pauses = 0 self.pauses = 0
# start sending file contents to socket # start sending file contents to socket