Пример #1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldThrowErrorWithRemoteAddressWhenClosed() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldThrowErrorWithRemoteAddressWhenClosed()
        {
            Channel          channel   = mock(typeof(Channel));
            ByteBufAllocator allocator = mock(typeof(ByteBufAllocator));

            when(allocator.buffer(anyInt())).thenReturn(Unpooled.buffer());
            when(channel.alloc()).thenReturn(allocator);
            SocketAddress remoteAddress       = mock(typeof(SocketAddress));
            string        remoteAddressString = "client.server.com:7687";

            when(remoteAddress.ToString()).thenReturn(remoteAddressString);
            when(channel.remoteAddress()).thenReturn(remoteAddress);

            ChunkedOutput output = new ChunkedOutput(channel, DEFAULT_TEST_BUFFER_SIZE, DEFAULT_TEST_BUFFER_SIZE, NO_THROTTLE);

            output.Dispose();

            try
            {
                output.WriteInt(42);
                fail("Exception expected");
            }
            catch (PackOutputClosedException e)
            {
                assertThat(e.Message, containsString(remoteAddressString));
            }
        }
Пример #2
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: public static byte[] chunk(int maxChunkSize, byte[][] messages) throws java.io.IOException
        public static sbyte[] Chunk(int maxChunkSize, sbyte[][] messages)
        {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final ByteBuffer outputBuffer = ByteBuffer.allocate(1024 * 8);
            ByteBuffer outputBuffer = ByteBuffer.allocate(1024 * 8);

            Channel ch = mock(typeof(Channel));

            when(ch.alloc()).thenReturn(UnpooledByteBufAllocator.DEFAULT);
            when(ch.writeAndFlush(any(), Null)).then(inv =>
            {
                ByteBuf buf = inv.getArgument(0);
                outputBuffer.limit(outputBuffer.position() + buf.readableBytes());
                buf.readBytes(outputBuffer);
                buf.release();
                return(null);
            });

            int           maxBufferSize = maxChunkSize + CHUNK_HEADER_SIZE;
            ChunkedOutput @out          = new ChunkedOutput(ch, maxBufferSize, maxBufferSize, TransportThrottleGroup.NO_THROTTLE);

            foreach (sbyte[] message in messages)
            {
                @out.BeginMessage();
                @out.WriteBytes(message, 0, message.Length);
                @out.MessageSucceeded();
            }
            @out.Flush();
            @out.Dispose();

            sbyte[] bytes = new sbyte[outputBuffer.limit()];
            outputBuffer.position(0);
            outputBuffer.get(bytes);
            return(bytes);
        }
Пример #3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @After public void tearDown()
        public virtual void TearDown()
        {
            @out.Dispose();
            _channel.finishAndReleaseAll();
        }