浏览代码

Merge pull request #8354 from AttilaVamos/HPCC-14857-fix-6.0.0

HPCC-14857 CLocalEnvironment doesn't handle multiple local drop zones.

Reviewed-By: Jake Smith <jake.smith@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 9 年之前
父节点
当前提交
a57e90d57a
共有 2 个文件被更改,包括 673 次插入245 次删除
  1. 656 245
      common/environment/environment.cpp
  2. 17 0
      common/environment/environment.hpp

文件差异内容过多而无法显示
+ 656 - 245
common/environment/environment.cpp


+ 17 - 0
common/environment/environment.hpp

@@ -93,6 +93,11 @@ interface IConstMachineInfo : extends IConstEnvBase
     virtual EnvMachineState getState() const = 0;
 };
 
+interface  IConstMachineInfoIterator : extends IIteratorOf<IConstMachineInfo>
+{
+    virtual unsigned count() const = 0;
+};
+
 
 interface IConstInstanceInfo : extends IConstEnvBase
 {
@@ -111,6 +116,11 @@ interface IConstDropZoneInfo : extends IConstEnvBase
     virtual IStringVal & getUMask(IStringVal & str) const = 0;
 };
 
+interface  IConstDropZoneInfoIterator : extends IIteratorOf<IConstDropZoneInfo>
+{
+    virtual unsigned count() const = 0;
+};
+
 interface IConstEnvironment : extends IConstEnvBase
 {
     virtual IConstDomainInfo * getDomain(const char * name) const = 0;
@@ -125,6 +135,13 @@ interface IConstEnvironment : extends IConstEnvBase
     virtual IEnvironment & lock() const = 0;
     virtual bool isConstEnvironment() const = 0;
     virtual void clearCache() = 0;
+
+    virtual IConstMachineInfoIterator * getMachineIterator() const = 0;
+    virtual IConstDropZoneInfo * getDropZoneByComputer(const char * computer, const char * dzname) const = 0;
+    virtual IConstDropZoneInfoIterator * getDropZoneIteratorByComputer(const char * computer) const = 0;
+    // returns a drop zone that is defined on IP with the shortest path that's a parent of targetPath
+    virtual IConstDropZoneInfo * getDropZoneByAddressPath(const char * netaddress, const char *targetPath) const = 0;
+    virtual IConstDropZoneInfoIterator * getDropZoneIterator() const = 0;
 };