mirror of
https://github.com/copyrighttxt/watrbx-game-engine.git
synced 2026-09-06 05:37:48 +00:00
GEEKING
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
//// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
|
||||
//// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
||||
//// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
||||
//// PARTICULAR PURPOSE.
|
||||
////
|
||||
//// Copyright (c) Microsoft Corporation. All rights reserved
|
||||
#pragma once
|
||||
#include "Clock.h"
|
||||
|
||||
#if TV_API
|
||||
|
||||
namespace Microsoft {
|
||||
namespace Xbox {
|
||||
namespace GameChat {
|
||||
|
||||
delegate void ThreadDoWorkHandler();
|
||||
|
||||
ref class Thread sealed
|
||||
{
|
||||
public:
|
||||
Thread(
|
||||
_In_ UINT sendPeriodInMilliseconds,
|
||||
_In_ int32 threadAffinityMask,
|
||||
_In_ int threadPriority
|
||||
);
|
||||
|
||||
virtual ~Thread();
|
||||
|
||||
void Shutdown();
|
||||
|
||||
UINT GetWorkPeriodInMilliseconds();
|
||||
|
||||
void SetWorkPeriodInMilliseconds(
|
||||
_In_ UINT sendPeriodInMilliseconds
|
||||
);
|
||||
|
||||
void SetOptions(
|
||||
_In_ int32 threadAffinityMask,
|
||||
_In_ int threadPriority
|
||||
);
|
||||
|
||||
void WakeupThread();
|
||||
|
||||
event ThreadDoWorkHandler^ OnDoWork;
|
||||
|
||||
private:
|
||||
static DWORD WINAPI StaticThreadProc(
|
||||
_In_ Thread^ networkSendThread
|
||||
);
|
||||
|
||||
DWORD ThreadProc();
|
||||
|
||||
private:
|
||||
CRITICAL_SECTION m_threadManagementLock;
|
||||
Clock m_clock;
|
||||
HANDLE m_terminateThreadEvent;
|
||||
HANDLE m_threadHandle;
|
||||
HANDLE m_wakeupEventHandle;
|
||||
UINT m_workPeriodInMilliseconds;
|
||||
int m_threadPriority;
|
||||
uint32 m_threadAffinityMask;
|
||||
};
|
||||
|
||||
}}}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user