1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
using System.Diagnostics;
namespace Ice
{
namespace udp
{
public sealed class TestIntfI : Test.TestIntfDisp_
{
public override void ping(Test.PingReplyPrx reply, Ice.Current current)
{
try
{
reply.reply();
}
catch(Ice.LocalException)
{
Debug.Assert(false);
}
}
public override void sendByteSeq(byte[] seq, Test.PingReplyPrx reply, Ice.Current current)
{
try
{
reply.reply();
}
catch(Ice.LocalException)
{
Debug.Assert(false);
}
}
public override void pingBiDir(Ice.Identity id, Ice.Current current)
{
try
{
//
// Ensure sending too much data doesn't cause the UDP connection
// to be closed.
//
try
{
byte[] seq = new byte[32 * 1024];
Test.TestIntfPrxHelper.uncheckedCast(current.con.createProxy(id)).sendByteSeq(seq, null);
}
catch(Ice.DatagramLimitException)
{
// Expected.
}
Test.PingReplyPrxHelper.uncheckedCast(current.con.createProxy(id)).reply();
}
catch(Ice.LocalException)
{
Debug.Assert(false);
}
}
public override void shutdown(Ice.Current current)
{
current.adapter.getCommunicator().shutdown();
}
}
}
}
|