PartyManager::DoWork
Synchronously performs the processing task associated with threadId
.
Syntax
PartyError DoWork(
PartyThreadId threadId
)
Parameters
threadId
PartyThreadId
A high-level categorization of the Party library's internal processing task.
Return value
PartyError
c_partyErrorSuccess
if the call succeeded or an error code otherwise. The human-readable form of the error code can be retrieved via GetErrorMessage().
Remarks
This method fails and returns an error if the work mode of threadId
hasn't previously been set to PartyWorkMode::Manual via a call to SetWorkMode(). Additionally, on the Windows and Microsoft Game Core versions of the library, this method fails and returns an error if the title thread calling this method doesn't exist in a COM multithreaded apartment when threadId
is PartyThreadId::Networking.
By default, the Party library will internally manage the processing task associated with threadId
. However, if the work mode of threadId
is configured as PartyWorkMode::Manual via a call to SetWorkMode(), the title must periodically call this method to perform the processing task instead.
The processing task associated with threadId
dictates the frequency at which this method should be called. The processing task associated with PartyThreadId::Audio should be performed every 40 ms, while the processing task associated with PartyThreadId::Networking should be performed every 50 ms to 100 ms. Internally, processing tasks attempt to handle small variations in timing, but issues arise if timing strays too far from what is expected (for example, audio stutter, network state desynchronization).
For more information on processing task types and timing expectations, see PartyThreadId.
Requirements
Header: Party.h
See also
PartyManager
PartyManager::SetWorkMode
PartyManager::GetWorkMode