Ignore:
Timestamp:
Aug 8, 2010, 6:04:23 PM (11 years ago)
Author:
kopal
Message:

some ExecutionEngine changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/WorkspaceManager/Execution/ExecutionEngine.cs

    r1776 r1777  
    7272        public void Execute(WorkspaceModel workspaceModel)
    7373        {
    74             this.workspaceModel = workspaceModel;
    75 
    7674            if (!IsRunning)
    7775            {
    7876                IsRunning = true;
    79                 int amountSchedulers = System.Environment.ProcessorCount * 2;               
    80 
     77                this.workspaceModel = workspaceModel;
     78                int amountSchedulers = System.Environment.ProcessorCount * 2;
     79 
    8180                //Here we create n = "ProcessorsCount * 2" Gears4Net schedulers
    8281                //We do this, because measurements showed that we get the best performance if we
     
    304303    public class PluginProtocol : ProtocolBase
    305304    {
     305       
    306306        public PluginModel PluginModel;
    307307        private ExecutionEngine executionEngine;
     
    328328            while (this.executionEngine.IsRunning)
    329329            {
    330                 yield return Receive<MessageExecution>(null, this.HandleExecute);               
     330                yield return Receive<MessageExecution>(null, this.HandleExecute);                
    331331            }
    332332        }
     
    339339        {
    340340           
    341 
    342341            if (!msg.PluginModel.WorkspaceModel.WorkspaceManagerEditor.isExecuting())
    343342            {
     
    345344            }
    346345
     346            //Check if all necessary inputs are set
    347347            foreach (ConnectorModel connectorModel in msg.PluginModel.InputConnectors)
    348348            {
    349                 if (!connectorModel.IControl && (connectorModel.IsMandatory || connectorModel.InputConnections.Count > 0) && !connectorModel.HasData)
     349                if (!connectorModel.IControl &&
     350                    (connectorModel.IsMandatory || connectorModel.InputConnections.Count > 0) && (!connectorModel.HasData ||
     351                    connectorModel.Data==null))
    350352                {
    351353                    return;
     
    353355            }
    354356
     357            //Check if all outputs are free
    355358            foreach (ConnectorModel connectorModel in msg.PluginModel.OutputConnectors)
    356359            {
     
    367370            }
    368371
    369             //Fill the plugins Inputs with data
     372            //Fill the plugins inputs with data
    370373            foreach (ConnectorModel connectorModel in PluginModel.InputConnectors)
    371374            {
    372375                try
    373376                {
    374                     if (connectorModel.HasData)
     377                    if (connectorModel.HasData && connectorModel.Data.value != null)
    375378                    {
    376379                        if (connectorModel.IsDynamic)
     
    405408            {
    406409                if (connectorModel.HasData)
    407                 {
     410                {                   
     411                    connectorModel.Data = null;
    408412                    connectorModel.HasData = false;
    409                     connectorModel.Data = null;
    410413                    foreach (ConnectionModel connectionModel in connectorModel.InputConnections)
    411414                    {
     
    416419            }
    417420           
    418            
    419 
    420421            foreach (ConnectorModel connectorModel in PluginModel.InputConnectors)
    421422            {
    422423                foreach (ConnectionModel connectionModel in connectorModel.InputConnections)
    423424                {
    424                     if (!connectionModel.From.PluginModel.Startable || (connectionModel.From.PluginModel.Startable && connectionModel.From.PluginModel.RepeatStart))
     425                    if (!connectionModel.From.PluginModel.Startable ||
     426                        (connectionModel.From.PluginModel.Startable && connectionModel.From.PluginModel.RepeatStart))
    425427                    {
    426428                        MessageExecution message_exec = new MessageExecution();
     
    429431                    }
    430432                }
    431             }
    432            
    433         }
    434      
     433            }           
     434        }
    435435    }
    436436
Note: See TracChangeset for help on using the changeset viewer.