mirror of
https://github.com/phpseclib/phpseclib.git
synced 2024-12-27 03:42:40 +00:00
Merge branch '2.0-speed-up-uploads' into 2.0
This commit is contained in:
commit
5f30f59d53
@ -397,6 +397,9 @@ class SFTP extends SSH2
|
|||||||
if (!defined('NET_SFTP_QUEUE_SIZE')) {
|
if (!defined('NET_SFTP_QUEUE_SIZE')) {
|
||||||
define('NET_SFTP_QUEUE_SIZE', 32);
|
define('NET_SFTP_QUEUE_SIZE', 32);
|
||||||
}
|
}
|
||||||
|
if (!defined('NET_SFTP_UPLOAD_QUEUE_SIZE')) {
|
||||||
|
define('NET_SFTP_UPLOAD_QUEUE_SIZE', 1024);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2018,7 +2021,7 @@ class SFTP extends SSH2
|
|||||||
$sftp_packet_size = 4096; // PuTTY uses 4096
|
$sftp_packet_size = 4096; // PuTTY uses 4096
|
||||||
// make the SFTP packet be exactly 4096 bytes by including the bytes in the NET_SFTP_WRITE packets "header"
|
// make the SFTP packet be exactly 4096 bytes by including the bytes in the NET_SFTP_WRITE packets "header"
|
||||||
$sftp_packet_size-= strlen($handle) + 25;
|
$sftp_packet_size-= strlen($handle) + 25;
|
||||||
$i = 0;
|
$i = $j = 0;
|
||||||
while ($dataCallback || ($size === 0 || $sent < $size)) {
|
while ($dataCallback || ($size === 0 || $sent < $size)) {
|
||||||
if ($dataCallback) {
|
if ($dataCallback) {
|
||||||
$temp = call_user_func($dataCallback, $sftp_packet_size);
|
$temp = call_user_func($dataCallback, $sftp_packet_size);
|
||||||
@ -2034,7 +2037,7 @@ class SFTP extends SSH2
|
|||||||
|
|
||||||
$subtemp = $offset + $sent;
|
$subtemp = $offset + $sent;
|
||||||
$packet = pack('Na*N3a*', strlen($handle), $handle, $subtemp / 4294967296, $subtemp, strlen($temp), $temp);
|
$packet = pack('Na*N3a*', strlen($handle), $handle, $subtemp / 4294967296, $subtemp, strlen($temp), $temp);
|
||||||
if (!$this->_send_sftp_packet(NET_SFTP_WRITE, $packet)) {
|
if (!$this->_send_sftp_packet(NET_SFTP_WRITE, $packet, $j)) {
|
||||||
if ($mode & self::SOURCE_LOCAL_FILE) {
|
if ($mode & self::SOURCE_LOCAL_FILE) {
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
}
|
}
|
||||||
@ -2046,8 +2049,9 @@ class SFTP extends SSH2
|
|||||||
}
|
}
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
|
$j++;
|
||||||
|
|
||||||
if ($i == NET_SFTP_QUEUE_SIZE) {
|
if ($i == NET_SFTP_UPLOAD_QUEUE_SIZE) {
|
||||||
if (!$this->_read_put_responses($i)) {
|
if (!$this->_read_put_responses($i)) {
|
||||||
$i = 0;
|
$i = 0;
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user