示例#1
0
void c_galaxysrv_peers::add_peer_simplestring(const string & simple) {
	_clue("Adding peer from simplestring=" << simple);
	t_peering_reference_parse parse = parse_peer_reference(simple); // partially parsed
	_dbg1("Done the parse itself");
	bool id_anyone=true;
	string id;
	const auto & cables = parse.second;

	auto reference = make_unique<t_peer_reference_newloop>();

	if (parse.first.size()==1) { // there was 1 ID parsed
		_dbg1("There is some ID in that reference.");
		id_anyone=false;
		id = parse.first.at(0);
		reference->hip = c_haship_addr( c_haship_addr::tag_constr_by_addr_dot() , id);
	} else {
		_dbg1("There is NO ID in that reference (anyone?)");
		id_anyone=true;
		_check(parse.first.size() == 0); // else there was no ID parsed
		reference->hip = c_haship_addr::make_empty(); // clear it to be sure
	}
	_note(join_string_sep( id_anyone?"anyone":"id" , id ) );
	_note("Cables: " << cables.size());
	for(const auto & cablestr : cables) {
		_note("Cable: " << cablestr); // cablestr like udp:192.168.1.107:9042
		unique_ptr<c_cable_base_addr> cable_addr = c_cable_base_addr::cable_make_addr( cablestr );
		reference->cable_addr.push_back( std::move(cable_addr) );
	}
	this->add_peer( std::move( reference ) ); // ***
}
示例#2
0
/// Show program version
void c_the_program::startup_version() {
	ostringstream oss; oss << "ver. "
		<< project_version_number_major << "."
		<< project_version_number_minor << "."
		<< project_version_number_sub << "."
		<< project_version_number_progress // << "."
		<< project_version_number_patch
		#ifdef TOOLS_ARE_BROKEN // this is passed by CMake
		<< " [broken-tools] "
		#endif
		;
	string ver_str = oss.str();
	_fact( "" ); // newline
	_fact( "Start... " << ver_str );
	#ifdef TOOLS_ARE_BROKEN
		_clue("[broken-tools] it seems this program was built with partially broken tools/libraries "
			"(details are shown when building, e.g. by cmake/ccmake)");
	#endif
}