}
public void testStreamDataWaitCompletionOnSlowComingBuffer() throws Exception
{
final LargeMessageControllerImpl outBuffer = new LargeMessageControllerImpl(new FakeConsumerInternal(), 5, 1000);
class FakeOutputStream extends OutputStream
{
@Override
public void write(int b) throws IOException
{
}
}
outBuffer.setOutputStream(new FakeOutputStream());
Thread sender = new Thread()
{
public void run()
{
try
{
Thread.sleep(200);
outBuffer.addPacket(new FakePacket(-1, new byte[] { 0 }, true, false));
Thread.sleep(1000);
outBuffer.addPacket(new FakePacket(-1, new byte[] { 0 }, true, false));
Thread.sleep(1000);
outBuffer.addPacket(new FakePacket(-1, new byte[] { 0 }, false, false));
}
catch (Exception e)
{
}
}
};
sender.start();
outBuffer.waitCompletion(0);
sender.join();
}