Lines 168-173
Link Here
|
168 |
|
168 |
|
169 |
int value = 65536 * 2; |
169 |
int value = 65536 * 2; |
170 |
m_pSocket->SetOption(SOL_SOCKET, SO_SNDBUF, &value, sizeof(value)); |
170 |
m_pSocket->SetOption(SOL_SOCKET, SO_SNDBUF, &value, sizeof(value)); |
|
|
171 |
|
172 |
if (m_bActive) |
173 |
TriggerPostponedEvents(); |
171 |
} |
174 |
} |
172 |
|
175 |
|
173 |
void CTransferSocket::OnReceive() |
176 |
void CTransferSocket::OnReceive() |
Lines 175-185
Link Here
|
175 |
m_pControlSocket->LogMessage(::Debug_Debug, _T("CTransferSocket::OnReceive(), m_transferMode=%d"), m_transferMode); |
178 |
m_pControlSocket->LogMessage(::Debug_Debug, _T("CTransferSocket::OnReceive(), m_transferMode=%d"), m_transferMode); |
176 |
|
179 |
|
177 |
if (!m_pBackend) |
180 |
if (!m_pBackend) |
|
|
181 |
{ |
182 |
m_pControlSocket->LogMessage(::Debug_Verbose, _T("Postponing receive, m_pBackend was false.")); |
183 |
m_postponedReceive = true; |
178 |
return; |
184 |
return; |
|
|
185 |
} |
179 |
|
186 |
|
180 |
if (!m_bActive) |
187 |
if (!m_bActive) |
181 |
{ |
188 |
{ |
182 |
m_pControlSocket->LogMessage(::Debug_Verbose, _T("Postponing receive")); |
189 |
m_pControlSocket->LogMessage(::Debug_Verbose, _T("Postponing receive, m_bActive was false.")); |
183 |
m_postponedReceive = true; |
190 |
m_postponedReceive = true; |
184 |
return; |
191 |
return; |
185 |
} |
192 |
} |
Lines 332-338
Link Here
|
332 |
|
339 |
|
333 |
if (m_transferMode == upload) |
340 |
if (m_transferMode == upload) |
334 |
{ |
341 |
{ |
335 |
if (m_shutdown) |
342 |
if (m_shutdown && m_pTlsSocket) |
336 |
{ |
343 |
{ |
337 |
m_pTlsSocket->Shutdown(); |
344 |
m_pTlsSocket->Shutdown(); |
338 |
if (m_pTlsSocket->Error()) |
345 |
if (m_pTlsSocket->Error()) |
Lines 426-445
Link Here
|
426 |
|
433 |
|
427 |
m_bActive = true; |
434 |
m_bActive = true; |
428 |
if (m_pSocket && m_pSocket->IsConnected()) |
435 |
if (m_pSocket && m_pSocket->IsConnected()) |
429 |
{ |
436 |
TriggerPostponedEvents(); |
430 |
if (m_postponedReceive) |
|
|
431 |
{ |
432 |
m_pControlSocket->LogMessage(::Debug_Verbose, _T("Executing postponed receive")); |
433 |
m_postponedReceive = false; |
434 |
OnReceive(); |
435 |
} |
436 |
if (m_postponedSend) |
437 |
{ |
438 |
m_pControlSocket->LogMessage(::Debug_Verbose, _T("Executing postponed send")); |
439 |
m_postponedSend = false; |
440 |
OnSend(); |
441 |
} |
442 |
} |
443 |
} |
437 |
} |
444 |
|
438 |
|
445 |
void CTransferSocket::TransferEnd(int reason) |
439 |
void CTransferSocket::TransferEnd(int reason) |
Lines 656-658
Link Here
|
656 |
|
650 |
|
657 |
return true; |
651 |
return true; |
658 |
} |
652 |
} |
|
|
653 |
|
654 |
void CTransferSocket::TriggerPostponedEvents() |
655 |
{ |
656 |
wxASSERT(m_bActive); |
657 |
|
658 |
if (m_postponedReceive) |
659 |
{ |
660 |
m_pControlSocket->LogMessage(::Debug_Verbose, _T("Executing postponed receive")); |
661 |
m_postponedReceive = false; |
662 |
OnReceive(); |
663 |
} |
664 |
if (m_postponedSend) |
665 |
{ |
666 |
m_pControlSocket->LogMessage(::Debug_Verbose, _T("Executing postponed send")); |
667 |
m_postponedSend = false; |
668 |
OnSend(); |
669 |
} |
670 |
} |