public static Entity.TaskFeedback Run(Entity.Task task, IJudgeNodeCallback callback) { var freeCore = GetFreeCore(); if (CoreStatusUpdated != null) { CoreStatusUpdated(null, null); } freeCore.CurrentTask = task; TaskHelper helper = new TaskHelper() { Task = task, CenterServer = callback }; helper.Start(); freeCore.Status = CoreStatus.Free; if (CoreStatusUpdated != null) { CoreStatusUpdated(null, null); } return(helper.Feedback); }
public static IJudgeNodeChannel CreateChannel(IPEndPoint server, IJudgeNodeCallback callback) { IJudgeNodeChannel channel; var factory = new DuplexChannelFactory<IJudgeNodeChannel>(callback, GetServiceEndPoint(server)); channel = factory.CreateChannel(); var version = typeof(IJudgeNode).Assembly.GetName().Version; string clientVersion = version.Major + "." + version.Minor; string serverVersion = channel.GetVersion(); if (clientVersion != serverVersion) { channel.Close(); throw new Exception(string.Format("Version of client({0}) does not match version of server({1}).", clientVersion, serverVersion)); } return channel; }
public static IJudgeNodeChannel CreateChannel(IPEndPoint server, IJudgeNodeCallback callback) { IJudgeNodeChannel channel; var factory = new DuplexChannelFactory <IJudgeNodeChannel>(callback, GetServiceEndPoint(server)); channel = factory.CreateChannel(); var version = typeof(IJudgeNode).Assembly.GetName().Version; string clientVersion = version.Major + "." + version.Minor; string serverVersion = channel.GetVersion(); if (clientVersion != serverVersion) { channel.Close(); throw new Exception(string.Format("Version of client({0}) does not match version of server({1}).", clientVersion, serverVersion)); } return(channel); }
public static Entity.TaskFeedback Run(Entity.Task task, IJudgeNodeCallback callback) { var freeCore = GetFreeCore(); if (CoreStatusUpdated != null) CoreStatusUpdated(null, null); freeCore.CurrentTask = task; TaskHelper helper = new TaskHelper() { Task = task, CenterServer = callback }; helper.Start(); freeCore.Status = CoreStatus.Free; if (CoreStatusUpdated != null) CoreStatusUpdated(null, null); return helper.Feedback; }