static void UpdateEndpoint( IpEndpointName& dest, const IpEndpointName& src, const char *userName, const char *whichEndpoint ) { if( dest != src ){ char endpointString[ IpEndpointName::ADDRESS_AND_PORT_STRING_LENGTH ]; src.AddressAndPortAsString( endpointString ); Log() << "updating " << whichEndpoint << " endpoint for user '" << userName << "' to " << endpointString << "." << std::endl; dest = src; } }
void Bind( const IpEndpointName& localEndpoint ) { struct sockaddr_in bindSockAddr; SockaddrFromIpEndpointName( bindSockAddr, localEndpoint ); { IpEndpointName temp = IpEndpointNameFromSockaddr(bindSockAddr); char address[30]; temp.AddressAndPortAsString(address); } if (bind(socket_, (struct sockaddr *)&bindSockAddr, sizeof(bindSockAddr)) < 0) { throw std::runtime_error("unable to bind udp socket\n"); } isBound_ = true; }