private void UpdateReceiveState(int newReceiveState, int expectedReceiveState)
{
int receiveState;
if ((receiveState = Interlocked.Exchange(ref _receiveState, newReceiveState)) != expectedReceiveState)
{
Debug.Assert(false,
string.Format(CultureInfo.InvariantCulture,
"'_receiveState' had an invalid value '{0}'. The expected value was '{1}'.",
receiveState,
expectedReceiveState));
}
}