GroupAggregateSlaveActivity(CGraphElementBase *_container) 
     : CSlaveActivity(_container)
 { 
     helper = static_cast <IHThorAggregateArg *> (queryHelper());
     setRequireInitData(false);
     appendOutputLinked(this);
 }
示例#2
0
    void init(MemoryBuffer &data, MemoryBuffer &slaveData)
    {
        appendOutputLinked(this);

        if (!container.queryLocal())
            mpTag = container.queryJob().deserializeMPTag(data);
    }
 AggregateSlaveBase(CGraphElementBase *_container) : CSlaveActivity(_container)
 {
     hadElement = inputStopped = false;
     appendOutputLinked(this);
     if (container.queryLocal())
         setRequireInitData(false);
 }
 IterateSlaveActivityBase(CGraphElementBase *_container, bool _global) : CSlaveActivity(_container)
 {
     global = _global;
     if (!global)
         setRequireInitData(false);
     appendOutputLinked(this);   // adding 'me' to outputs array
 }
 BaseChooseSetsActivity(CGraphElementBase *_container) : CSlaveActivity(_container)
 {
     helper = static_cast <IHThorChooseSetsArg *> (queryHelper());
     done = false;
     tallies = NULL;
     appendOutputLinked(this);
 }
示例#6
0
 void init(MemoryBuffer &data, MemoryBuffer &slaveData)
 {
     appendOutputLinked(this);   // adding 'me' to outputs array
     helper = static_cast <IHThorSortArg *> (queryHelper());
     IHThorAlgorithm * algo = helper?(static_cast<IHThorAlgorithm *>(helper->selectInterface(TAIalgorithm_1))):NULL;
     unstable = (algo&&algo->getAlgorithmFlags()&TAFunstable);
 }
示例#7
0
 virtual void init(MemoryBuffer &data, MemoryBuffer &slaveData)
 {
     helper = static_cast <IHThorCatchArg *> (queryHelper());
     kindStr.append(activityKindStr(container.getKind()));
     kindStr.toUpperCase();
     eos = false;
     appendOutputLinked(this);
 }
 void init(MemoryBuffer &data, MemoryBuffer &slaveData)
 {
     helper = (IHThorSortArg *)queryHelper();
     iCompare = helper->queryCompare();
     IHThorAlgorithm * algo = helper?(static_cast<IHThorAlgorithm *>(helper->selectInterface(TAIalgorithm_1))):NULL;
     unstable = (algo&&algo->getAlgorithmFlags()&TAFunstable);
     appendOutputLinked(this);
 }
示例#9
0
    void init(MemoryBuffer &data, MemoryBuffer &slaveData)
    {
        appendOutputLinked(this);
        helper = (IHThorLimitArg *)queryHelper();

        if (!container.queryLocal())
            mpTag = container.queryJob().deserializeMPTag(data);
    }
示例#10
0
 CLimitSlaveActivityBase(CGraphElementBase *_container) : CSlaveActivity(_container)
 {
     helper = (IHThorLimitArg *)queryHelper();
     resultSent = true; // unless started suppress result send
     eos = stopped = anyThisGroup = eogNext = false;
     rowLimit = RCMAX;
     appendOutputLinked(this);
 }
 CInlineTableSlaveActivity(CGraphElementBase *_container)
 : CSlaveActivity(_container)
 {
     helper = static_cast <IHThorInlineTableArg *> (queryHelper());
     startRow = 0;
     currentRow = 0;
     maxRow = 0;
     setRequireInitData(false);
     appendOutputLinked(this);
 }
 ChooseSetsPlusActivity(CGraphElementBase *_container) : CSlaveActivity(_container)
 {
     helper = static_cast <IHThorChooseSetsExArg *> (queryHelper());
     counts = NULL;
     priorCounts = NULL;
     totalCounts = NULL;
     limits = NULL;
     inputCounter.setown(new CInputCounter(*this));
     if (container.queryLocalOrGrouped())
         setRequireInitData(false);
     appendOutputLinked(this);
 }
示例#13
0
 void init(MemoryBuffer &data, MemoryBuffer &slaveData)
 {
     mpTagRPC = container.queryJob().deserializeMPTag(data);
     mptag_t barrierTag = container.queryJob().deserializeMPTag(data);
     barrier.setown(container.queryJob().createBarrier(barrierTag));
     portbase = allocPort(NUMSLAVEPORTS);
     ActPrintLog("MSortSlaveActivity::init portbase = %d, mpTagRPC = %d",portbase,(int)mpTagRPC);
     server.setLocalHost(portbase); 
     helper = (IHThorSortArg *)queryHelper();
     sorter.setown(CreateThorSorter(this, server,&container.queryJob().queryIDiskUsage(),&container.queryJob().queryJobComm(),mpTagRPC));
     appendOutputLinked(this);
     server.serialize(slaveData);
 }
示例#14
0
    void init(MemoryBuffer &data, MemoryBuffer &slaveData)
    {
        AggregateSlaveBase::init(data, slaveData);

        appendOutputLinked(this);
        helper = (IHThorAggregateArg *)queryHelper();

        if (firstNode())
        {
            mpTag = createReplyTag();
            slaveData.append((int &)mpTag);
        }
    }
示例#15
0
 SelfJoinSlaveActivity(CGraphElementBase *_container, bool _isLocal, bool _isLightweight)
     : CSlaveActivity(_container), spillStats(spillStatistics)
 {
     helper = static_cast <IHThorJoinArg *> (queryHelper());
     isLocal = _isLocal||_isLightweight;
     isLightweight = _isLightweight;
     portbase = 0;
     compare = NULL;
     keyserializer = NULL;
     inputStopped = false;
     mpTagRPC = TAG_NULL;
     appendOutputLinked(this);
 }
示例#16
0
 GroupSlaveActivity(CGraphElementBase *_container)
     : CSlaveActivity(_container)
 {
     helper = static_cast <IHThorGroupArg *> (queryHelper());
     rolloverEnabled = false;
     useRollover = false;
     numGroups = 0;
     numGroupMax = 0;
     startLastGroup = 0;
     if (container.queryLocalOrGrouped())
         setRequireInitData(false);
     appendOutputLinked(this);
 }
示例#17
0
// IThorSlaveActivity
    virtual void init(MemoryBuffer & data, MemoryBuffer &slaveData)
    {       
        appendOutputLinked(this);
        if(!isLocal) {
            mpTagRPC = container.queryJob().deserializeMPTag(data);
            mptag_t barrierTag = container.queryJob().deserializeMPTag(data);
            barrier.setown(container.queryJob().createBarrier(barrierTag));
            portbase = allocPort(NUMSLAVEPORTS);
            SocketEndpoint server;
            server.setLocalHost(portbase);
            sorter.setown(CreateThorSorter(this, server,&container.queryJob().queryIDiskUsage(),&container.queryJob().queryJobComm(),mpTagRPC));
            server.serialize(slaveData);
        }
        helper = static_cast <IHThorJoinArg *> (queryHelper());
        compare = helper->queryCompareLeft();                   // NB not CompareLeftRight
        keyserializer = helper->querySerializeLeft();           // hopefully never need right
        if(isLightweight) 
            ActPrintLog("SELFJOIN: LIGHTWEIGHT");
        else if(isLocal) 
            ActPrintLog("SELFJOIN: LOCAL");
        else
            ActPrintLog("SELFJOIN: GLOBAL");
    }
示例#18
0
 CLoopSlaveActivityBase(CGraphElementBase *container) : CSlaveActivity(container)
 {
     mpTag = TAG_NULL;
     maxEmptyLoopIterations = getOptUInt(THOROPT_LOOP_MAX_EMPTY, 1000);
     appendOutputLinked(this);
 }
// IThorSlaveActivity overloaded methods
    virtual void init(MemoryBuffer &data, MemoryBuffer &slaveData)
    {
        appendOutputLinked(this);
    }
示例#20
0
 void init(MemoryBuffer &data, MemoryBuffer &slaveData)
 {
     appendOutputLinked(this);
     isLocal = false;
     helper = static_cast <IHThorTempTableArg *> (queryHelper());
 }
 void init(MemoryBuffer &data, MemoryBuffer &slaveData)
 {
     appendOutputLinked(this);
     helper = static_cast <IHThorAggregateArg *> (queryHelper());
 }
示例#22
0
 void init(MemoryBuffer &data, MemoryBuffer &slaveData)
 {
     appendOutputLinked(this);
     helper = (IHThorWorkunitReadArg *)queryHelper();
     grouped = helper->queryOutputMeta()->isGrouped();
 } 
 void init(MemoryBuffer &data, MemoryBuffer &slaveData)
 {
     appendOutputLinked(this);   // adding 'me' to outputs array
     helper = static_cast <IHThorGroupIterateArg *> (queryHelper());
 }
示例#24
0
 explicit CProjectSlaveActivity(CGraphElementBase *_container) : CThorStrandedActivity(_container)
 {
     helper = static_cast <IHThorProjectArg *> (queryHelper());
     setRequireInitData(false);
     appendOutputLinked(this);
 }
示例#25
0
 CWhenSlaveActivity(CGraphElementBase *_container) : CDependencyExecutorSlaveActivity(_container)
 {
     appendOutputLinked(this);
 }
示例#26
0
 MSortSlaveActivity(CGraphElementBase *_container) : CSlaveActivity(_container), spillStats(spillStatistics)
 {
     portbase = 0;
     totalrows = RCUNSET;
     appendOutputLinked(this);
 }
示例#27
0
 CThroughSlaveActivity(CGraphElementBase *_container) : CSlaveActivity(_container), CThorDataLink(this)
 {
     appendOutputLinked(this);
 }
示例#28
0
 virtual void init(MemoryBuffer &data, MemoryBuffer &slaveData)
 {
     helper = static_cast <IHThorCatchArg *> (queryHelper());
     eos = false;
     appendOutputLinked(this);
 }
 virtual void init(MemoryBuffer & data, MemoryBuffer &slaveData)
 {
     mpTag = container.queryJob().deserializeMPTag(data);
     appendOutputLinked(this);
     helper = static_cast <IHThorChooseSetsArg *> (queryHelper());
 }
示例#30
0
 CFirstNSlaveBase(CGraphElementBase *_container) : CSlaveActivity(_container)
 {
     stopped = true;
     helper = (IHThorFirstNArg *)container.queryHelper();
     appendOutputLinked(this);
 }