예제 #1
0
        public void HandleFileData(PacketWorkerFileData packet)
        {
            packet.UpdateCheckSum();
            var reqFile = packet.GetFile();
            var task    = _network.GetActiveTask();

            if (task == null)
            {
                Logger.Warn($"Handle file data '{packet.GetFile()}' when active task is null");
                return;
            }

            if (task.TaskId != packet.GetTaskId() || task.ParentJob.Name != packet.GetJobName())
            {
                Logger.Warn($"Received file data for unknown task [Id={packet.GetTaskId()}, JobName={packet.GetJobName()}]");
                return;
            }

            foreach (var fileRef in task.ParentJob.JobFiles)
            {
                if (fileRef.FileName == reqFile.FileName)
                {
                    fileRef.Bytes = packet.GetData();
                    fileRef.UpdateCheckSum();

                    Logger.Debug($"Store task '{task}' file '{fileRef}'");
                    GridIo.StoreJobTaskFile(task, fileRef);
                    _netSystem.WaitFileReceived(fileRef);
                    return;
                }
            }
        }
예제 #2
0
 public void HandleFileData(PacketWorkerFileData packet)
 {
     throw new NotImplementedException();
 }
예제 #3
0
 public void HandleFileData(PacketWorkerFileData packet)
 {
     _netClient.AcceptFile(packet.GetTaskId(), packet.GetJobName(), packet.GetFile());
 }