Salome HOME
[EDF30399] : Steer directory hosting replay files
[modules/kernel.git] / idl / SALOME_ContainerManager.idl
index f132542dafc682ef16742170f862980547e8774a..49ff215019e279b291b1ed5ce5ddd5807da4e535 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2024  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -40,9 +40,15 @@ struct ContainerParameters
   string container_name;
 
   //! creation mode for GiveContainer if given else automatic 
-  /*!start creates a new container
-   * get  try to find an existing container
-   * getorstart   use an existing container if it exists or creates a new one
+  /*! List of possible values:
+   * "find" : search the first container whose name is container_name on
+   *          resources listed in resource_params.resList.
+   *          Return nil if none found.
+   * "findorstart" : same as "find", but start a new container if none found.
+   * "start" : create a new container. If there is already a container with the
+   *           same name on the chosen resource, it will be shut down.
+   * "get" : search an existing container on the best fitting resource.
+   * "getorstart" : same as "get", but start a new container if none found.
    */
   string mode;
 
@@ -54,13 +60,21 @@ struct ContainerParameters
   long nb_proc;
   //! if true start a MPI container
   boolean isMPI;
-  //! PaCO specific informations
+  //! PaCO specific information
   string parallelLib;
 
   //! Parameters to choose a resource
   ResourceParameters resource_params;
 };
 
+struct KeyValPairString
+{
+  string key;
+  string val;
+};
+
+typedef sequence<KeyValPairString> KeyValDict;
+
 /*! \brief Interface of the %containerManager
     This interface is used for interaction with the unique instance
     of ContainerManager
@@ -72,8 +86,41 @@ interface ContainerManager
   //! Currently: get, start, getorstart, findorstart, find
   Container GiveContainer(in ContainerParameters params) raises (SALOME::SALOME_Exception);
 
-  //!  Shutdown all containers that have been launched by the container manager
+  //!  Shutdown all containers that have been launched by the container manager. This termination is soft. It means that orb.shutdown is invoked meaning that completion of all CORBA
   void ShutdownContainers();
+  
+  //!  Stronger version than ShutdownContainers. This method does not wait for completion of last CORBA invokation on containers. It terminates them
+  void ShutdownContainersNow();
+
+  long GetTimeOutToLaunchServerInSecond();
+
+  void SetTimeOutToLaunchServerInSecond(in long timeInSecond);
+
+  long GetDeltaTimeBetweenNSLookupAtLaunchTimeInMilliSecond();
+
+  void SetDeltaTimeBetweenNSLookupAtLaunchTimeInMilliSecond(in long timeInMS);
+  
+  long GetDeltaTimeBetweenCPUMemMeasureInMilliSecond();
+
+  void SetDeltaTimeBetweenCPUMemMeasureInMilliSecond(in long timeInMS);
+
+  void SetOverrideEnvForContainers(in KeyValDict env);
+
+  KeyValDict GetOverrideEnvForContainers();
+
+  void SetBigObjOnDiskThreshold(in long thresholdInByte);
+
+  void SetBigObjOnDiskDirectory(in string directory);
+
+  void SetDirectoryForReplayFiles(in string directory);
+
+  void SetNumberOfRetry(in long nbRetry);
+
+  long GetNumberOfRetry();
+
+  void SetCodeOnContainerStartUp(in string code);
+
+  string GetCodeOnContainerStartUp();
 } ;
 
 };