private void CreateMeshNode(CSVMeshNode.CSVMeshNodeTemplate csvLine) { CSVMeshNode newNode = new CSVMeshNode(csvLine, _container); _container.semaphore.WaitOne(); _container.nodeList.Add(newNode); _container.semaphore.Release(); LoggerSAP.Log("Created mesh node named {0} (with {1} dimensions) from it's template.", newNode._name, newNode._x.rank); }
private void CheckInputQueue() { _container.semaphore.WaitOne(); int queueEntries = _container.newNodeQueue.Count; _container.semaphore.Release(); if (queueEntries == 0) { LoggerSAP.Log("Nothing to process. Going to sleep."); sleepTime = 5000; } else { LoggerSAP.Log("Wow, {0} csv entries to process! Getting down to it.", queueEntries); _container.semaphore.WaitOne(); CSVMeshNode.CSVMeshNodeTemplate csvLine = (CSVMeshNode.CSVMeshNodeTemplate)_container.newNodeQueue.Dequeue(); _container.semaphore.Release(); CreateMeshNode(csvLine); } }