|
@@ -47,6 +47,7 @@
|
|
#include "workunit.hpp"
|
|
#include "workunit.hpp"
|
|
#include "thorcommon.hpp"
|
|
#include "thorcommon.hpp"
|
|
#include "thmem.hpp"
|
|
#include "thmem.hpp"
|
|
|
|
+#include "thorport.hpp"
|
|
|
|
|
|
#include "thor.hpp"
|
|
#include "thor.hpp"
|
|
#include "eclhelper.hpp"
|
|
#include "eclhelper.hpp"
|
|
@@ -860,7 +861,7 @@ public:
|
|
|
|
|
|
inline bool queryUsePackedAllocators() const { return usePackedAllocator; }
|
|
inline bool queryUsePackedAllocators() const { return usePackedAllocator; }
|
|
unsigned queryMaxLfnBlockTimeMins() const { return maxLfnBlockTimeMins; }
|
|
unsigned queryMaxLfnBlockTimeMins() const { return maxLfnBlockTimeMins; }
|
|
- virtual void addChannel(IMPServer *mpServer) = 0;
|
|
|
|
|
|
+ virtual CJobChannel *addChannel(IMPServer *mpServer) = 0;
|
|
CJobChannel &queryJobChannel(unsigned c) const;
|
|
CJobChannel &queryJobChannel(unsigned c) const;
|
|
CActivityBase &queryChannelActivity(unsigned c, graph_id gid, activity_id id) const;
|
|
CActivityBase &queryChannelActivity(unsigned c, graph_id gid, activity_id id) const;
|
|
unsigned queryChannelsPerSlave() const { return channelsPerSlave; }
|
|
unsigned queryChannelsPerSlave() const { return channelsPerSlave; }
|
|
@@ -970,6 +971,9 @@ protected:
|
|
Owned<CThorCodeContextBase> sharedMemCodeCtx;
|
|
Owned<CThorCodeContextBase> sharedMemCodeCtx;
|
|
unsigned channel;
|
|
unsigned channel;
|
|
bool cleaned = false;
|
|
bool cleaned = false;
|
|
|
|
+ unsigned myBasePort = 0;
|
|
|
|
+ CriticalSection portAllocCrit;
|
|
|
|
+ Owned<IBitSet> portMap;
|
|
|
|
|
|
void removeAssociates(CGraphBase &graph)
|
|
void removeAssociates(CGraphBase &graph)
|
|
{
|
|
{
|
|
@@ -1025,9 +1029,13 @@ public:
|
|
ICommunicator &queryJobComm() const { return *jobComm; }
|
|
ICommunicator &queryJobComm() const { return *jobComm; }
|
|
IMPServer &queryMPServer() const { return *mpServer; }
|
|
IMPServer &queryMPServer() const { return *mpServer; }
|
|
const rank_t &queryMyRank() const { return myrank; }
|
|
const rank_t &queryMyRank() const { return myrank; }
|
|
|
|
+ unsigned queryMyBasePort() const { return myBasePort; }
|
|
mptag_t deserializeMPTag(MemoryBuffer &mb);
|
|
mptag_t deserializeMPTag(MemoryBuffer &mb);
|
|
IEngineRowAllocator *getRowAllocator(IOutputMetaData * meta, activity_id activityId, roxiemem::RoxieHeapFlags flags=roxiemem::RHFnone) const;
|
|
IEngineRowAllocator *getRowAllocator(IOutputMetaData * meta, activity_id activityId, roxiemem::RoxieHeapFlags flags=roxiemem::RHFnone) const;
|
|
roxiemem::IRowManager *queryRowManager() const;
|
|
roxiemem::IRowManager *queryRowManager() const;
|
|
|
|
+ unsigned short allocPort(unsigned num);
|
|
|
|
+ void freePort(unsigned short p, unsigned num);
|
|
|
|
+ void reservePortKind(ThorPortKind type);
|
|
|
|
|
|
virtual void abort(IException *e);
|
|
virtual void abort(IException *e);
|
|
virtual IBarrier *createBarrier(mptag_t tag) { UNIMPLEMENTED; return NULL; }
|
|
virtual IBarrier *createBarrier(mptag_t tag) { UNIMPLEMENTED; return NULL; }
|