Exemplo n.º 1
0
 private void RunExperimentOperation(ExperimentOperation experimentOperation)
 {
     if (experimentOperation == null)
     {
         return;
     }
     RunOperation(experimentOperation);
 }
Exemplo n.º 2
0
 private void ExperimentProcessingProc()
 {
     while (true)
     {
         ExperimentOperation experimentOperation = experimentQueue.Dequeue();
         RunExperimentOperation(experimentOperation);
     }
 }
Exemplo n.º 3
0
        public ExperimentOperation LoadOperationTreeFromFile(string fileName)
        {
            FileStream fileStream = new FileStream(fileName, FileMode.Open);

            byte[] content = new byte[fileStream.Length];
            fileStream.Read(content, 0, content.Length);

            string stringContent = Encoding.UTF8.GetString(content);

            ExperimentOperation experimentOperation =
                JsonConvert.DeserializeObject <ExperimentOperation>(stringContent);

            return(experimentOperation);
        }
Exemplo n.º 4
0
        public void SaveOperationTreeToFile(ExperimentOperation experimentOperation,
                                            string fileName)
        {
            JsonSerializerSettings settings = new JsonSerializerSettings()
            {
                Formatting = Formatting.Indented,
            };

            string     content    = JsonConvert.SerializeObject(experimentOperation, settings);
            FileStream fileStream = new FileStream(fileName, FileMode.Create);

            byte[] bytesContent = Encoding.UTF8.GetBytes(content);
            fileStream.Write(bytesContent, 0, bytesContent.Length);
            fileStream.Close();
        }
Exemplo n.º 5
0
        public bool RunNewExperiment(ExperimentOperation experimentOperation)
        {
            if (experimentQueue.Count != 0)
            {
                return(false);
            }
            experimentQueue.Enqueue(experimentOperation);

            threadCreatingMutex.WaitOne();
            if (experimentProcessingThread == null)
            {
                experimentProcessingThread = new Thread(ExperimentProcessingProc);
                experimentProcessingThread.IsBackground = true;
                experimentProcessingThread.Start();
            }
            threadCreatingMutex.ReleaseMutex();
            return(true);
        }