ServerTransportAutoPtr UdpEndpoint::createServerTransport() const { std::auto_ptr<UdpServerTransport> udpServerTransportPtr( new UdpServerTransport(mIp, mMulticastIp)); if (mEnableSharedAddressBinding) { udpServerTransportPtr->enableSharedAddressBinding(); } return ServerTransportAutoPtr(udpServerTransportPtr.release()); }
TransportPair UdpTransportFactory::createTransports() { typedef boost::shared_ptr<UdpServerTransport> UdpServerTransportPtr; UdpServerTransportPtr udpServerTransportPtr( new UdpServerTransport( IpAddress(mLoopback, 0) )); udpServerTransportPtr->open(); int port = udpServerTransportPtr->getPort(); ClientTransportAutoPtrPtr clientTransportAutoPtrPtr( new ClientTransportAutoPtr( new UdpClientTransport( IpAddress(mLoopback, port) ))); return std::make_pair( ServerTransportPtr(udpServerTransportPtr), clientTransportAutoPtrPtr); }