You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2016/01/28 23:57:49 UTC
svn commit: r1727449 - in /qpid/java/trunk:
broker-core/src/main/java/org/apache/qpid/server/transport/
broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/
broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpi...
Author: rgodfrey
Date: Thu Jan 28 22:57:49 2016
New Revision: 1727449
URL: http://svn.apache.org/viewvc?rev=1727449&view=rev
Log:
QPID-6953 : Only create direct byte buffers if the ByteBufferSender prefers it that way
Removed:
qpid/java/trunk/client/src/test/java/org/apache/qpid/client/transport/MockSender.java
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnection.java
qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10.java
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/MessageMetaData.java
qpid/java/trunk/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java
qpid/java/trunk/client/src/test/java/org/apache/qpid/client/transport/TestNetworkConnection.java
qpid/java/trunk/common/src/main/java/org/apache/qpid/bytebuffer/QpidByteBuffer.java
qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/AMQFrame.java
qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/AMQMethodBodyImpl.java
qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/BasicContentHeaderProperties.java
qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/ContentHeaderBody.java
qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/ByteBufferSender.java
qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/network/io/IoSender.java
qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/network/security/sasl/SASLSender.java
qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java
qpid/java/trunk/common/src/test/java/org/apache/qpid/codec/AMQDecoderTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/MaxFrameSizeTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/ProtocolNegotiationTest.java
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnection.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnection.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnection.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnection.java Thu Jan 28 22:57:49 2016
@@ -507,6 +507,12 @@ public class NonBlockingConnection imple
}
@Override
+ public boolean isDirectBufferPreferred()
+ {
+ return true;
+ }
+
+ @Override
public void send(final QpidByteBuffer msg)
{
Modified: qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10.java Thu Jan 28 22:57:49 2016
@@ -124,6 +124,12 @@ public class AMQPConnection_0_10 extends
return new ByteBufferSender()
{
@Override
+ public boolean isDirectBufferPreferred()
+ {
+ return sender.isDirectBufferPreferred();
+ }
+
+ @Override
public void send(final QpidByteBuffer msg)
{
updateLastWriteTime();
Modified: qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/MessageMetaData.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/MessageMetaData.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/MessageMetaData.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/MessageMetaData.java Thu Jan 28 22:57:49 2016
@@ -140,6 +140,12 @@ public class MessageMetaData implements
_contentHeaderBody.writePayload(new ByteBufferSender()
{
@Override
+ public boolean isDirectBufferPreferred()
+ {
+ return true;
+ }
+
+ @Override
public void send(final QpidByteBuffer msg)
{
buffers.add(msg.duplicate());
Modified: qpid/java/trunk/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java (original)
+++ qpid/java/trunk/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java Thu Jan 28 22:57:49 2016
@@ -365,6 +365,12 @@ class WebSocketProvider implements Accep
}
@Override
+ public boolean isDirectBufferPreferred()
+ {
+ return false;
+ }
+
+ @Override
public void send(final QpidByteBuffer msg)
{
if (msg.remaining() > 0)
Modified: qpid/java/trunk/client/src/test/java/org/apache/qpid/client/transport/TestNetworkConnection.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/client/src/test/java/org/apache/qpid/client/transport/TestNetworkConnection.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/client/src/test/java/org/apache/qpid/client/transport/TestNetworkConnection.java (original)
+++ qpid/java/trunk/client/src/test/java/org/apache/qpid/client/transport/TestNetworkConnection.java Thu Jan 28 22:57:49 2016
@@ -20,6 +20,8 @@
*/
package org.apache.qpid.client.transport;
+import static org.mockito.Mockito.mock;
+
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.nio.ByteBuffer;
@@ -40,11 +42,11 @@ public class TestNetworkConnection imple
private int _port = 1;
private SocketAddress _localAddress = null;
private SocketAddress _remoteAddress = null;
- private final MockSender _sender;
+ private final ByteBufferSender _sender;
public TestNetworkConnection()
{
- _sender = new MockSender();
+ _sender = mock(ByteBufferSender.class);
}
Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/bytebuffer/QpidByteBuffer.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/bytebuffer/QpidByteBuffer.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/common/src/main/java/org/apache/qpid/bytebuffer/QpidByteBuffer.java (original)
+++ qpid/java/trunk/common/src/main/java/org/apache/qpid/bytebuffer/QpidByteBuffer.java Thu Jan 28 22:57:49 2016
@@ -464,6 +464,11 @@ public final class QpidByteBuffer
}
+ public static QpidByteBuffer allocate(boolean direct, int size)
+ {
+ return direct ? allocateDirect(size) : allocate(size);
+ }
+
public static QpidByteBuffer allocate(int size)
{
return new QpidByteBuffer(new NonPooledByteBufferRef(ByteBuffer.allocate(size)));
Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/AMQFrame.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/AMQFrame.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/AMQFrame.java (original)
+++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/AMQFrame.java Thu Jan 28 22:57:49 2016
@@ -58,7 +58,7 @@ public class AMQFrame extends AMQDataBlo
@Override
public long writePayload(final ByteBufferSender sender)
{
- QpidByteBuffer frameHeader = QpidByteBuffer.allocateDirect(HEADER_SIZE);
+ QpidByteBuffer frameHeader = QpidByteBuffer.allocate(sender.isDirectBufferPreferred(), HEADER_SIZE);
frameHeader.put(_bodyFrame.getFrameType());
frameHeader.putUnsignedShort(_channel);
Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/AMQMethodBodyImpl.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/AMQMethodBodyImpl.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/AMQMethodBodyImpl.java (original)
+++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/AMQMethodBodyImpl.java Thu Jan 28 22:57:49 2016
@@ -74,7 +74,7 @@ public abstract class AMQMethodBodyImpl
{
final int size = getSize();
- QpidByteBuffer buf = QpidByteBuffer.allocateDirect(size);
+ QpidByteBuffer buf = QpidByteBuffer.allocate(sender.isDirectBufferPreferred(), size);
buf.putUnsignedShort(getClazz());
buf.putUnsignedShort(getMethod());
writeMethodPayload(buf);
Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/BasicContentHeaderProperties.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/BasicContentHeaderProperties.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/BasicContentHeaderProperties.java (original)
+++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/BasicContentHeaderProperties.java Thu Jan 28 22:57:49 2016
@@ -467,7 +467,7 @@ public class BasicContentHeaderPropertie
else
{
int propertyListSize = getPropertyListSize();
- QpidByteBuffer buf = QpidByteBuffer.allocateDirect(propertyListSize);
+ QpidByteBuffer buf = QpidByteBuffer.allocate(sender.isDirectBufferPreferred(), propertyListSize);
writePropertyListPayload(buf);
buf.flip();
sender.send(buf);
Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/ContentHeaderBody.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/ContentHeaderBody.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/ContentHeaderBody.java (original)
+++ qpid/java/trunk/common/src/main/java/org/apache/qpid/framing/ContentHeaderBody.java Thu Jan 28 22:57:49 2016
@@ -92,7 +92,7 @@ public class ContentHeaderBody implement
@Override
public long writePayload(final ByteBufferSender sender)
{
- QpidByteBuffer data = QpidByteBuffer.allocateDirect(HEADER_SIZE);
+ QpidByteBuffer data = QpidByteBuffer.allocate(sender.isDirectBufferPreferred(), HEADER_SIZE);
data.putUnsignedShort(CLASS_ID);
data.putUnsignedShort(0);
data.putLong(_bodySize);
Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/ByteBufferSender.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/ByteBufferSender.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/ByteBufferSender.java (original)
+++ qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/ByteBufferSender.java Thu Jan 28 22:57:49 2016
@@ -24,6 +24,7 @@ import org.apache.qpid.bytebuffer.QpidBy
public interface ByteBufferSender
{
+ boolean isDirectBufferPreferred();
void send(QpidByteBuffer msg);
Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/network/io/IoSender.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/network/io/IoSender.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/network/io/IoSender.java (original)
+++ qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/network/io/IoSender.java Thu Jan 28 22:57:49 2016
@@ -117,6 +117,12 @@ public final class IoSender implements R
return result;
}
+ @Override
+ public boolean isDirectBufferPreferred()
+ {
+ return false;
+ }
+
public void send(QpidByteBuffer buf)
{
checkNotAlreadyClosed();
Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/network/security/sasl/SASLSender.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/network/security/sasl/SASLSender.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/network/security/sasl/SASLSender.java (original)
+++ qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/network/security/sasl/SASLSender.java Thu Jan 28 22:57:49 2016
@@ -71,6 +71,12 @@ public class SASLSender extends SASLEncr
delegate.flush();
}
+ @Override
+ public boolean isDirectBufferPreferred()
+ {
+ return false;
+ }
+
public void send(QpidByteBuffer buf)
{
if (closed.get())
Modified: qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java (original)
+++ qpid/java/trunk/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java Thu Jan 28 22:57:49 2016
@@ -143,6 +143,12 @@ public class SSLSender implements ByteBu
delegate.flush();
}
+ @Override
+ public boolean isDirectBufferPreferred()
+ {
+ return false;
+ }
+
public void send(QpidByteBuffer appData)
{
appData = appData.duplicate();
Modified: qpid/java/trunk/common/src/test/java/org/apache/qpid/codec/AMQDecoderTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/common/src/test/java/org/apache/qpid/codec/AMQDecoderTest.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/common/src/test/java/org/apache/qpid/codec/AMQDecoderTest.java (original)
+++ qpid/java/trunk/common/src/test/java/org/apache/qpid/codec/AMQDecoderTest.java Thu Jan 28 22:57:49 2016
@@ -248,6 +248,12 @@ public class AMQDecoderTest extends Qpid
private final Collection<QpidByteBuffer> _sentBuffers = new ArrayList<>();
@Override
+ public boolean isDirectBufferPreferred()
+ {
+ return false;
+ }
+
+ @Override
public void send(final QpidByteBuffer msg)
{
_sentBuffers.add(msg.duplicate());
Modified: qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/MaxFrameSizeTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/MaxFrameSizeTest.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/MaxFrameSizeTest.java (original)
+++ qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/MaxFrameSizeTest.java Thu Jan 28 22:57:49 2016
@@ -396,6 +396,12 @@ public class MaxFrameSizeTest extends Qp
}
@Override
+ public boolean isDirectBufferPreferred()
+ {
+ return false;
+ }
+
+ @Override
public void send(final QpidByteBuffer msg)
{
_sentBuffers.add(msg.duplicate());
Modified: qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/ProtocolNegotiationTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/ProtocolNegotiationTest.java?rev=1727449&r1=1727448&r2=1727449&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/ProtocolNegotiationTest.java (original)
+++ qpid/java/trunk/systests/src/test/java/org/apache/qpid/transport/ProtocolNegotiationTest.java Thu Jan 28 22:57:49 2016
@@ -240,6 +240,12 @@ public class ProtocolNegotiationTest ext
}
@Override
+ public boolean isDirectBufferPreferred()
+ {
+ return false;
+ }
+
+ @Override
public void send(final QpidByteBuffer msg)
{
byte[] data = new byte[msg.remaining()];
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org