SessionPtr AsioServerTransport::createServerSession(
    ClientTransportAutoPtr & clientTransportAutoPtr,
    StubEntryPtr stubEntryPtr,
    bool keepClientConnection)
{
    AsioSessionStatePtr sessionStatePtr(createSessionState());
    SessionPtr sessionPtr(sessionStatePtr->getSessionPtr());
    sessionPtr->setIsCallbackSession(true);

    sessionStatePtr->implTransferNativeFrom(*clientTransportAutoPtr);

    if (stubEntryPtr)
    {
        sessionPtr->setDefaultStubEntryPtr(stubEntryPtr);
    }

    clientTransportAutoPtr.reset();
    if (keepClientConnection)
    {
        clientTransportAutoPtr.reset( createClientTransport(sessionPtr).release() );
    }

    sessionStatePtr->mState = AsioSessionState::WritingData;
    sessionStatePtr->onAppReadWriteCompleted(0);
    return sessionPtr;
}
 void AsioServerTransport::onServerStart(RcfServer &)
 {
     mStopFlag = false;
     if (mAcceptorPtr)
     {
         createSessionState()->invokeAsyncAccept();
     }
 }
    void Win32NamedPipeServerTransport::implOpen()
    {
        mQueuedAccepts = 0;

        if (!mPipeName.empty())
        {
            createSessionState()->accept();
        }        
    }
Beispiel #4
0
    void Win32NamedPipeServerTransport::onServerStart(RcfServer & server)
    {
        IocpServerTransport::onServerStart(server);

        RCF_LOG_3() << "Win32NamedPipeServerTransport - listening on pipe " << mPipeName << ".";

        mQueuedAccepts = 0;

        if (!mPipeName.empty())
        {
            createSessionState()->accept();
        }        
    }
TEST(WebKit2, WKPageGetScaleFactorNotZero)
{
    WKRetainPtr<WKContextRef> context(AdoptWK, WKContextCreate());

    PlatformWebView webView(context.get());
    setPageLoaderClient(webView.page());

    WKRetainPtr<WKDataRef> data = createSessionState(context.get());
    EXPECT_NOT_NULL(data);

    WKPageRestoreFromSessionState(webView.page(), data.get());
    Util::run(&didFinishLoad);

    EXPECT_TRUE(WKPageGetScaleFactor(webView.page()) == 1.0);
}
void AsioServerTransport::startAcceptingThread(Exception & eRet)
{
    try
    {
        std::size_t initialNumberOfConnections = getInitialNumberOfConnections();
        for (std::size_t i=0; i<initialNumberOfConnections; ++i)
        {
            createSessionState()->beginAccept();
        }
    }
    catch(const Exception & e)
    {
        eRet = e;
    }
    catch(const std::exception & e)
    {
        eRet = Exception(e.what());
    }
    catch(...)
    {
        eRet = Exception("Unknown exception type caught in AsioServerTransport::startAcceptingThread().");
    }
}
    SessionPtr AsioServerTransport::createServerSession(
        ClientTransportAutoPtr clientTransportAutoPtr,
        StubEntryPtr stubEntryPtr)
    {
        RCF2_TRACE("");

        AsioSessionStatePtr sessionStatePtr(createSessionState());
        SessionPtr sessionPtr(sessionStatePtr->getSessionPtr());
        sessionStatePtr->implTransferNativeFrom(*clientTransportAutoPtr);

        if (stubEntryPtr)
        {
            RcfSessionPtr rcfSessionPtr = 
                boost::static_pointer_cast<RcfSession>( 
                sessionStatePtr->mSessionPtr );

            rcfSessionPtr->setDefaultStubEntryPtr(stubEntryPtr);
        }

        sessionStatePtr->mState = AsioSessionState::WritingData;
        sessionStatePtr->onReadWrite(0, boost::system::error_code());
        return sessionPtr;
    }