public void TrySetException(Exception exception) { try { if (m_IsAsync) { m_Completion.TrySetException(exception); } else { m_Exception = exception; } } finally { m_Status |= RedisAsyncTaskStatus.Failed; Pulse(); } }
public void TrySetCompleted(RedisResult data) { try { if (m_IsAsync) { m_Completion.TrySetResult(data); } else { m_Result = data; } } finally { m_Status |= RedisAsyncTaskStatus.Completed; Pulse(); } }
public void TrySetCanceled() { try { if (m_IsAsync) { var tcs = m_Completion; var task = tcs.Task; if (!IsTaskCompletionSourceCompleted()) { tcs.TrySetCanceled(); } } } finally { m_Status |= RedisAsyncTaskStatus.Canceled; Pulse(); } }