Ignore:
Timestamp:
Aug 11, 2010, 11:29:47 PM (11 years ago)
Author:
kopal
Message:

removed events of connectors and put date exchange directly into the ExecutionEngine to improve the performance

File:
1 edited

Legend:

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

    r1802 r1803  
    7777                this.workspaceModel = workspaceModel;
    7878                int amountSchedulers = System.Environment.ProcessorCount * 2;
    79                
     79
    8080                //Here we create n = "ProcessorsCount * 2" Gears4Net schedulers
    8181                //We do this, because measurements showed that we get the best performance if we
     
    418418                }
    419419            }
     420
     421            foreach (ConnectorModel connectorModel in PluginModel.OutputConnectors)
     422            {
     423                object data;
     424
     425                if (connectorModel.IsDynamic)
     426                {
     427                    data = connectorModel.PluginModel.Plugin.GetType().GetMethod(connectorModel.DynamicGetterName).Invoke(connectorModel.PluginModel.Plugin, new object[] { connectorModel.PropertyName });
     428                }
     429                else
     430                {
     431                    data = connectorModel.PluginModel.Plugin.GetType().GetProperty(connectorModel.PropertyName).GetValue(connectorModel.PluginModel.Plugin, null);
     432                }
     433
     434                if (data != null)
     435                {
     436                    foreach (ConnectionModel connectionModel in connectorModel.OutputConnections)
     437                    {
     438
     439                        Data Data = new Data();
     440                        Data.value = data;
     441                        connectionModel.To.Data = Data;
     442                        connectionModel.To.HasData = true;
     443                        connectionModel.Active = true;
     444                        connectionModel.GuiNeedsUpdate = true;
     445                    }
     446                }
     447            }
    420448           
     449            foreach (ConnectorModel connectorModel in PluginModel.OutputConnectors)
     450            {
     451                foreach (ConnectionModel connectionModel in connectorModel.OutputConnections)
     452                {
     453                    MessageExecution msg_exce = new MessageExecution();
     454                    msg_exce.PluginModel = connectionModel.To.PluginModel;
     455                    connectionModel.To.PluginModel.PluginProtocol.BroadcastMessage(msg_exce);
     456                }
     457            }
     458
     459
    421460            foreach (ConnectorModel connectorModel in PluginModel.InputConnectors)
    422461            {
Note: See TracChangeset for help on using the changeset viewer.