コード例 #1
0
ファイル: SimkaMinInfos.hpp プロジェクト: GATB/simka
	void printInfos(){

		//vector<string> datasetIds;
		//SimkaMinCommons::readIds(_inputFilename, datasetIds);

		u_int32_t seed;
		u_int8_t kmerSize;
		SimkaMinCommons::getKmerInfos(_inputFilename, kmerSize, _sketchSize, seed, _nbDatasets);

		cout << "Sketch info: " << _inputFilename << endl;

		cout << endl;
		cout << "k-mer size  : " << (u_int32_t) kmerSize << endl;
		cout << "Sketch size : " << _sketchSize << endl;
		cout << "Seed        : " << seed << endl;

		cout << endl;
		cout << "Nb Datasets: " << _nbDatasets << endl;
		printIds();

		cout << endl;
	}
コード例 #2
0
ファイル: Peer.cpp プロジェクト: CanisLupus/igcl
	result_type Peer::registerWithCoordinator()
	{
		result_type res;

		coordinatorFd = connectToPeer(coordinatorAddr, true);

		res = send_type_(coordinatorFd, REGISTER);
		QUIT_IF_UNSUCCESSFUL(res);

		res = recv_(coordinatorFd, 0, ownId);			// receive registration ID
		QUIT_IF_UNSUCCESSFUL(res);
		std::cout << "ID: " << this->ownId << std::endl;

		setNewPeerStructures(coordinatorFd, 0, DESCRIPTOR_SOCK);	// the coordinator has always ID = 0

		res = recv_(coordinatorFd, 0, nPeers);
		QUIT_IF_UNSUCCESSFUL(res);

		this->usingFreeformLayout = (nPeers == 0);

		if (!this->usingFreeformLayout)
		{
			// receive all peers that are upstream or downstream of this
			peer_id * prev = NULL, * next = NULL;
			uint prevSize = 0, nextSize = 0;

			res = recv_new_(coordinatorFd, 0, prev, prevSize);
			QUIT_IF_UNSUCCESSFUL(res);

			res = recv_new_(coordinatorFd, 0, next, nextSize);
			QUIT_IF_UNSUCCESSFUL(res);

			printIds(prev, prevSize, "previous");
			printIds(next, nextSize, "next");

			this->prevPeers.assign(prev+0, prev+prevSize);
			this->nextPeers.assign(next+0, next+nextSize);

			free(prev);
			free(next);
		}

		// receive which next/prev IDs are already registered
		peer_id * connectable_array;
		uint connectableSize = 0;

		res = recv_new_(coordinatorFd, 0, connectable_array, connectableSize);
		QUIT_IF_UNSUCCESSFUL(res);
		connectable.insert(connectable_array+0, connectable_array+connectableSize);

		if (this->usingFreeformLayout) {
			this->nextPeers.assign(connectable.begin(), connectable.end());		// when there's no layout, all connectable peers are considered to be "next"
		}

		free(connectable_array);

		TEST() {
			std::cout << "connectable peers:" << std::endl;
			for (peer_id id : connectable)
				std::cout << "id: " << id << std::endl;
			std::cout << "---------------------" << std::endl;
		}

		return res;
	}