ClientTransportAutoPtr Win32NamedPipeNetworkSession::implCreateClientTransport()
    {
        std::auto_ptr<Win32NamedPipeClientTransport> pipeClientTransportPtr(
            new Win32NamedPipeClientTransport(mSocketPtr, mRemotePipeName));

        return ClientTransportAutoPtr(pipeClientTransportPtr.release());
    }
    void PublisherBase::init()
    {
        mRcfClientPtr->getClientStub().setTransport(
            ClientTransportAutoPtr(new MulticastClientTransport));

        mRcfClientPtr->getClientStub().setRemoteCallSemantics(Oneway);
        mRcfClientPtr->getClientStub().setTargetName("");
        mRcfClientPtr->getClientStub().setTargetToken( Token());
    }
Ejemplo n.º 3
0
    ClientTransportAutoPtr Win32NamedPipeSessionState::implCreateClientTransport()
    {
        HANDLE hPipe = INVALID_HANDLE_VALUE;
        {
            Lock lock(mMutex);
            if (mOwnFd && !mHasBeenClosed)
            {
                mOwnFd = false;
                mEnableReconnect = false;
                hPipe = mhPipe;
            }
        }

        std::auto_ptr<Win32NamedPipeClientTransport> w32PipeClientTransport(
            new Win32NamedPipeClientTransport(hPipe));

        w32PipeClientTransport->setNotifyCloseFunctor( boost::bind(
            &IocpSessionState::notifyClose, 
            IocpSessionStateWeakPtr(sharedFromThis())));

        w32PipeClientTransport->setPipeName(mRemotePipeName);

        return ClientTransportAutoPtr(w32PipeClientTransport.release());
    }
 ClientTransportAutoPtr MulticastClientTransport::clone() const
 {
     RCF_ASSERT(0);
     return ClientTransportAutoPtr();
 }
 ClientTransportAutoPtr Win32NamedPipeEndpoint::createClientTransport() const
 {            
     return ClientTransportAutoPtr(
         new Win32NamedPipeClientTransport(mPipeName));
 }
Ejemplo n.º 6
0
 ClientTransportAutoPtr UnixLocalEndpoint::createClientTransport() const
 {            
     return ClientTransportAutoPtr(new UnixLocalClientTransport(mPipeName));
 }
Ejemplo n.º 7
0
 ClientTransportAutoPtr HttpEndpoint::createClientTransport() const
 {
     return ClientTransportAutoPtr( new HttpClientTransport(*this) );
 }