Navigation: Scripting Reference Manual > Functions & Subroutines > IPCConnect

 

IPCConnect

 

Contact Us: fredsupport@photonengr.com

 

Description

This function launches a remote FRED instance on each of the active connections and returns the number of successfully launched remote FRED instances.  This command may take a non-trivial amount of time to complete since network communication is involved and it is recommended that an IPCWaitForIdle() command be issued following IPCConnect() in order to give the startup procedure on each remote node time to complete.

 

IPCConnect() automatically saves a configuration file named "autosavedconnections.csv" in the FRED Undo directory (preference setting) that can be used by the IPCReconnect() or IPCRecoverConnections() commands.

 

 

Syntax

count = IPCConnect(  connections() )

 

 

Parameters

count (Long)

Returned number of remote nodes that were successfully started.

 

connections() As T_IPCINSTANCE

An array of T_IPCINSTANCE structures, with each structure defining the connection information for a remote node.

 

 

Example

The example below demonstrates how to to load the connections() array with remote node connection information stored in a configuration file and then go through a series of connect, query and reconnect commands before finally terminating the remote FRED instances.

 

Sub Main

 

    EnableTextPrinting(True)

    ClearOutputWindow()

 

    'Use a CSV file to populate the connections array

    Dim nRemoteLoad As Long

    Dim connections() As T_IPCINSTANCE

    Dim configFile As String, configLocation As String

    configLocation = GetDocDir() & "\"

    configFile     = "DCTestBed_Connections.csv"

    nRemoteLoad    = IPCLoadConfigFile( connections(), configLocation & configFile )

 

    'Connect to the remotes

    Dim nConnect As Long

    nConnect = IPCConnect( connections() )

 

    'Query the status of the connections

    Dim nQuery As Long

    nQuery = IPCQueryStatus( connections(), "detail" )

 

    'Disconnect from the remote nodes and save a snapshot file of the connections array

    Dim nDisconnect As Long

    Dim snapShot As String

    snapShot    = configLocation & "DCTestBed_Reconnect.csv"

    nDisconnect = IPCDisconnect( connections(), snapShot )

 

    'Now reconnect

    Dim nReconnect As Long

    nReconnect = IPCReconnect( connections(), snapShot )

 

    'Query the status again

    nQuery = IPCQueryStatus( connections(), "detail" )

 

    'Terminate the connections

    Dim nTerminate As Long

    nTerminate = IPCTerminate( connections(), "sterilize", "1d" )

 

End Sub

 

The IPC commands generally report information to the output window that may be used as diagnostics.  For the example script shown above, the following output is reported:

[MASTER]IPCLoadConfigFile:  3 of 3 connections read from 'C:\temp\DCTestBed_Connections.csv'                                                            

                                                            

          index          active          speed          host                    status

          1          true          100          computer1          ---

          2          true          100          computer2          ---

          3          true          100          computer3          ---

                                                            

                                                            

[MASTER]IPCConnect:  3 of 3 Remote FRED instances connected and running                                                            

                                                            

          index          host                    result                    message

          1          computer1          connected          ---

          2          computer2          connected          ---

          3          computer3          connected          ---

                                                            

                                                            

[MASTER]IPCQueryStatus:  3 connections queried                                                            

                                                            

          index          host                              message                    

          1          computer1                    idle                    

          2          computer2                    idle                    

          3          computer3                    idle                    

                                                            

          index          host handle                    cmd handle          message

          1          NI_00000012                    HPOL                    check

                                                  PING                    

                                                   IDLE                    idle

          2          NI_00000013                    HPOL                    check

                                                   PING                    

                                                   IDLE                    idle

          3          NI_00000014                    HPOL                    check

                                                   PING                    

                                                   IDLE                    idle

                                                            

                                                            

[MASTER]IPCDisconnect:  3 of 3 Remote FRED instances disconnected but still running                                                            

                                                            

                                                            

[MASTER]IPCReconnect:  3 of 3 Remote FRED instances reconnected                                                            

                                                            

          index          host                    message                    

          1          computer1          reconnected - idle                    

          2          computer2          reconnected - idle                    

          3          computer31          reconnected - idle                    

                                                            

                                                            

[MASTER]IPCQueryStatus:  3 connections queried                                                            

                                                            

          index          host                    message                    

          1          computer1          idle                    

          2          computer2          idle                    

          3          computer3          idle                    

                                                            

          index          host handle                    cmd handle          message

          1          NI_00000015                    HPOL                    check

                                                   PING                    

                                                   IDLE                    idle

          2          NI_00000016                    HPOL                    check

                                                   PING                    

                                                   IDLE                    idle

          3          NI_00000017                    HPOL                    check

                                                   PING                    

                                                   IDLE                    idle

                                                            

                                                            

[MASTER]IPCTerminate:  3 of 3 Remote FRED instance terminations initiated                                                            

                                                            

          index          host                    message                    

          1          computer1          terminate - initiated                    

          2          computer2          terminate - initiated                    

          3          computer3          terminate - initiated                    

 

 

 

See Also

Distributed Computing Script Commands

T_IPCINSTANCE

 

 

 

 

 

Copyright © Photon Engineering, LLC