public override void RegisterSteppableClient(ClientRunControlFacade client, int stepOrder) { lock (runControlClients) { try { // invoke the step mode and continuous mode stuff on the client if (stepMode) { client.SetStepMode(); } else { client.SetContinuousMode(continuousModeRate); } runControlClients[stepOrder] = client; } catch (Exception ex) { Console.WriteLine("could not register steppable client: " + ex.Message); } } }
/// <summary> /// Called by a client (i.e. operational, arbiter) to register as supporting run control feedback /// </summary> /// <param name="client">Client object to call with run control messages</param> /// <param name="stepOrder">Order client should be invoked</param> /// <remarks> /// The order is used so that the arbiter can run first and then the operational. As a convention /// we'll assign the the following numbers to the order with space for things to be added later if /// we need to: 10 = arbiter, 20 = operational. /// </remarks> public abstract void RegisterSteppableClient(ClientRunControlFacade client, int stepOrder);