Exemplo n.º 1
0
void
oneways(const Ice::CommunicatorPtr& communicator, const Test::MyClassPrx& proxy)
{
    Test::MyClassPrx p = Test::MyClassPrx::uncheckedCast(proxy->ice_oneway());
    
    {
        p->ice_ping();
    }

    {
        try
        {
            p->ice_isA("dummy");
            test(false);
        }
        catch(const Ice::TwowayOnlyException&)
        {
        }
    }

    {
        try
        {
            p->ice_id();
            test(false);
        }
        catch(const Ice::TwowayOnlyException&)
        {
        }
    }

    {
        try
        {
            p->ice_ids();
            test(false);
        }
        catch(const Ice::TwowayOnlyException&)
        {
        }
    }    

    {
        p->opVoid();
    }

    {
        p->opIdempotent();
    }

    {
        p->opNonmutating();
    }

    {
        Ice::Byte b;

        try
        {
            p->opByte(Ice::Byte(0xff), Ice::Byte(0x0f), b);
            test(false);
        }
        catch(const Ice::TwowayOnlyException&)
        {
        }
    }

}
Exemplo n.º 2
0
void
batchOneways(const Test::MyClassPrx& p)
{
    const Test::ByteS bs1(10  * 1024);
    const Test::ByteS bs2(99  * 1024);
    const Test::ByteS bs3(100  * 1024);
    try
    {
        p->opByteSOneway(bs1);
    }
    catch(const Ice::MemoryLimitException&)
    {
        test(false);
    }

    try
    {
        p->opByteSOneway(bs2);
    }
    catch(const Ice::MemoryLimitException&)
    {
        test(false);
    }
    
    try
    {
        p->opByteSOneway(bs3);
        test(false);
    }
    catch(const Ice::MemoryLimitException&)
    {
    }
    
    Test::MyClassPrx batch = Test::MyClassPrx::uncheckedCast(p->ice_batchOneway());
    
    int i;

    for(i = 0 ; i < 30 ; ++i)
    {
        try
        {
            batch->opByteSOneway(bs1);
        }
        catch(const Ice::MemoryLimitException&)
        {
            test(false);
        }
    }
    
    batch->ice_getConnection()->flushBatchRequests();

    Test::MyClassPrx batch2 = Test::MyClassPrx::uncheckedCast(p->ice_batchOneway());

    batch->ice_ping();
    batch2->ice_ping();
    batch->ice_flushBatchRequests();
    batch->ice_getConnection()->close(false);
    batch->ice_ping();
    batch2->ice_ping();

    batch->ice_getConnection();
    batch2->ice_getConnection();

    batch->ice_ping();
    batch->ice_getConnection()->close(false);
    try
    {
        batch->ice_ping();
        test(false);
    }
    catch(const Ice::CloseConnectionException&)
    {
    }
    try
    {
        batch2->ice_ping();
        test(false);
    }
    catch(const Ice::CloseConnectionException&)
    {
    }
    batch->ice_ping();
    batch2->ice_ping();
}