Browse Subversion Repository
Diff of /branches/ssh_chacha20poly1305/ttssh2/ttxssh/ssh.c
Parent Directory
| Revision Log
| Patch
| 7664 |
DWORD stime; |
DWORD stime; |
| 7665 |
int elapsed, prev_elapsed; |
int elapsed, prev_elapsed; |
| 7666 |
|
|
| 7667 |
buflen = 8192*4; |
buflen = min(c->remote_window, 8192*4); // max 32KB |
| 7668 |
buf = malloc(buflen); |
buf = malloc(buflen); |
| 7669 |
|
|
| 7670 |
//SendMessage(GetDlgItem(hWnd, IDC_FILENAME), WM_SETTEXT, 0, (LPARAM)c->scp.localfile); |
//SendMessage(GetDlgItem(hWnd, IDC_FILENAME), WM_SETTEXT, 0, (LPARAM)c->scp.localfile); |
| 7676 |
prev_elapsed = 0; |
prev_elapsed = 0; |
| 7677 |
|
|
| 7678 |
do { |
do { |
| 7679 |
|
int readlen, count=0; |
| 7680 |
|
|
| 7681 |
// Cancelボタンが押下されたらウィンドウが消える。 |
// Cancelボタンが押下されたらウィンドウが消える。 |
| 7682 |
if (is_canceled_window(hWnd)) |
if (is_canceled_window(hWnd)) |
| 7683 |
goto cancel_abort; |
goto cancel_abort; |
| 7684 |
|
|
| 7685 |
// ファイルから読み込んだデータはかならずサーバへ送信する。 |
// ファイルから読み込んだデータはかならずサーバへ送信する。 |
| 7686 |
ret = fread(buf, 1, buflen, c->scp.localfp); |
readlen = max(4096, min(buflen, c->remote_window)); // min 4KB |
| 7687 |
|
ret = fread(buf, 1, readlen, c->scp.localfp); |
| 7688 |
if (ret == 0) |
if (ret == 0) |
| 7689 |
break; |
break; |
| 7690 |
|
|
| 7691 |
|
// remote_window が回復するまで待つ |
| 7692 |
do { |
do { |
| 7693 |
// socket or channelがクローズされたらスレッドを終わる |
// socket or channelがクローズされたらスレッドを終わる |
| 7694 |
if (pvar->socket == INVALID_SOCKET || c->scp.state == SCP_CLOSING || c->used == 0) |
if (pvar->socket == INVALID_SOCKET || c->scp.state == SCP_CLOSING || c->used == 0) |
| 7698 |
Sleep(100); |
Sleep(100); |
| 7699 |
} |
} |
| 7700 |
|
|
| 7701 |
|
// 100回抜けられなかったら抜けてしまう |
| 7702 |
|
count++; |
| 7703 |
|
if (count > 100) { |
| 7704 |
|
break; |
| 7705 |
|
} |
| 7706 |
|
|
| 7707 |
} while (ret > c->remote_window); |
} while (ret > c->remote_window); |
| 7708 |
|
|
| 7709 |
// sending data |
// sending data |
|
|
Legend:
| Removed from v.4987 |
|
| changed lines |
| |
Added in v.5037 |
|
|
| |