You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2018/01/10 18:07:37 UTC
[1/2] qpid-proton-j git commit: PROTON-1737: add option to allow
configuring max frame size when using the reactor
Repository: qpid-proton-j
Updated Branches:
refs/heads/master 17cef9ace -> 6fa847b1e
PROTON-1737: add option to allow configuring max frame size when using the reactor
Project: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/commit/b2e776d9
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/tree/b2e776d9
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/diff/b2e776d9
Branch: refs/heads/master
Commit: b2e776d9b9f1645f72309d36b3bda572604b3339
Parents: 17cef9a
Author: Robbie Gemmell <ro...@apache.org>
Authored: Wed Jan 10 13:14:30 2018 +0000
Committer: Robbie Gemmell <ro...@apache.org>
Committed: Wed Jan 10 13:14:30 2018 +0000
----------------------------------------------------------------------
.../qpid/proton/reactor/ReactorOptions.java | 20 ++++++++++++++++++++
.../qpid/proton/reactor/impl/AcceptorImpl.java | 6 ++++++
.../qpid/proton/reactor/impl/IOHandler.java | 5 +++++
3 files changed, 31 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/b2e776d9/proton-j/src/main/java/org/apache/qpid/proton/reactor/ReactorOptions.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/reactor/ReactorOptions.java b/proton-j/src/main/java/org/apache/qpid/proton/reactor/ReactorOptions.java
index 5863f7c..8957aa6 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/reactor/ReactorOptions.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/reactor/ReactorOptions.java
@@ -22,6 +22,7 @@ package org.apache.qpid.proton.reactor;
public class ReactorOptions {
private boolean enableSaslByDefault = true;
+ private int maxFrameSize;
/**
* Sets whether SASL will be automatically enabled with ANONYMOUS as the mechanism,
@@ -46,4 +47,23 @@ public class ReactorOptions {
public boolean isEnableSaslByDefault() {
return this.enableSaslByDefault;
}
+
+ /**
+ * Sets the maximum frame size value to announce in the Open frame.
+ *
+ * @param maxFrameSize The frame size in bytes.
+ */
+ public void setMaxFrameSize(int maxFrameSize) {
+ this.maxFrameSize = maxFrameSize;
+ }
+
+ /**
+ * Gets the maximum frame size to be announced in the Open frame.
+ *
+ * @return the frame size in bytes or 0 if none is set.
+ * @see #setMaxFrameSize(int)
+ */
+ public int getMaxFrameSize() {
+ return maxFrameSize;
+ }
}
http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/b2e776d9/proton-j/src/main/java/org/apache/qpid/proton/reactor/impl/AcceptorImpl.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/reactor/impl/AcceptorImpl.java b/proton-j/src/main/java/org/apache/qpid/proton/reactor/impl/AcceptorImpl.java
index 7275113..eec8e70 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/reactor/impl/AcceptorImpl.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/reactor/impl/AcceptorImpl.java
@@ -73,6 +73,12 @@ public class AcceptorImpl implements Acceptor {
conn_recs.set(ReactorImpl.CONNECTION_PEER_ADDRESS_KEY, Address.class, addr);
}
Transport trans = Proton.transport();
+
+ int maxFrameSizeOption = reactor.getOptions().getMaxFrameSize();
+ if (maxFrameSizeOption != 0) {
+ trans.setMaxFrameSize(maxFrameSizeOption);
+ }
+
if(reactor.getOptions().isEnableSaslByDefault()) {
Sasl sasl = trans.sasl();
sasl.server();
http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/b2e776d9/proton-j/src/main/java/org/apache/qpid/proton/reactor/impl/IOHandler.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/reactor/impl/IOHandler.java b/proton-j/src/main/java/org/apache/qpid/proton/reactor/impl/IOHandler.java
index 0594d32..81b85ff 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/reactor/impl/IOHandler.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/reactor/impl/IOHandler.java
@@ -101,6 +101,11 @@ public class IOHandler extends BaseHandler {
}
Transport transport = Proton.transport();
+ int maxFrameSizeOption = reactor.getOptions().getMaxFrameSize();
+ if (maxFrameSizeOption != 0) {
+ transport.setMaxFrameSize(maxFrameSizeOption);
+ }
+
if (reactor.getOptions().isEnableSaslByDefault()) {
Sasl sasl = transport.sasl();
sasl.client();
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[2/2] qpid-proton-j git commit: PROTON-1739: remove default for
session capacity and avoid confusing window interaction when setting frame
size
Posted by ro...@apache.org.
PROTON-1739: remove default for session capacity and avoid confusing window interaction when setting frame size
Project: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/commit/6fa847b1
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/tree/6fa847b1
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/diff/6fa847b1
Branch: refs/heads/master
Commit: 6fa847b1ef9de9d0accffeecdd1e5525167235d6
Parents: b2e776d
Author: Robbie Gemmell <ro...@apache.org>
Authored: Wed Jan 10 18:07:00 2018 +0000
Committer: Robbie Gemmell <ro...@apache.org>
Committed: Wed Jan 10 18:07:00 2018 +0000
----------------------------------------------------------------------
.../java/org/apache/qpid/proton/engine/impl/SessionImpl.java | 2 +-
.../org/apache/qpid/proton/engine/impl/TransportSession.java | 8 +++++---
2 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/6fa847b1/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/SessionImpl.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/SessionImpl.java b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/SessionImpl.java
index c7b796d..865229b 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/SessionImpl.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/SessionImpl.java
@@ -40,7 +40,7 @@ public class SessionImpl extends EndpointImpl implements ProtonJSession
private Map<String, ReceiverImpl> _receivers = new LinkedHashMap<String, ReceiverImpl>();
private List<LinkImpl> _oldLinksToFree = new ArrayList<LinkImpl>();
private TransportSession _transportSession;
- private int _incomingCapacity = 1024*1024;
+ private int _incomingCapacity = 0;
private int _incomingBytes = 0;
private int _outgoingBytes = 0;
private int _incomingDeliveries = 0;
http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/6fa847b1/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportSession.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportSession.java b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportSession.java
index d9c1083..a09889e 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportSession.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportSession.java
@@ -35,6 +35,7 @@ import org.apache.qpid.proton.engine.Event;
class TransportSession
{
private static final int HANDLE_MAX = 65535;
+ private static final UnsignedInteger DEFAULT_WINDOW_SIZE = UnsignedInteger.valueOf(2147483647); // biggest legal value
private final TransportImpl _transport;
private final SessionImpl _session;
@@ -181,11 +182,12 @@ class TransportSession
void updateIncomingWindow()
{
+ int incomingCapacity = _session.getIncomingCapacity();
int size = _transport.getMaxFrameSize();
- if (size <= 0) {
- _incomingWindowSize = UnsignedInteger.valueOf(2147483647); // biggest legal value
+ if (incomingCapacity <= 0 || size <= 0) {
+ _incomingWindowSize = DEFAULT_WINDOW_SIZE;
} else {
- _incomingWindowSize = UnsignedInteger.valueOf((_session.getIncomingCapacity() - _session.getIncomingBytes())/size);
+ _incomingWindowSize = UnsignedInteger.valueOf((incomingCapacity - _session.getIncomingBytes())/size);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org