From 2061d28e52c924cb82c05a3bed81848fffe5edcf Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Tue, 9 Jul 2013 16:36:15 +0200 Subject: [PATCH] Use direct byte buffers instead of normal ones in niowrapper --- .../com/google/bitcoin/protocols/niowrapper/ProtobufClient.java | 2 +- .../com/google/bitcoin/protocols/niowrapper/ProtobufServer.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/google/bitcoin/protocols/niowrapper/ProtobufClient.java b/core/src/main/java/com/google/bitcoin/protocols/niowrapper/ProtobufClient.java index d1c412b2..875534ab 100644 --- a/core/src/main/java/com/google/bitcoin/protocols/niowrapper/ProtobufClient.java +++ b/core/src/main/java/com/google/bitcoin/protocols/niowrapper/ProtobufClient.java @@ -53,7 +53,7 @@ public class ProtobufClient extends MessageWriteTarget { final int connectTimeoutMillis) throws IOException { // Try to fit at least one message in the network buffer, but place an upper and lower limit on its size to make // sure it doesnt get too large or have to call read too often. - dbuf = ByteBuffer.allocate(Math.min(Math.max(parser.maxMessageSize, BUFFER_SIZE_LOWER_BOUND), BUFFER_SIZE_UPPER_BOUND)); + dbuf = ByteBuffer.allocateDirect(Math.min(Math.max(parser.maxMessageSize, BUFFER_SIZE_LOWER_BOUND), BUFFER_SIZE_UPPER_BOUND)); parser.setWriteTarget(this); sc = SocketChannel.open(); diff --git a/core/src/main/java/com/google/bitcoin/protocols/niowrapper/ProtobufServer.java b/core/src/main/java/com/google/bitcoin/protocols/niowrapper/ProtobufServer.java index e4a95f78..cac5e57d 100644 --- a/core/src/main/java/com/google/bitcoin/protocols/niowrapper/ProtobufServer.java +++ b/core/src/main/java/com/google/bitcoin/protocols/niowrapper/ProtobufServer.java @@ -64,7 +64,7 @@ public class ProtobufServer { throw new IOException("Parser factory.getNewParser returned null"); } this.parser = newParser; - dbuf = ByteBuffer.allocate(Math.min(Math.max(newParser.maxMessageSize, BUFFER_SIZE_LOWER_BOUND), BUFFER_SIZE_UPPER_BOUND)); + dbuf = ByteBuffer.allocateDirect(Math.min(Math.max(newParser.maxMessageSize, BUFFER_SIZE_LOWER_BOUND), BUFFER_SIZE_UPPER_BOUND)); newParser.setWriteTarget(this); }