//===========================================================================//
// File:	NetConstants.hpp											
//---------------------------------------------------------------------------//
//   Date    Who  Modification                                               //
// --------  ---  ---------------------------------------------------------- //
// 01/06/2000  JSE  Inital coding
//---------------------------------------------------------------------------//
// Copyright (C) 1998, Microsoft Corp.										 //
// All Rights reserved worldwide                                             //
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL               //
//===========================================================================//


#pragma once

namespace MechWarrior4 
{

	
	const int DefaultPacketBufferSize=static_cast<int>(1024);

	const int MaximumPages=static_cast<int>(64);
	const int MaximumPagesBitDepth=static_cast<int>(7);

	struct UpdateRate {
		int m_ActiveRate;
		int m_InactiveRate;
		
		UpdateRate&
			operator=(const UpdateRate &rate)
				{
					m_ActiveRate = rate.m_ActiveRate;
					m_InactiveRate = rate.m_InactiveRate;
					return *this;
				}

		UpdateRate()
		{
			m_ActiveRate = -1;
			m_InactiveRate = -1;
		}

		UpdateRate(int active, int inactive)
		{
			m_ActiveRate = active;
			m_InactiveRate = inactive;
		}

		const int&
			operator[](size_t index) const
				{
					Check_Pointer(this);
					Verify(static_cast<unsigned>(index) <= 2);
					return (&m_ActiveRate)[index];
				}
		
	};

	#ifdef LAB_ONLY
		#define NetVerify(c)\
			do {if (!(c)) PAUSE(("Failed " #c));} while(0)
	#else
		#define NetVerify(c) ((void)0)
	#endif

};