SessionPtr 
        InProcessTransport::createServerSession(
            ClientTransportAutoPtr & clientTransportAutoPtr,
            StubEntryPtr stubEntryPtr,
            bool keepClientConnection)
    {
        RCF_UNUSED_VARIABLE(keepClientConnection);

        InProcessTransport * pTransport = dynamic_cast<InProcessTransport *>(
            clientTransportAutoPtr.get());

        if (pTransport->mOppositeSessionPtr && stubEntryPtr)
        {
            pTransport->mOppositeSessionPtr->setDefaultStubEntryPtr(stubEntryPtr);
        }

        return pTransport->mSessionPtr;
    }
예제 #2
0
 Subscription::Subscription(
     SubscriptionService & subscriptionService,
     ClientTransportAutoPtr clientTransportAutoPtr,
     RcfSessionWeakPtr rcfSessionWeakPtr,
     boost::uint32_t incomingPingIntervalMs,
     const std::string & publisherUrl,
     const std::string & topic,
     OnSubscriptionDisconnect onDisconnect) :
         mSubscriptionService(subscriptionService),
         mRcfSessionWeakPtr(rcfSessionWeakPtr),
         mConnectionPtr(),
         mPingIntervalMs(incomingPingIntervalMs),
         mPingsEnabled(false),
         mPublisherUrl(publisherUrl),
         mTopic(topic),
         mOnDisconnect(onDisconnect),
         mClosed(false)
 {
     if ( clientTransportAutoPtr.get() )
     {
         mConnectionPtr.reset(new I_RcfClient("", clientTransportAutoPtr));
         mConnectionPtr->getClientStub().setAutoReconnect(false);
     }
 }