示例#1
0
int createBag(vector<string> &bag, vector<int> &repetitions)
{
	int size=0;
	string str;
	while(getline(cin,str))
	{
		createWords(bag,repetitions,str,&size);
	}

	return size;
}
int main(void)
{
	try
	{
		StateLog stateLog;
		TrafficLog trafficLog;
		ServerRequestCallback serverRequestCallback;
		ThreadedServerConnection conn("213.163.71.95", 47203, serverRequestCallback, &stateLog, /* &trafficLog */ nullptr);

		printf("Sending version command\n");
		Words versionRequest = createWords("version");
		VersionResponseCallback versionCallback;
		conn.sendRequest(versionRequest, versionCallback);

		printf("Sending login command\n");
		Words loginRequest = createWords("login.plainText", "smurf");
		LoginResponseCallback loginCallback;
		conn.sendRequest(loginRequest, loginCallback);

		ServerResponseCallback serverResponseCallback;

		printf("Asking to enable events\n");
		Words enableEventsRequest = createWords("admin.eventsEnabled", "true");
		conn.sendRequest(enableEventsRequest, serverResponseCallback);

		Sleep(2000);

		printf("Sending end-round request\n");
		Words endRoundRequest = createWords("mapList.restartRound");
		conn.sendRequest(endRoundRequest, serverResponseCallback);

		while (true)
		{
			Sleep(1000);
		}
	}
	catch (const std::exception& e)
	{
		printf("Exception: %s\n", e.what());
	}
}
示例#3
0
int createBag(vector<string> &bag, vector<int> &repetitions, ifstream &file)
{
	int size=0;
	string str;
	if (file.is_open())
	{
		while (getline(file,str))
		{
			createWords(bag,repetitions,str,&size);
		}
	}
	else
	{
		cerr << "UNABLE TO OPEN FILE" << endl;
	}

	return size;
}
bool RTABMapDBAdapter::readData(const std::vector<std::string> &dbPaths,
                                Words &words, Labels &labels) {
  // Read data from databases
  std::map<int, std::map<int, std::unique_ptr<rtabmap::Signature>>>
      allSignatures;
  std::list<std::unique_ptr<Label>> allLabels;
  int dbId = 0;
  for (const auto &dbPath : dbPaths) {
    auto dbSignatures = readSignatures(dbPath);
    allSignatures.emplace(dbId, std::move(dbSignatures));

    auto dbLabels = readLabels(dbPath, dbId, allSignatures);
    std::move(dbLabels.begin(), dbLabels.end(), std::back_inserter(allLabels));

    dbId++;
  }

  std::cout << "Building Index for Words" << std::endl;
  std::list<std::unique_ptr<Word>> allWords = createWords(allSignatures);
  std::cout << "Total Number of words: " << allWords.size() << std::endl;
  long count = 0;
  for (const auto &word : allWords) {
    for (const auto &desc : word->getDescriptorsByDb()) {
      count += desc.second.rows;
    }
  }
  std::cout << "Total Number of descriptors: " << count << std::endl;
  allWords = clusterPointsInWords(allWords);
  count = 0;
  for (const auto &word : allWords) {
    for (const auto &desc : word->getDescriptorsByDb()) {
      count += desc.second.rows;
    }
  }
  std::cout << "Total Number of points: " << count << std::endl;
  words.putWords(std::move(allWords));

  std::cout << "Building Index for Labels" << std::endl;
  labels.putLabels(std::move(allLabels));

  return true;
}
示例#5
0
int testlistwords::execute()
{
	if (!MVTApp::startStore()) {mLogger.print("Failed to start store\n"); return RC_NOACCESS;}
	mSession = MVTApp::startSession();

	char *propName2;char lB[64]; sprintf(lB, "testlistwordsProp.");propName2=lB;
	mProp[0]=MVTUtil::getPropRand(mSession,propName2);
	
	createWords("abcd"); //single word scenario
	verifyListWords("a","abcd");
	verifyListWords("ab","abcd");
	verifyListWords("abc","abcd");
	verifyListWords("abcd","abcd");
	verifyListWords("abcde","abcd",true);

	createWords("abcd abeq bcfg"); //multiple words scenario
	verifyListWords("ab","abcd abeq");
	verifyListWords("ab bc","abcd abeq bcfg");
	
	createWords("qtvy dwqa iopl"); //multiple words scenario one of the items not found
	verifyListWords("dw hyretpo","dwqa");
	verifyListWords("hyretpo dw","dwqa");

	createWords("zio38"); //alpha numeric
	verifyListWords("zi","zio38");
	verifyListWords("zio3","zio38");
	verifyListWords("zio38","zio38");
	
	createWords("786blunders"); //numeric alpha
	verifyListWords("7","786");
	verifyListWords("786b","786blunders",true);
	verifyListWords("blu","blunders");

	createWords("impgo_kotre imhr-ghet grewqq#thge"); //special chars and delimiters
	verifyListWords("impg","impgo_kotre");
	verifyListWords("impg","impgo_kotre");
	verifyListWords("impgo_","impgo_kotre");
	verifyListWords("impgo_k","impgo_kotre");
	verifyListWords("imhr","imhr");
	verifyListWords("imhr-ghet","imhr ghet");
	verifyListWords("imhr-gh","imhr-ghet",true);

	mSession->terminate();
	MVTApp::stopStore();
	return RC_OK;
}
示例#6
0
int main(int argc, char ** argv)
{
	
	std::cout << "Battlefield 3 TuxNet (Rcon Service) Rev. " << REVISION << " :: Copyright 2009-2013 (c) Plain-Solution.de" << endl;

	try
	{
		// settings.ini lesen
		boost::property_tree::ptree pt;
		boost::property_tree::ini_parser::read_ini(string(argv[0]).append(".ini"), pt);

		std::cout << "BF3 Server: " << pt.get<string>("Server.Host") << ":" << pt.get<string>("Server.Port") << endl;
		////

		fstream pidfile(string(argv[0]).append(".pid"), ios::out);
		if(!pidfile)
			throw string("Could not write pidfile");
		pidfile << getpid() << endl;
		pidfile.close();

		RconConnection * rcon = new RconConnection( pt.get<string>("Server.Host"), pt.get<string>("Server.Port"), pt.get<string>("Server.Password") );

		rcon->Login();
		rcon->EnableEvents();

		string msg = "[BF3 TuxNet Rev. ";
		msg += REVISION;
		msg += "] by Plain-Solution.de";
		rcon->sendRequest(createWords("admin.say", msg.c_str(), "all"));
		
		EventHandler * eventHandler = new EventHandler(rcon, &pt);

		thread eventThread([eventHandler]() {
			eventHandler->DoWork();
		});


		while(true)
		{
			try
			{
				TextRconPacket response = rcon->getResponse();

				if(eventHandler->needResponse != 0 && response.isValid() && response.m_isResponse && eventHandler->needResponse == response.m_sequence)
				{
					eventHandler->response = new TextRconPacket(response);
					eventHandler->needResponse = 0;
				}
				if(response.isValid() && !response.m_isResponse && response.m_originatedOnServer)
					eventHandler->AddEvent(response);

				}
			catch(string e)
			{
				eventHandler->out(e, EventHandler::OUT_TYPE::ERR);
			}

		}
		eventHandler->Disable();
		eventThread.join();
	}
	catch(exception & e)
	{
		_out(e.what(), EventHandler::OUT_TYPE::ERR);
	}
	catch(string & e)
	{
		_out(e, EventHandler::OUT_TYPE::ERR);
	}

	remove(string(argv[0]).append(".pid").c_str());

	return 0;
}
	virtual void onServerRequest(ThreadedServerConnection::ClientResponse& response, const Words& words)
	{
		printf("<- %s\n", toString(words).c_str()); 
		printf("-> OK\n");
		response.sendResponse(createWords("OK"));
	}