TransportPair Win32NamedPipeTransportFactory::createNonListeningTransports()
    {
        return std::make_pair(
            ServerTransportPtr( new Win32NamedPipeServerTransport( RCF_T("")) ),
            ClientTransportAutoPtrPtr());

    }
    TransportPair UnixLocalTransportFactory::createTransports()
    {
        std::string pipeName = generateNewPipeName();

        RCF_LOG_2()(pipeName) << "Creating unix local socket transport pair";

        return std::make_pair(
            ServerTransportPtr( new UnixLocalServerTransport(pipeName) ),
            ClientTransportAutoPtrPtr(
                new ClientTransportAutoPtr(
                    new UnixLocalClientTransport(pipeName))));
    }
    TransportPair HttpsTransportFactory::createTransports()
    {
        typedef boost::shared_ptr<HttpServerTransport> HttpServerTransportPtr;
        HttpServerTransportPtr serverTransportPtr(
            new HttpServerTransport(HttpEndpoint(mLoopback, 0)));

        serverTransportPtr->open();
        int port = serverTransportPtr->getPort();

        ClientTransportAutoPtrPtr clientTransportAutoPtrPtr(new ClientTransportAutoPtr(
            new HttpClientTransport(HttpEndpoint(mLoopback, port))));

        return std::make_pair(
            ServerTransportPtr(serverTransportPtr),
            clientTransportAutoPtrPtr);
    }
    TransportPair Win32NamedPipeTransportFactory::createTransports()
    {
        typedef boost::shared_ptr<Win32NamedPipeServerTransport> Win32NamedPipeServerTransportPtr;
        Win32NamedPipeServerTransportPtr serverTransportPtr(
            new Win32NamedPipeServerTransport(RCF_T("")));

        tstring pipeName = serverTransportPtr->getPipeName();

        ClientTransportAutoPtrPtr clientTransportAutoPtrPtr(
            new ClientTransportAutoPtr(
                new Win32NamedPipeClientTransport(pipeName)));

        return std::make_pair(
            ServerTransportPtr(serverTransportPtr), 
            clientTransportAutoPtrPtr);

    }
    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);
    }
    TransportPair TcpAsioTransportFactory::createTransports()
    {
        typedef boost::shared_ptr<TcpAsioServerTransport> TcpAsioServerTransportPtr;
        TcpAsioServerTransportPtr tcpServerTransportPtr(
            new TcpAsioServerTransport( IpAddress(mLoopback, 0)));

        tcpServerTransportPtr->open();
        int port = tcpServerTransportPtr->getPort();

        ClientTransportAutoPtrPtr clientTransportAutoPtrPtr(
            new ClientTransportAutoPtr(
                new TcpClientTransport( IpAddress(mLoopback, port))));

        return std::make_pair(
            ServerTransportPtr(tcpServerTransportPtr), 
            clientTransportAutoPtrPtr);
    }
 ServerTransportPtr UdpServerTransport::clone()
 {
     return ServerTransportPtr( new UdpServerTransport(
         mIpAddress, 
         mMulticastIpAddress) );
 }
 TransportPair UdpTransportFactory::createNonListeningTransports()
 {
     return std::make_pair(
         ServerTransportPtr( new UdpServerTransport( IpAddress(mLoopback, 0) ) ),
         ClientTransportAutoPtrPtr());
 }
 TransportPair UnixLocalTransportFactory::createNonListeningTransports()
 {
     return std::make_pair(
         ServerTransportPtr( new UnixLocalServerTransport("") ),
         ClientTransportAutoPtrPtr());
 }
 TransportPair createNonListeningTransports()
 {
     return std::make_pair(
         ServerTransportPtr( new TcpAsioServerTransport( IpAddress(mLoopback, 0)) ),
         ClientTransportAutoPtrPtr());
 }
Example #11
0
 ServerTransportPtr Win32NamedPipeServerTransport::clone()
 {
     return ServerTransportPtr( new Win32NamedPipeServerTransport(mPipeName) );
 }
 // I_ServerTransport
 ServerTransportPtr InProcessTransport::clone()
 {
     RCF_ASSERT(0);
     return ServerTransportPtr();
 }
 TransportPair HttpsTransportFactory::createNonListeningTransports()
 {
     return std::make_pair(
         ServerTransportPtr(new HttpServerTransport(HttpEndpoint(mLoopback, 0))),
         ClientTransportAutoPtrPtr());
 }
 ServerTransportPtr UdpServerTransport::clone()
 {
     return ServerTransportPtr( new UdpServerTransport(mPort) );
 }