void Gatekeeper::OnConnected(const bs::error_code& err) { if(closed_) return; if(!err) { System::LogBas() << "Connected by push to " << endpoint_ << std::endl; std::string greet = "GIV 0:"; const GUID guid = System::Guid(); Conv::Hex::Encode(guid.begin(), guid.end(), std::back_inserter(greet)); greet += "/\r\n"; buffer_.assign(greet.begin(), greet.end()); ba::async_write(*pSock_, ba::buffer(buffer_), boost::bind(&Gatekeeper::OnGreetingSent, shared_from_this(), _1)); } else if(err != ba::error::operation_aborted) { System::LogDev() << "Gatekeeper::OnConnected " << endpoint_ << " error => " << err.message() << std::endl; DetachMe(); } }
bool operator == (GUID const & lhs, GncGUID const & rhs) noexcept { auto ret = std::mismatch (lhs.begin (), lhs.end (), rhs.reserved); return ret.first == lhs.end (); }