本文整理汇总了C++中Session::IssueReset方法的典型用法代码示例。如果您正苦于以下问题:C++ Session::IssueReset方法的具体用法?C++ Session::IssueReset怎么用?C++ Session::IssueReset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Session
的用法示例。
在下文中一共展示了Session::IssueReset方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: WorkerProc
void Server::WorkerProc()
{
BOOL status;
DWORD num_transferred = 0;
ULONG_PTR key;
LPOVERLAPPED pOver = NULL;
while(TRUE)
{
status = GetQueuedCompletionStatus(
m_hIoPort,
&num_transferred, &key, &pOver,INFINITE );
Session* pSession = reinterpret_cast<Session*>(pOver);
if ( status == FALSE || (num_transferred == 0 && pSession != NULL && !pSession->CanProcessZero()) )
{
// An error occurred; reset to a known state.
if ( pSession != NULL )
{
Log(_T("Remote host closed connection."));
pSession->IssueReset();
}
}
else
{
switch (key)
{
case COMPLETION_KEY_IO:
pSession->OnIoComplete(num_transferred);
break;
case COMPLETION_KEY_SHUTDOWN:
return;
case COMPLETION_FILE_KEY_IO:
FileOverlapped* fo = reinterpret_cast<FileOverlapped*>(pOver);
fo->m_pSession->OnIoComplete(num_transferred);
break;
}
}
}
}