public SerialNumbers(NetIfManager manager, string masterSN) { int k; Manager = manager; if (!String.IsNullOrWhiteSpace(masterSN)) { MasterSNString = masterSN; if (!MasterSNString.EndsWith("\0")) { MasterSNString += "\0"; } } else { int n = Convert.ToInt32(Manager.ShellId); MasterSNString = Settings.SerialNumberFormatter(Lima.GetComputerCode(), (char)(Primitives.NibbleToHexChar((byte)n)), '0'); } MasterSN = Primitives.StringToByteArray(MasterSNString); UpdateProductCode(MasterSN); SerialNumbersFreeHeap = new TokenAllocator(SerialNumbersSize); IoSerialNumbers = new SerialNumber[SerialNumbersSize]; for (k = 0; k < SerialNumbersSize; k++) { IoSerialNumbers[k] = new SerialNumber(); } }
public NetIfManager(string shellId, string masterSN, InterruptSource interrupt) { ShellId = shellId; Interrupt = interrupt; IoBuffersFreeHeap = new TokenAllocator(IoBuffersHeapSize); IoBuffers = new PacketBuffer[IoBuffersHeapSize]; for (int k = 0; k < IoBuffersHeapSize; ++k) { IoBuffers[k] = new PacketBuffer(MaxPacketSize); } IoNetIfs = new Dictionary <int, LinkDriver>(); Factory = new PacketFactory(this); SerialNumberManager = new SerialNumbers(this, masterSN); }