Previous Next        Current Page: NeXtMidas Training / Macros - Part 1 (Basics) / Pipes in a Macro / Data Pipes / Warm Starts
Start Here   
Background   
Common Midas Concepts   
Getting Started - Part 1   
Getting Started - Part 2   
Working with Files   
Option Trees   
Macros - Part 1 (Basics)   
   + Macro Basics   
   + Loops and Control Structures   
   + Procedures and Subroutines   
   - Pipes in a Macro   
      - Pipe Sections   
         - Command Execution   
      - Data Pipes   
         - Data Flow   
         - Warm Starts   
         - Features   
      - Pipe-Related Commands   
      - Lab 1 - Macro Pipes   
         - Instructions   
         - Solution   
      - Lab 2 - Macro Pipes   
         - Instructions   
         - Solution   
   + Messages in a Macro   
Macros - Part 2 (Graphics)   
NetBeans - Part 1 (Setup)   
NetBeans - Part 2 (GUIs)   
NetBeans - Part 3 (Profiler)   
Eclipse - Part 1 (Setup)   
Eclipse - Part 2 (GUIs)   
Primitives   
Applets & WebStart   
Maps & Imagery   
X-Midas Interoperability   
RMIF & Remoting   
Installing NeXtMidas   
Support & Maintenance   
File Handlers   


  • Warm Starts and Reconnects:
    • In order to fully understand what "warm starts" and "reconnects" are, it is important to first explain what a "cold start" is...
    • What is a "cold start"?
      • A cold start is when a pipe is created with all pipe parameters set (start values, frame size, etc) and all connections to the pipe are made before the pipe section starts running.
      • When the pipe section starts running, the pipe starts with data "flowing" from the writer to the readers.
      • With a cold start the first element read from a pipe is the same as the first element written to the pipe, i.e. there is no data loss.
    • What is a "warm start"?
      • A warm start is when a primitive connects to a pipe that is already running.
      • When a new primitive connects to a pipe that is already running the first element it reads from the pipe will not be the first element written to the pipe. The new primitive will not have access to previous pipe data.
    • What is a "reconnect"?
      • In NeXtMidas, it is possible to alter the parameters that change the structure of a pipe that is already running (such as the frame size or FFT size). This will cause all readers of the pipe to "restart" and "reconnect" to a newly-updated pipe.
      • The details of how a primitive implements a restart are discussed in the "Primitives" module.
      • During a reconnect there is no data loss.
X-Midas Users Take Note:
X-Midas pipes only support cold starts (though there are tricks around this involving subshells). NeXtMidas supports cold starts, warm starts, and reconnects. In NeXtMidas no special action is required in order to make use of these features, their use is transparent to the macro writer.