Mercurial Hosting > luan
changeset 1075:ebb0f1343ef6
remove JBuffer
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 10 Nov 2016 03:08:20 -0700 |
parents | 6b7ff30bb990 |
children | 0d884377e923 |
files | src/org/eclipse/jetty/http/HttpFields.java src/org/eclipse/jetty/http/HttpGenerator.java src/org/eclipse/jetty/http/HttpParser.java src/org/eclipse/jetty/io/BufferUtil.java src/org/eclipse/jetty/io/Buffers.java src/org/eclipse/jetty/io/EndPoint.java src/org/eclipse/jetty/io/JBuffer.java src/org/eclipse/jetty/io/nio/ChannelEndPoint.java src/org/eclipse/jetty/io/nio/SelectChannelEndPoint.java src/org/eclipse/jetty/io/nio/SslConnection.java src/org/eclipse/jetty/server/AbstractHttpConnection.java src/org/eclipse/jetty/server/Connector.java src/org/eclipse/jetty/server/nio/BlockingChannelConnector.java src/org/eclipse/jetty/server/ssl/SslSelectChannelConnector.java |
diffstat | 14 files changed, 109 insertions(+), 258 deletions(-) [+] |
line wrap: on
line diff
diff -r 6b7ff30bb990 -r ebb0f1343ef6 src/org/eclipse/jetty/http/HttpFields.java --- a/src/org/eclipse/jetty/http/HttpFields.java Thu Nov 10 02:37:15 2016 -0700 +++ b/src/org/eclipse/jetty/http/HttpFields.java Thu Nov 10 03:08:20 2016 -0700 @@ -20,6 +20,7 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; +import java.nio.ByteBuffer; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; @@ -39,7 +40,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import org.eclipse.jetty.io.JBuffer; import org.eclipse.jetty.io.BufferUtil; import org.eclipse.jetty.util.LazyList; import org.eclipse.jetty.util.QuotedStringTokenizer; @@ -943,7 +943,7 @@ _next = null; } - public void putTo(JBuffer buffer) throws IOException + public void putTo(ByteBuffer buffer) throws IOException { byte[] nameBytes = StringUtil.getBytes(_name); if (getNameOrdinal() >=0 )
diff -r 6b7ff30bb990 -r ebb0f1343ef6 src/org/eclipse/jetty/http/HttpGenerator.java --- a/src/org/eclipse/jetty/http/HttpGenerator.java Thu Nov 10 02:37:15 2016 -0700 +++ b/src/org/eclipse/jetty/http/HttpGenerator.java Thu Nov 10 03:08:20 2016 -0700 @@ -20,9 +20,9 @@ import java.io.IOException; import java.io.InterruptedIOException; +import java.nio.ByteBuffer; import java.util.Arrays; -import org.eclipse.jetty.io.JBuffer; import org.eclipse.jetty.io.BufferUtil; import org.eclipse.jetty.io.Buffers; import org.eclipse.jetty.io.EndPoint; @@ -121,12 +121,11 @@ * * @param content * @param last - * @throws IllegalArgumentException if <code>content</code> is {@link JBuffer#isImmutable immutable}. * @throws IllegalStateException If the request is not expecting any more content, * or if the buffers are full and cannot be flushed. * @throws IOException if there is a problem flushing the buffers. */ - public void addContent(JBuffer content, boolean last) throws IOException + public void addContent(ByteBuffer content, boolean last) throws IOException { if (_noContent) throw new IllegalStateException("NO CONTENT"); @@ -149,7 +148,7 @@ { if (_bufferChunked) { - JBuffer nc = _buffers.getBuffer(_content.remaining()+CHUNK_SPACE+content.remaining()); + ByteBuffer nc = _buffers.getBuffer(_content.remaining()+CHUNK_SPACE+content.remaining()); nc.put(_content); nc.put(HttpTokens.CRLF); BufferUtil.putHexInt(nc, content.remaining()); @@ -160,7 +159,7 @@ } else { - JBuffer nc = _buffers.getBuffer(_content.remaining()+content.remaining()); + ByteBuffer nc = _buffers.getBuffer(_content.remaining()+content.remaining()); nc.put(_content); nc.put(content); nc.flip(); @@ -838,9 +837,9 @@ @Override public String toString() { - JBuffer header = _header; - JBuffer buffer = _buffer; - JBuffer content = _content; + ByteBuffer header = _header; + ByteBuffer buffer = _buffer; + ByteBuffer content = _content; return String.format("%s{s=%d,h=%d,b=%d,c=%d}", getClass().getSimpleName(), _state, @@ -880,7 +879,7 @@ private int _status = 0; private int _version = HttpVersions.HTTP_1_1_ORDINAL; - private JBuffer _reason; + private ByteBuffer _reason; private long _contentWritten = 0; private long _contentLength = HttpTokens.UNKNOWN_CONTENT; @@ -889,9 +888,9 @@ private boolean _noContent = false; private Boolean _persistent = null; - private final JBuffer _header; // JBuffer for HTTP header (and maybe small _content) - private final JBuffer _buffer; // JBuffer for copy of passed _content - private JBuffer _content; // JBuffer passed to addContent + private final ByteBuffer _header; // ByteBuffer for HTTP header (and maybe small _content) + private final ByteBuffer _buffer; // ByteBuffer for copy of passed _content + private ByteBuffer _content; // ByteBuffer passed to addContent public HttpGenerator(Buffers buffers, EndPoint io) @@ -929,7 +928,7 @@ return _buffer.capacity(); } - public final JBuffer getUncheckedBuffer() + public final ByteBuffer getUncheckedBuffer() { return _buffer; } @@ -1005,7 +1004,7 @@ // TODO don't hard code if (len>1024) len=1024; - _reason = BufferUtil.newBuffer(len); + _reason = ByteBuffer.allocate(len); for (int i=0;i<len;i++) { char ch = reason.charAt(i); @@ -1062,8 +1061,8 @@ // block until everything is flushed long now = System.currentTimeMillis(); long end = now+maxIdleTime; - JBuffer content = _content; - JBuffer buffer = _buffer; + ByteBuffer content = _content; + ByteBuffer buffer = _buffer; if (content!=null && content.remaining()>0 || buffer.position()>0 || isBufferFull()) { flushBuffer();
diff -r 6b7ff30bb990 -r ebb0f1343ef6 src/org/eclipse/jetty/http/HttpParser.java --- a/src/org/eclipse/jetty/http/HttpParser.java Thu Nov 10 02:37:15 2016 -0700 +++ b/src/org/eclipse/jetty/http/HttpParser.java Thu Nov 10 03:08:20 2016 -0700 @@ -19,8 +19,8 @@ package org.eclipse.jetty.http; import java.io.IOException; +import java.nio.ByteBuffer; -import org.eclipse.jetty.io.JBuffer; import org.eclipse.jetty.io.BufferUtil; import org.eclipse.jetty.io.EndPoint; import org.eclipse.jetty.io.EofException; @@ -56,9 +56,9 @@ private final EventHandler _handler; private final EndPoint _endp; - public final JBuffer _header; // JBuffer for header data (and small _content) - private final JBuffer _body; // JBuffer for large content - private JBuffer _buffer; // The current buffer in use (either _header or _content) + public final ByteBuffer _header; // ByteBuffer for header data (and small _content) + private final ByteBuffer _body; // ByteBuffer for large content + private ByteBuffer _buffer; // The current buffer in use (either _header or _content) private int _mark = -1; private String _cached; private String _tok0 = ""; // Saved token: header name, request method or response version @@ -67,7 +67,7 @@ private int _responseStatus; // If >0 then we are parsing a response private boolean _persistent; - private JBuffer _contentView = BufferUtil.EMPTY_BUFFER; // View of the content in the buffer for {@link Input} + private ByteBuffer _contentView = BufferUtil.EMPTY_BUFFER; // View of the content in the buffer for {@link Input} private int _state = STATE_START; private byte _eol; private int _length; @@ -77,7 +77,7 @@ private int _chunkPosition; private boolean _headResponse; - public HttpParser(JBuffer headerBuffer,JBuffer bodyBuffer, EndPoint endp, EventHandler handler) + public HttpParser(ByteBuffer headerBuffer,ByteBuffer bodyBuffer, EndPoint endp, EventHandler handler) { _header = headerBuffer; _header.limit(0); @@ -92,7 +92,7 @@ } private String sliceFromMark() { - JBuffer buf = _buffer.duplicate(); + ByteBuffer buf = _buffer.duplicate(); buf.position(_mark); buf.limit(_buffer.position()-1); _mark = -1; @@ -116,8 +116,8 @@ } } - private JBuffer getBuffer(int length) { - JBuffer dup = _buffer.duplicate(); + private ByteBuffer getBuffer(int length) { + ByteBuffer dup = _buffer.duplicate(); int end = _buffer.position() + length; dup.limit(end); _buffer.position(end); @@ -129,7 +129,7 @@ } private String bufferToString(int index, int length) { - JBuffer dup = _buffer.duplicate(); + ByteBuffer dup = _buffer.duplicate(); dup.limit(index+length); dup.position(index); return BufferUtil.getString(dup); @@ -258,7 +258,7 @@ { if (_buffer.remaining()>0 && !_headResponse) { - JBuffer chunk = getBuffer(_buffer.remaining()); + ByteBuffer chunk = getBuffer(_buffer.remaining()); _contentPosition += chunk.remaining(); _contentView = chunk; _handler.content(); // May recurse here @@ -803,7 +803,7 @@ { case STATE_EOF_CONTENT: { - JBuffer chunk = getBuffer(_buffer.remaining()); + ByteBuffer chunk = getBuffer(_buffer.remaining()); _contentPosition += chunk.remaining(); _contentView = chunk; _handler.content(); // May recurse here @@ -828,7 +828,7 @@ length=(int)remaining; } - JBuffer chunk = getBuffer(length); + ByteBuffer chunk = getBuffer(length); _contentPosition += chunk.remaining(); _contentView = chunk; _handler.content(); // May recurse here @@ -919,7 +919,7 @@ } else if (length > remaining) length=remaining; - JBuffer chunk = getBuffer(length); + ByteBuffer chunk = getBuffer(length); _contentPosition += chunk.remaining(); _chunkPosition += chunk.remaining(); _contentView = chunk; @@ -1027,7 +1027,7 @@ _contentLength); } - public JBuffer blockForContent(long maxIdleTime) throws IOException + public ByteBuffer blockForContent(long maxIdleTime) throws IOException { if (_contentView.remaining()>0) return _contentView;
diff -r 6b7ff30bb990 -r ebb0f1343ef6 src/org/eclipse/jetty/io/BufferUtil.java --- a/src/org/eclipse/jetty/io/BufferUtil.java Thu Nov 10 02:37:15 2016 -0700 +++ b/src/org/eclipse/jetty/io/BufferUtil.java Thu Nov 10 03:08:20 2016 -0700 @@ -70,7 +70,7 @@ throw new NumberFormatException(s); } - public static void putHexInt(JBuffer buffer, int n) + public static void putHexInt(ByteBuffer buffer, int n) { if (n < 0) @@ -118,7 +118,7 @@ } } - public static void putDecLong(JBuffer buffer, long n) + public static void putDecLong(ByteBuffer buffer, long n) { if (n < 0) { @@ -195,43 +195,24 @@ - public static final JBuffer EMPTY_BUFFER = new JBuffer(ByteBuffer.allocate(0)); - - public static JBuffer wrap(byte[] array,int offset,int length) { - return new JBuffer(ByteBuffer.wrap(array,offset,length)); - } + public static final ByteBuffer EMPTY_BUFFER = ByteBuffer.allocate(0); - public static JBuffer wrap(byte[] array) { - return new JBuffer(ByteBuffer.wrap(array)); - } - - public static JBuffer wrap(String s) { + public static ByteBuffer wrap(String s) { byte[] bytes = StringUtil.getBytes(s); - ByteBuffer bb = ByteBuffer.wrap(bytes).asReadOnlyBuffer(); - return new JBuffer(bb); - } - - public static JBuffer newBuffer(int size) { - ByteBuffer bb = ByteBuffer.allocate(size); - return new JBuffer(bb); - } - - public static JBuffer newDirectBuffer(int size) { - ByteBuffer bb = ByteBuffer.allocateDirect(size); - return new JBuffer(bb); + return ByteBuffer.wrap(bytes).asReadOnlyBuffer(); } private static final Charset ISO_8859_1 = Charset.forName("ISO-8859-1"); - public static String getString(JBuffer buffer) { + public static String getString(ByteBuffer buffer) { byte[] bytes = new byte[buffer.remaining()]; buffer.get(bytes); return new String(bytes,ISO_8859_1); } - public static void compact(JBuffer buffer) { + public static void compact(ByteBuffer buffer) { buffer.compact(); buffer.limit(buffer.position()); buffer.position(0);
diff -r 6b7ff30bb990 -r ebb0f1343ef6 src/org/eclipse/jetty/io/Buffers.java --- a/src/org/eclipse/jetty/io/Buffers.java Thu Nov 10 02:37:15 2016 -0700 +++ b/src/org/eclipse/jetty/io/Buffers.java Thu Nov 10 03:08:20 2016 -0700 @@ -18,6 +18,8 @@ package org.eclipse.jetty.io; +import java.nio.ByteBuffer; + /* ------------------------------------------------------------ */ /** BufferSource. @@ -28,7 +30,7 @@ */ public interface Buffers { - JBuffer getHeader(); - JBuffer getBuffer(); - JBuffer getBuffer(int size); + ByteBuffer getHeader(); + ByteBuffer getBuffer(); + ByteBuffer getBuffer(int size); }
diff -r 6b7ff30bb990 -r ebb0f1343ef6 src/org/eclipse/jetty/io/EndPoint.java --- a/src/org/eclipse/jetty/io/EndPoint.java Thu Nov 10 02:37:15 2016 -0700 +++ b/src/org/eclipse/jetty/io/EndPoint.java Thu Nov 10 03:08:20 2016 -0700 @@ -19,6 +19,7 @@ package org.eclipse.jetty.io; import java.io.IOException; +import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; @@ -55,7 +56,7 @@ * filled or -1 if EOF is reached. * @throws EofException If input is shutdown or the endpoint is closed. */ - int fill(JBuffer buffer) throws IOException; + int fill(ByteBuffer buffer) throws IOException; /** @@ -68,7 +69,7 @@ * @return the number of bytes written * @throws EofException If the endpoint is closed or output is shutdown. */ - int flush(JBuffer buffer) throws IOException; + int flush(ByteBuffer buffer) throws IOException; /** * Flush the buffer from the current getIndex to it's putIndex using whatever byte @@ -83,7 +84,7 @@ * @param trailer A buffer to write after flushing this buffer. This buffers getIndex is updated. * @return the total number of bytes written. */ - int flush(JBuffer header, JBuffer buffer, JBuffer trailer) throws IOException; + int flush(ByteBuffer header, ByteBuffer buffer, ByteBuffer trailer) throws IOException; /* ------------------------------------------------------------ */
diff -r 6b7ff30bb990 -r ebb0f1343ef6 src/org/eclipse/jetty/io/JBuffer.java --- a/src/org/eclipse/jetty/io/JBuffer.java Thu Nov 10 02:37:15 2016 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,123 +0,0 @@ -// tmp class to implement Buffer until I can get rid of it - -package org.eclipse.jetty.io; - -import java.io.InputStream; -import java.io.IOException; -import java.nio.ByteBuffer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.eclipse.jetty.util.TypeUtil; - - -public final class JBuffer { - private static final Logger LOG = LoggerFactory.getLogger(JBuffer.class); - - private final ByteBuffer bb; - - public JBuffer(ByteBuffer bb) { - this.bb = bb; - } - - public int position() { - return bb.position(); - } - - public void position(int i) { - bb.position(i); - } - - public int limit() { - return bb.limit(); - } - - public void limit(int i) { - bb.limit(i); - } - - public byte[] array() { - return bb.array(); - } - - public boolean hasArray() { - return bb.hasArray(); - } - - public JBuffer duplicate() { - return new JBuffer(bb.duplicate()); - } - - public int remaining() { - return bb.remaining(); - } - - public boolean isReadOnly() { - return bb.isReadOnly(); - } - - public boolean hasRemaining() { - return bb.hasRemaining(); - } - - public byte get() { - return bb.get(); - } - - public void get(byte[] bytes) { - bb.get(bytes); - } - - public void compact() { - bb.compact(); - } - - public int capacity() { - return bb.capacity(); - } - - - - public ByteBuffer getByteBuffer() { - return bb; - } - - public void clear() { - bb.clear(); - } - - - public void get(byte[] b, int offset, int length) { - bb.get(b,offset,length); - } - - - public void put(JBuffer src) { - bb.put(src.bb); - } - - public void put(byte b) { - bb.put(b); - } - - public void put(byte[] b) { - bb.put(b); - } - -/* - @Override - public String toString() { -// return toString("ISO-8859-1"); -// Thread.dumpStack(); - throw new RuntimeException("toString"); - } -*/ - - public byte get(int index) { - return bb.get(index); - } - - public void flip() { - bb.flip(); - } - -}
diff -r 6b7ff30bb990 -r ebb0f1343ef6 src/org/eclipse/jetty/io/nio/ChannelEndPoint.java --- a/src/org/eclipse/jetty/io/nio/ChannelEndPoint.java Thu Nov 10 02:37:15 2016 -0700 +++ b/src/org/eclipse/jetty/io/nio/ChannelEndPoint.java Thu Nov 10 03:08:20 2016 -0700 @@ -27,7 +27,6 @@ import java.nio.channels.GatheringByteChannel; import java.nio.channels.SocketChannel; -import org.eclipse.jetty.io.JBuffer; import org.eclipse.jetty.io.EndPoint; import org.eclipse.jetty.util.StringUtil; import org.slf4j.Logger; @@ -163,12 +162,12 @@ } @Override - public int fill(JBuffer buffer) throws IOException + public int fill(ByteBuffer buffer) throws IOException { if (_ishut) return -1; int len = 0; - final ByteBuffer bbuf = buffer.getByteBuffer().duplicate(); + final ByteBuffer bbuf = buffer.duplicate(); //noinspection SynchronizationOnLocalVariableOrMethodParameter try @@ -208,14 +207,13 @@ } @Override - public int flush(JBuffer buffer) throws IOException + public int flush(ByteBuffer buffer) throws IOException { - final ByteBuffer bbuf = buffer.getByteBuffer(); - return _channel.write(bbuf); + return _channel.write(buffer); } @Override - public int flush(JBuffer header, JBuffer buffer, JBuffer trailer) throws IOException + public int flush(ByteBuffer header, ByteBuffer buffer, ByteBuffer trailer) throws IOException { int length=0; @@ -246,11 +244,9 @@ return length; } - private synchronized int gatheringFlush(JBuffer header, JBuffer buffer) throws IOException + private synchronized int gatheringFlush(ByteBuffer header, ByteBuffer buffer) throws IOException { - ByteBuffer bbuf0 = header.getByteBuffer(); - ByteBuffer bbuf1 = buffer.getByteBuffer(); - return (int)_channel.write(new ByteBuffer[]{bbuf0,bbuf1}); + return (int)_channel.write(new ByteBuffer[]{header,buffer}); } public final SocketChannel getChannel()
diff -r 6b7ff30bb990 -r ebb0f1343ef6 src/org/eclipse/jetty/io/nio/SelectChannelEndPoint.java --- a/src/org/eclipse/jetty/io/nio/SelectChannelEndPoint.java Thu Nov 10 02:37:15 2016 -0700 +++ b/src/org/eclipse/jetty/io/nio/SelectChannelEndPoint.java Thu Nov 10 03:08:20 2016 -0700 @@ -20,6 +20,7 @@ import java.io.IOException; import java.io.InterruptedIOException; +import java.nio.ByteBuffer; import java.nio.channels.ClosedChannelException; import java.nio.channels.SelectableChannel; import java.nio.channels.SelectionKey; @@ -28,7 +29,6 @@ import java.util.concurrent.RejectedExecutionException; import org.eclipse.jetty.io.AsyncEndPoint; -import org.eclipse.jetty.io.JBuffer; import org.eclipse.jetty.io.EofException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -157,14 +157,14 @@ } @Override - public int fill(JBuffer buffer) throws IOException + public int fill(ByteBuffer buffer) throws IOException { int fill=super.fill(buffer); return fill; } @Override - public int flush(JBuffer header, JBuffer buffer, JBuffer trailer) throws IOException + public int flush(ByteBuffer header, ByteBuffer buffer, ByteBuffer trailer) throws IOException { int l = super.flush(header, buffer, trailer); @@ -186,7 +186,7 @@ } @Override - public int flush(JBuffer buffer) throws IOException + public int flush(ByteBuffer buffer) throws IOException { int l = super.flush(buffer);
diff -r 6b7ff30bb990 -r ebb0f1343ef6 src/org/eclipse/jetty/io/nio/SslConnection.java --- a/src/org/eclipse/jetty/io/nio/SslConnection.java Thu Nov 10 02:37:15 2016 -0700 +++ b/src/org/eclipse/jetty/io/nio/SslConnection.java Thu Nov 10 03:08:20 2016 -0700 @@ -30,7 +30,6 @@ import org.eclipse.jetty.io.AbstractConnection; import org.eclipse.jetty.io.AsyncEndPoint; -import org.eclipse.jetty.io.JBuffer; import org.eclipse.jetty.io.BufferUtil; import org.eclipse.jetty.io.EndPoint; import org.eclipse.jetty.server.AsyncHttpConnection; @@ -51,7 +50,7 @@ { private final Logger _logger = LoggerFactory.getLogger("org.eclipse.jetty.io.nio.ssl"); - private static final JBuffer __ZERO_BUFFER = BufferUtil.EMPTY_BUFFER; + private static final ByteBuffer __ZERO_BUFFER = BufferUtil.EMPTY_BUFFER; private static final ThreadLocal<SslBuffers> __buffers = new ThreadLocal<SslBuffers>(); private final SSLEngine _engine; @@ -60,9 +59,9 @@ private final SslEndPoint _sslEndPoint; private int _allocations; private SslBuffers _buffers; - private JBuffer _inbound; - private JBuffer _unwrapBuf; - private JBuffer _outbound; + private ByteBuffer _inbound; + private ByteBuffer _unwrapBuf; + private ByteBuffer _outbound; private final AsyncEndPoint _aEndp; private boolean _allowRenegotiate = true; private boolean _handshook; @@ -75,17 +74,17 @@ */ private static class SslBuffers { - final JBuffer _in; - final JBuffer _out; - final JBuffer _unwrap; + final ByteBuffer _in; + final ByteBuffer _out; + final ByteBuffer _unwrap; SslBuffers(int packetSize, int appSize) { - _in = BufferUtil.newBuffer(packetSize); + _in = ByteBuffer.allocate(packetSize); _in.limit(0); - _out = BufferUtil.newBuffer(packetSize); + _out = ByteBuffer.allocate(packetSize); _out.limit(0); - _unwrap = BufferUtil.newBuffer(appSize); + _unwrap = ByteBuffer.allocate(appSize); _unwrap.limit(0); } } @@ -212,15 +211,15 @@ { } - private void put_unwrapBuf(JBuffer toFill) { - JBuffer dup = toFill.duplicate(); + private void put_unwrapBuf(ByteBuffer toFill) { + ByteBuffer dup = toFill.duplicate(); dup.position(dup.limit()); dup.limit(dup.capacity()); dup.put(_unwrapBuf); toFill.limit(dup.position()); } - private synchronized boolean process(JBuffer toFill, JBuffer toFlush) throws IOException + private synchronized boolean process(ByteBuffer toFill, ByteBuffer toFlush) throws IOException { boolean some_progress=false; try @@ -389,22 +388,21 @@ } } - private synchronized boolean wrap(final JBuffer buffer) throws IOException + private synchronized boolean wrap(final ByteBuffer buffer) throws IOException { - ByteBuffer bbuf = buffer.getByteBuffer(); final SSLEngineResult result; - synchronized(bbuf) + synchronized(buffer) { BufferUtil.compact(_outbound); - ByteBuffer out_buffer = _outbound.getByteBuffer().duplicate(); + ByteBuffer out_buffer = _outbound.duplicate(); synchronized(out_buffer) { try { out_buffer.position(_outbound.limit()); out_buffer.limit(out_buffer.capacity()); - result = _engine.wrap(bbuf,out_buffer); + result = _engine.wrap(buffer,out_buffer); if (_logger.isDebugEnabled()) _logger.debug("{} wrap {} {} consumed={} produced={}", _session, @@ -451,25 +449,24 @@ return result.bytesConsumed()>0 || result.bytesProduced()>0; } - private synchronized boolean unwrap(final JBuffer buffer) throws IOException + private synchronized boolean unwrap(final ByteBuffer buffer) throws IOException { if (!_inbound.hasRemaining()) return false; - ByteBuffer bbuf = buffer.getByteBuffer().duplicate(); + ByteBuffer bbuf = buffer.duplicate(); final SSLEngineResult result; synchronized(bbuf) { - ByteBuffer in_buffer = _inbound.getByteBuffer(); - synchronized(in_buffer) + synchronized(_inbound) { try { bbuf.position(buffer.limit()); bbuf.limit(buffer.capacity()); - result=_engine.unwrap(in_buffer,bbuf); + result=_engine.unwrap(_inbound,bbuf); if (_logger.isDebugEnabled()) _logger.debug("{} unwrap {} {} consumed={} produced={}", _session, @@ -587,7 +584,7 @@ _endp.close(); } - public int fill(JBuffer buffer) throws IOException + public int fill(ByteBuffer buffer) throws IOException { int size = buffer.remaining(); process(buffer, null); @@ -599,14 +596,14 @@ return filled; } - public int flush(JBuffer buffer) throws IOException + public int flush(ByteBuffer buffer) throws IOException { int size = buffer.remaining(); process(null, buffer); return size-buffer.remaining(); } - public int flush(JBuffer header, JBuffer buffer, JBuffer trailer) throws IOException + public int flush(ByteBuffer header, ByteBuffer buffer, ByteBuffer trailer) throws IOException { if (header!=null && header.hasRemaining()) return flush(header); @@ -718,9 +715,9 @@ // Do NOT use synchronized (SslConnection.this) // because it's very easy to deadlock when debugging is enabled. // We do a best effort to print the right toString() and that's it. - JBuffer inbound = _inbound; - JBuffer outbound = _outbound; - JBuffer unwrap = _unwrapBuf; + ByteBuffer inbound = _inbound; + ByteBuffer outbound = _outbound; + ByteBuffer unwrap = _unwrapBuf; int i = inbound == null? -1 : inbound.remaining(); int o = outbound == null ? -1 : outbound.remaining(); int u = unwrap == null ? -1 : unwrap.remaining();
diff -r 6b7ff30bb990 -r ebb0f1343ef6 src/org/eclipse/jetty/server/AbstractHttpConnection.java --- a/src/org/eclipse/jetty/server/AbstractHttpConnection.java Thu Nov 10 02:37:15 2016 -0700 +++ b/src/org/eclipse/jetty/server/AbstractHttpConnection.java Thu Nov 10 03:08:20 2016 -0700 @@ -43,7 +43,6 @@ import org.eclipse.jetty.http.HttpVersions; import org.eclipse.jetty.http.MimeTypes; import org.eclipse.jetty.io.AbstractConnection; -import org.eclipse.jetty.io.JBuffer; import org.eclipse.jetty.io.Buffers; import org.eclipse.jetty.io.BufferUtil; import org.eclipse.jetty.io.EndPoint; @@ -707,7 +706,7 @@ public final class Output extends ServletOutputStream { private boolean _closed; - private JBuffer _onebyte; + private ByteBuffer _onebyte; // These are held here for reuse by Writer String _characterEncoding; @@ -723,27 +722,27 @@ @Override public final void write(byte[] b, int off, int len) throws IOException { - write(BufferUtil.wrap(b,off,len)); + write(ByteBuffer.wrap(b,off,len)); } @Override public final void write(byte[] b) throws IOException { - write(BufferUtil.wrap(b)); + write(ByteBuffer.wrap(b)); } @Override public final void write(int b) throws IOException { if (_onebyte==null) - _onebyte = BufferUtil.newBuffer(1); + _onebyte = ByteBuffer.allocate(1); else _onebyte.clear(); _onebyte.put((byte)b); write(_onebyte); } - private void write(JBuffer buffer) throws IOException + private void write(ByteBuffer buffer) throws IOException { if (_closed) throw new IOException("Closed"); @@ -837,14 +836,13 @@ try { ReadableByteChannel chan = Channels.newChannel(in); - JBuffer buffer = _generator.getUncheckedBuffer(); - ByteBuffer bb = buffer.getByteBuffer(); + ByteBuffer buffer = _generator.getUncheckedBuffer(); while (true) { _generator.prepareUncheckedAddContent(); - int n = chan.read(bb); + int n = chan.read(buffer); if( n == -1 ) break; @@ -884,7 +882,7 @@ @Override public int read(byte[] b, int off, int len) throws IOException { - JBuffer content = _parser.blockForContent(getMaxIdleTime()); + ByteBuffer content = _parser.blockForContent(getMaxIdleTime()); if (content!=null) { int remaining = content.remaining(); if( remaining == 0 )
diff -r 6b7ff30bb990 -r ebb0f1343ef6 src/org/eclipse/jetty/server/Connector.java --- a/src/org/eclipse/jetty/server/Connector.java Thu Nov 10 02:37:15 2016 -0700 +++ b/src/org/eclipse/jetty/server/Connector.java Thu Nov 10 03:08:20 2016 -0700 @@ -22,13 +22,13 @@ import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; +import java.nio.ByteBuffer; import java.nio.channels.ServerSocketChannel; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.atomic.AtomicLong; import javax.servlet.ServletRequest; -import org.eclipse.jetty.io.JBuffer; import org.eclipse.jetty.io.Buffers; import org.eclipse.jetty.io.BufferUtil; import org.eclipse.jetty.io.EndPoint; @@ -43,7 +43,7 @@ * <ul> * <li>AbstractLifeCycle implementation</li> * <li>Implementations for connector getters and setters</li> - * <li>JBuffer management</li> + * <li>ByteBuffer management</li> * <li>Socket configuration</li> * <li>Base acceptor thread</li> * <li>Optional reverse proxy headers checking</li> @@ -251,8 +251,8 @@ // my own buffers - protected JBuffer newBuffer(int size) { - return BufferUtil.newDirectBuffer(size); + protected ByteBuffer newBuffer(int size) { + return ByteBuffer.allocateDirect(size); } private class MyBuffers implements Buffers { @@ -265,17 +265,17 @@ } @Override - public JBuffer getHeader() { - return BufferUtil.newBuffer(headerSize); + public ByteBuffer getHeader() { + return ByteBuffer.allocate(headerSize); } @Override - public JBuffer getBuffer() { + public ByteBuffer getBuffer() { return newBuffer(bufferSize); } @Override - public JBuffer getBuffer(int size) { + public ByteBuffer getBuffer(int size) { return newBuffer(size); } }
diff -r 6b7ff30bb990 -r ebb0f1343ef6 src/org/eclipse/jetty/server/nio/BlockingChannelConnector.java --- a/src/org/eclipse/jetty/server/nio/BlockingChannelConnector.java Thu Nov 10 02:37:15 2016 -0700 +++ b/src/org/eclipse/jetty/server/nio/BlockingChannelConnector.java Thu Nov 10 03:08:20 2016 -0700 @@ -21,6 +21,7 @@ import java.io.IOException; import java.net.InetSocketAddress; import java.net.Socket; +import java.nio.ByteBuffer; import java.nio.channels.ByteChannel; import java.nio.channels.SelectionKey; import java.nio.channels.ServerSocketChannel; @@ -30,7 +31,6 @@ import java.util.concurrent.RejectedExecutionException; import org.eclipse.jetty.http.HttpException; -import org.eclipse.jetty.io.JBuffer; import org.eclipse.jetty.io.EndPoint; import org.eclipse.jetty.io.EofException; import org.eclipse.jetty.io.nio.ChannelEndPoint; @@ -171,21 +171,21 @@ } @Override - public int fill(JBuffer buffer) throws IOException + public int fill(ByteBuffer buffer) throws IOException { _idleTimestamp = System.currentTimeMillis(); return super.fill(buffer); } @Override - public int flush(JBuffer buffer) throws IOException + public int flush(ByteBuffer buffer) throws IOException { _idleTimestamp = System.currentTimeMillis(); return super.flush(buffer); } @Override - public int flush(JBuffer header, JBuffer buffer, JBuffer trailer) throws IOException + public int flush(ByteBuffer header, ByteBuffer buffer, ByteBuffer trailer) throws IOException { _idleTimestamp = System.currentTimeMillis(); return super.flush(header,buffer,trailer);
diff -r 6b7ff30bb990 -r ebb0f1343ef6 src/org/eclipse/jetty/server/ssl/SslSelectChannelConnector.java --- a/src/org/eclipse/jetty/server/ssl/SslSelectChannelConnector.java Thu Nov 10 02:37:15 2016 -0700 +++ b/src/org/eclipse/jetty/server/ssl/SslSelectChannelConnector.java Thu Nov 10 03:08:20 2016 -0700 @@ -19,6 +19,7 @@ package org.eclipse.jetty.server.ssl; import java.io.IOException; +import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; import javax.net.ssl.SSLContext; @@ -27,7 +28,6 @@ import javax.net.ssl.SSLSocket; import org.eclipse.jetty.io.AsyncEndPoint; -import org.eclipse.jetty.io.JBuffer; import org.eclipse.jetty.io.Buffers; import org.eclipse.jetty.io.BufferUtil; import org.eclipse.jetty.io.EndPoint; @@ -75,8 +75,8 @@ } @Override - protected JBuffer newBuffer(int size) { - return BufferUtil.newBuffer(size); + protected ByteBuffer newBuffer(int size) { + return ByteBuffer.allocate(size); }