示例#1
0
        public DirectorNodeService(string TAG, IEnumerable <NodeName> allNodeNames, INodeProxyProvider proxyProvider, DCEPSettings settings)
        {
            this.TAG                   = TAG + "[DirectorNodeService] ";
            this.allNodeNames          = allNodeNames;
            this.settings              = settings;
            this.localNodeCanTerminate = false;
            if (settings.duration != 0)
            {
                this.durationMS = settings.timeUnit.GetTimeSpanFromDuration(settings.duration).TotalMilliseconds;
            }

            experimentRunMessageQueue = new SerializableQueue <ExperimentRunNodeDataMessage>();

            nodesToWaitWithStartingFor = new HashSet <NodeName>(allNodeNames);
            systemState = NodeExecutionState.WaitForStart;

            lastReadyToTerminateSignalTime = new Dictionary <NodeName, double>();
            experimentRunDataByNodeName    = new Dictionary <NodeName, ExperimentRunData>();

            foreach (var nodeName in allNodeNames)
            {
                lastReadyToTerminateSignalTime[nodeName] = -1;
                experimentRunDataByNodeName[nodeName]    = null;
            }

            this.proxyProvider = proxyProvider;

            Thread t = new Thread(new ThreadStart(threadStartMethod));

            t.Start();
        }
    private void CheckInitialize(SerializedProperty property, GUIContent label)
    {
        if (_Queue == null)
        {
            var target = property.serializedObject.targetObject;
            _Queue = fieldInfo.GetValue(target) as SerializableQueue <T>;
            if (_Queue == null)
            {
                _Queue = new SerializableQueue <T>();
                fieldInfo.SetValue(target, _Queue);
            }

            _Foldout = EditorPrefs.GetBool(label.text);
        }
    }
示例#3
0
文件: DCEPNode.cs 项目: samieze/aMuSE
 public DCEPNode(NodeName name, string[] inputlines, DCEPSettings settings)
 {
     TAG = "[" + name + "] ";
     Console.WriteLine(TAG + "DCEPNode Constructor called.");
     state = NodeExecutionState.WaitForStart;
     receivedEventCount      = 0;
     sentReadyToStartMessage = false;
     nodeName            = name;
     externalEventQueue  = new SerializableQueue <AbstractEvent>();
     internalEventQueue  = new SerializableQueue <AbstractEvent>();
     controlMessageQueue = new SerializableQueue <DCEPControlMessage>();
     queryProcessors     = new List <QueryProcessor>();
     this.settings       = settings;
     executionPlan       = new ExecutionPlan(inputlines);
     benchmarkMeter      = new BenchmarkMeter(settings, nodeName);
     createQueryProcessors(executionPlan.queriesByNodeName[nodeName]);
 }
示例#4
0
        private void loadFromFileButton_Click(object sender, EventArgs e)
        {
            // Creating new XmlSerializer of the type of the queue
            var serializer = new XmlSerializer(typeof(SerializableQueue <Order>));
            // Creating new stream writer into the file with name _filename
            var stream = new FileStream(_filename, FileMode.Open);

            // Deserializing the queue with orders
            _orders = (SerializableQueue <Order>)serializer.Deserialize(stream);
            // Closing stream
            stream.Close();

            // Filling list box with items
            queueListBox.Items.Clear();
            foreach (var order in _orders)
            {
                queueListBox.Items.Add(order.Name + " " + order.Amount.ToString());
            }
        }