private void createOperator(object[] operator_info) // Operator Info {ID, URLs, Type, InputSources, OutputSources, RoutingOption, logLevel, params} { RemotePM pm = (RemotePM)Activator.GetObject(typeof(RemotePM), "tcp://localhost:10001/RemotePM"); pm.createOperator(operator_info); logTextBox.AppendText("<PuppetMaster>: Remote Operator <" + operator_info[0] + "> is up!\r\n"); }
private void unfreezeReplica(string op_id, int replica_id) { if (operatorExists(op_id) && replicaExists(op_id, replica_id)) { RemotePM pm = (RemotePM)Activator.GetObject(typeof(RemotePM), "tcp://localhost:10001/RemotePM"); pm.unfreezeOperator(operatorsURL[op_id][replica_id]); logTextBox.AppendText("<PuppetMaster>: <" + op_id + "> <" + operatorsURL[op_id][replica_id] + "> is unfreezed ;\r\n"); } }
private void statusOperators(string op_id) { if (operatorExists(op_id)) { RemotePM pm = (RemotePM)Activator.GetObject(typeof(RemotePM), "tcp://localhost:10001/RemotePM"); for (int i = 0; i < operatorsURL[op_id].Count; i++) { string state = pm.statusOperator(operatorsURL[op_id][i]); logTextBox.AppendText("<PuppetMaster>: <" + op_id + "> <" + operatorsURL[op_id][i] + "> status is " + state + ";\r\n"); } } }
private void intervalOperator(string op_id, int miliseconds) { if (operatorExists(op_id)) { RemotePM pm = (RemotePM)Activator.GetObject(typeof(RemotePM), "tcp://localhost:10001/RemotePM"); for (int i = 0; i < operatorsURL[op_id].Count; i++) { pm.intervalOperator(operatorsURL[op_id][i], miliseconds); } logTextBox.AppendText("<PuppetMaster>: <" + op_id + "> interval <" + miliseconds + ">;\r\n"); } }
private void getOperatorsResult() { RemotePM pm = (RemotePM)Activator.GetObject(typeof(RemotePM), "tcp://localhost:10001/RemotePM"); while (true) { string[] op_res = pm.getResult(); if (op_res != null) { appendResult(op_res); } } }
private void startOperator(string op_id) { if (operatorExists(op_id)) { logTextBox.AppendText("<PuppetMaster>: <" + op_id + ">"); RemotePM pm = (RemotePM)Activator.GetObject(typeof(RemotePM), "tcp://localhost:10001/RemotePM"); for (int i = 0; i < operatorsURL[op_id].Count; i++) { pm.startOperator(operatorsURL[op_id][i], op_id, semantics); logTextBox.AppendText(" <" + operatorsURL[op_id][i] + ">"); } logTextBox.AppendText(" started;\r\n"); } }
private void crashReplica(string op_id, int replica_id) { if (operatorExists(op_id) && replicaExists(op_id, replica_id)) { RemotePM pm = (RemotePM)Activator.GetObject(typeof(RemotePM), "tcp://localhost:10001/RemotePM"); pm.crashOperator(operatorsURL[op_id][replica_id]); logTextBox.AppendText("<PuppetMaster>: <" + op_id + "> <" + operatorsURL[op_id][replica_id] + "> crashed;\r\n"); operatorsURL[op_id].RemoveAt(replica_id); if (operatorsURL[op_id].Count == 0) // If doesnt have any more replicas remove Operator from Dictionary { operatorsURL.Remove(op_id); } } }