public string sendOperatorInfoToPCS(Dictionary <string, string> operatorDict) { Operator _operator = new Operator(); _operator.type = operatorDict["TYPE"]; _operator.id = operatorDict["OPERATOR_ID"]; _operator.input = operatorDict["INPUT"]; _operator.repFact = Int32.Parse(operatorDict["REP_FACT"]); _operator.routing = operatorDict["ROUTING"]; _operator.loggingLevel = operatorDict["LOGGING_LEVEL"]; _operator.semantics = operatorDict["SEMANTICS"]; if (operatorDict["FIELD_NUMBER"] != "") { _operator.fieldNumber = Int32.Parse(operatorDict["FIELD_NUMBER"]); } _operator.condition = operatorDict["CONDITION"]; _operator.conditionValue = operatorDict["CONDITION_VALUE"]; _operator.status = "Stand_by"; _operator.dllCustom = operatorDict["DLL"]; _operator.classCustom = operatorDict["CLASS"]; _operator.methodCustom = operatorDict["METHOD"]; int operatorNumber = 0; foreach (string address in operatorDict["ADDRESSES"].Split('$')) { _operator.myAddress = address; _operator.repID = operatorNumber; Operator finalOperator = new Operator(); finalOperator.duplicate(_operator); PCS.operatorsDict.Add(finalOperator.id + "-" + finalOperator.repID, finalOperator); operatorNumber++; PCS.setMyPreviousAddresses(finalOperator.id, finalOperator.repID); //PCS.setMyReplicasAddresses(finalOperator.id, finalOperator.repID); } foreach (string key in PCS.operatorsDict.Keys) { Operator op = PCS.operatorsDict[key]; op.print(); Console.WriteLine("\r\n"); } PCS.startOperator(_operator.id); return(_operator.id + " recebido pelo PCS");; }
public void startToProcess() { _operator.initAliveReplicas(); _operator.status = "Running"; _operator.print(); _operator.executeThread = new Thread(_operator.execute); _operator.executeThread.Start(); _operator.sendTuplesThread = new Thread(_operator.sendTuples); _operator.sendTuplesThread.Start(); foreach (string file in _operator.inputFile) { readFileToInputBuffer(file); } if (_operator.routing.Equals("primary")) { //_operator.initPrimaryReplicasDict(); } }