Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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;
        }