Exemplo n.º 1
0
bool OSegScenario::generateOnePing(const Time& t, PingInfo* result) {
    generatePairs();
    double which =(rand()/(double)RAND_MAX);
    if (!mSendCDF.empty()) {
        FlowCDF::iterator where;
        {
            MessageFlow comparator;
            comparator.cumulativeProbability=which;
            if (rand()<mFractionMessagesUniform*RAND_MAX)
                where=mSendCDF.begin()+which*(mSendCDF.size()-1);
            else
                where=std::lower_bound(mSendCDF.begin(),mSendCDF.end(),comparator);
        }
        if (where==mSendCDF.end()) {
            --where;
        }
        result->objB = where->source;
        result->objA = where->dest;
        result->dist = where->dist;
        result->ping = new Sirikata::Protocol::Object::Ping();
        mContext->objectHost->fillPing(result->dist, mPingPayloadSize, result->ping);
        return true;
    }

    return false;
}
Exemplo n.º 2
0
    void ZendParser::extractTypes(const string &line,
                                  vector<pair<string, string>> &out, vector<string> &tmp) {
        vector<string> tmpOut;
        const string lineStripped = stripCmments(line);

//	cout << "--NEW--" << "\n";
        regexer->findAll(tmp, lineStripped, RGX_NEW, -1);
//	for(string v:tmp) {
//		cout << v << "\n";
//	}
        tmpOut.insert(tmpOut.begin(), tmp.begin(), tmp.end());


        regexer->findAll(tmp, lineStripped, RGX_INSTANCEOF, -1);
        tmpOut.insert(tmpOut.begin(), tmp.begin(), tmp.end());

        regexer->findAll(tmp, lineStripped, RGX_STATIC_CALL, -1);
        tmpOut.insert(tmpOut.begin(), tmp.begin(), tmp.end());

        regexer->findAll(tmp, lineStripped, RGX_SIGNATURE, -1);
        tmpOut.insert(tmpOut.begin(), tmp.begin(), tmp.end());


        generatePairs(out, tmpOut);


//	for(pair<string, string> v:out) {
//		cout << v.second << "\n";
//	}
//	for(string v:tmpOut) {
//		cout << v << "\n";
//	}
    }