Package org.apache.http.nio.impl.reactor

Examples of org.apache.http.nio.impl.reactor.SessionInputBuffer


    public void testInvalidInput() throws Exception {
        String s = "stuff";
        ReadableByteChannel channel = new ReadableByteChannelMockup(
                new String[] {s}, "US-ASCII");
   
        SessionInputBuffer inbuf = new SessionInputBuffer(1024, 256);
        IdentityDecoder decoder = new IdentityDecoder(channel, inbuf);
       
        try {
            decoder.read(null);
            fail("IllegalArgumentException should have been thrown");
View Full Code Here


        return newChannel(s, "US-ASCII");
    }

    public void testReadLineChunks() throws Exception {
       
        SessionInputBuffer inbuf = new SessionInputBuffer(16, 16);
       
        ReadableByteChannel channel = newChannel("One\r\nTwo\r\nThree");
       
        inbuf.fill(channel);
       
        CharArrayBuffer line = new CharArrayBuffer(64);
       
        line.clear();
        assertTrue(inbuf.readLine(line, false));
        assertEquals("One", line.toString());
       
        line.clear();
        assertTrue(inbuf.readLine(line, false));
        assertEquals("Two", line.toString());

        line.clear();
        assertFalse(inbuf.readLine(line, false));

        channel = newChannel("\r\nFour");
        inbuf.fill(channel);
       
        line.clear();
        assertTrue(inbuf.readLine(line, false));
        assertEquals("Three", line.toString());

        inbuf.fill(channel);
       
        line.clear();
        assertTrue(inbuf.readLine(line, true));
        assertEquals("Four", line.toString());

        line.clear();
        assertFalse(inbuf.readLine(line, true));
    }
View Full Code Here

    }
   
    public void testWriteLineChunks() throws Exception {
       
        SessionOutputBuffer outbuf = new SessionOutputBuffer(16, 16);
        SessionInputBuffer inbuf = new SessionInputBuffer(16, 16);
       
        ReadableByteChannel inChannel = newChannel("One\r\nTwo\r\nThree");
       
        inbuf.fill(inChannel);
       
        CharArrayBuffer line = new CharArrayBuffer(64);
       
        line.clear();
        assertTrue(inbuf.readLine(line, false));
        assertEquals("One", line.toString());
       
        outbuf.writeLine(line);
       
        line.clear();
        assertTrue(inbuf.readLine(line, false));
        assertEquals("Two", line.toString());

        outbuf.writeLine(line);
       
        line.clear();
        assertFalse(inbuf.readLine(line, false));

        inChannel = newChannel("\r\nFour");
        inbuf.fill(inChannel);

        line.clear();
        assertTrue(inbuf.readLine(line, false));
        assertEquals("Three", line.toString());

        outbuf.writeLine(line);
       
        inbuf.fill(inChannel);
       
        line.clear();
        assertTrue(inbuf.readLine(line, true));
        assertEquals("Four", line.toString());

        outbuf.writeLine(line);
       
        line.clear();
        assertFalse(inbuf.readLine(line, true));

        ByteArrayOutputStream outstream = new ByteArrayOutputStream();
        WritableByteChannel outChannel = newChannel(outstream);
        outbuf.flush(outChannel);
       
View Full Code Here

        WritableByteChannel outChannel = newChannel(outstream);
        outbuf.flush(outChannel);

        ReadableByteChannel channel = newChannel(outstream.toByteArray());
       
        SessionInputBuffer inbuf = new SessionInputBuffer(1024, 16);
        inbuf.fill(channel);
       
        for (int i = 0; i < teststrs.length; i++) {
            assertEquals(teststrs[i], inbuf.readLine(true));
        }
        assertNull(inbuf.readLine(true));
        assertNull(inbuf.readLine(true));
    }
View Full Code Here

        WritableByteChannel outChannel = newChannel(outstream);
        outbuf.flush(outChannel);

        ReadableByteChannel channel = newChannel(outstream.toByteArray());

        SessionInputBuffer inbuf = new SessionInputBuffer(1024, 16);
        inbuf.fill(channel);
       
        assertEquals("a", inbuf.readLine(true));
        assertEquals("", inbuf.readLine(true));
        assertEquals("\r", inbuf.readLine(true));
        assertEquals("", inbuf.readLine(true));
        assertEquals(s1, inbuf.readLine(true));
        assertEquals(s2, inbuf.readLine(true));
        assertEquals(s3, inbuf.readLine(true));
        assertEquals("a", inbuf.readLine(true));
        assertNull(inbuf.readLine(true));
        assertNull(inbuf.readLine(true));
    }
View Full Code Here

        byte[] out = new byte[40];
        for (int i = 0; i < out.length; i++) {
            out[i] = (byte)('0' + i);
        }
        ReadableByteChannel channel = newChannel(out);       
        SessionInputBuffer inbuf = new SessionInputBuffer(16, 16);
        while (inbuf.fill(channel) > 0) {
        }

        byte[] in = new byte[40];
        for (int i = 0; i < in.length; i++) {
            in[i] = (byte)inbuf.read();
        }
        for (int i = 0; i < out.length; i++) {
            assertEquals(out[i], in[i]);
        }
    }
View Full Code Here

        outbuf.flush(outChannel);

        byte[] tmp = outstream.toByteArray();
       
        ReadableByteChannel channel = newChannel(tmp);       
        SessionInputBuffer inbuf = new SessionInputBuffer(16, 16);
        inbuf.reset(params);
       
        while (inbuf.fill(channel) > 0) {
        }
       
        for (int i = 0; i < 10; i++) {
            assertEquals(s1, inbuf.readLine(true));
            assertEquals(s2, inbuf.readLine(true));
            assertEquals(s3, inbuf.readLine(true));
        }
    }
View Full Code Here

    public void testBasicDecoding() throws Exception {
        String s = "5\r\n01234\r\n5\r\n56789\r\n6\r\nabcdef\r\n0\r\n\r\n";
        ReadableByteChannel channel = new ReadableByteChannelMockup(
                new String[] {s}, "US-ASCII");
       
        SessionInputBuffer inbuf = new SessionInputBuffer(1024, 256);
        ChunkDecoder decoder = new ChunkDecoder(channel, inbuf);
       
        ByteBuffer dst = ByteBuffer.allocate(1024);
       
        int bytesRead = decoder.read(dst);
View Full Code Here

        String s = "10;key=\"value\"\r\n1234567890123456\r\n" +
                "5\r\n12345\r\n5\r\n12345\r\n0\r\nFooter1: abcde\r\nFooter2: fghij\r\n\r\n";
        ReadableByteChannel channel = new ReadableByteChannelMockup(
                new String[] {s}, "US-ASCII");
   
        SessionInputBuffer inbuf = new SessionInputBuffer(1024, 256);
        ChunkDecoder decoder = new ChunkDecoder(channel, inbuf);
       
        ByteBuffer dst = ByteBuffer.allocate(1024);
       
        int bytesRead = decoder.read(dst);
View Full Code Here

        String s1 = "5\r\n01234\r\n5\r\n5678";
        String s2 = "9\r\n6\r\nabcdef\r\n0\r\n\r\n";
        ReadableByteChannel channel = new ReadableByteChannelMockup(
                new String[] {s1, s2}, "US-ASCII");
       
        SessionInputBuffer inbuf = new SessionInputBuffer(1024, 256);
        ChunkDecoder decoder = new ChunkDecoder(channel, inbuf);
       
        ByteBuffer dst = ByteBuffer.allocate(4);
       
        int bytesRead = decoder.read(dst);
View Full Code Here

TOP

Related Classes of org.apache.http.nio.impl.reactor.SessionInputBuffer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.