Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/17/19 10:40:41 (5 years ago)
Author:
dpiringe
Message:

#2924:

  • some changes in CLIApplication.cs to reduce unnecessary allocation of string objects
  • renamed AppTest to ConsoleOptimizer and fixed race condition
  • replaced enum RunnerJob with class RunnerMessage for more control of saved data
  • changed usage of BinaryFormatter with HEAL.Attic, following types are now Storable:
    • ConsoleOptimizer
    • InspectApplication
    • ApplicationBase
    • ApplicationRunner
    • AssemblyInfo
    • Runner
    • UniPath
    • RunnerMessage
  • switched QuietMode from ApplicationRunner to IRunner
  • DockerRunnerHost can now automatically build docker images for linux and windows containers (also identifies which container type is active) -> removes the condition to have the image preinstalled
    • to achieve this, there are two new folders DockerLinuxBuild and DockerWindowsBuild included in build output, which include Dockerfiles to build images for linux and windows container
  • added NuGet package System.CodeDom to project HeuristicLab.Scripting-3.3
  • added method Send(RunnerMessage) to IRunnerHost and transferred methods Pause and Resume to IRunner
  • added internal reference of RunnerHost in Runner
  • added abstract method SendMessage(RunnerMessage) in RunnerHost which gets called from method Send(RunnerMessage)
  • because of a Google.Protobuf "bug", RunnerMessages cannot get serialized/deserialized directly on stream -> workaround with a byte array, which gets written and read
    • additionally, the length of the array gets sent first (length as integer -> 4 bytes)
    • static method in RunnerMessage to read a message from a stream
    • the method SendMessage(RunnerMessage) in RunnerHost implements this functionality
Location:
branches/2924_DotNetCoreMigration/HeuristicLab.PluginInfrastructure/3.3/Interfaces
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2924_DotNetCoreMigration/HeuristicLab.PluginInfrastructure/3.3/Interfaces/IRunner.cs

    r16993 r17013  
    33namespace HeuristicLab.PluginInfrastructure {
    44  public interface IRunner {
    5     /// <summary>
    6     /// Set this to true, if console output should be disabled.
    7     /// </summary>
    8     bool QuietMode { get; set; }
    9 
    105    /// <summary>
    116    /// Assemblies which the child process needs to load.
     
    1712    /// </summary>
    1813    void Run();
     14
     15    void Pause();
     16    void Resume();
     17    void Cancel();
    1918  }
    2019}
  • branches/2924_DotNetCoreMigration/HeuristicLab.PluginInfrastructure/3.3/Interfaces/IRunnerHost.cs

    r16993 r17013  
    1212    /// </summary>
    1313    RunnerState State { get; }
     14
     15    /// <summary>
     16    /// Set this to true, if console output should be disabled.
     17    /// </summary>
     18    bool QuietMode { get; set; }
    1419
    1520    /// <summary>
     
    2833
    2934    /// <summary>
    30     /// Method to pause the runner and the isolated IApplication.
     35    /// Method to send messages to the runner, which runs in child process.
    3136    /// </summary>
    32     void Pause();
    33 
    34     /// <summary>
    35     /// Method to resume a paused runner and the isolated IApplication.
    36     /// </summary>
    37     void Resume();
     37    /// <param name="runnerMessage">A object from a derived class of RunnerMessage.</param>
     38    void Send(RunnerMessage runnerMessage);
    3839  }
    3940}
Note: See TracChangeset for help on using the changeset viewer.