diff options
| author | Rafael H. Schloming <rhs@apache.org> | 2008-08-08 18:31:18 +0000 |
|---|---|---|
| committer | Rafael H. Schloming <rhs@apache.org> | 2008-08-08 18:31:18 +0000 |
| commit | 258b72de02ef8940262b82eb4419463c4a69fc74 (patch) | |
| tree | 710df65b2c98cd26a007464bc61ce27d567d642f /java/common/src | |
| parent | 004392878a706bbdc119d99b9161cc8ca8c37484 (diff) | |
| download | qpid-python-258b72de02ef8940262b82eb4419463c4a69fc74.tar.gz | |
QPID-1213: simplified unprocessed message and moved version specific code into the _0_8 and _0_10 variants
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@684036 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/src')
6 files changed, 37 insertions, 19 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java b/java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java index 22f66ae556..a8e7f47db0 100644 --- a/java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java +++ b/java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java @@ -111,6 +111,8 @@ public final class AMQShortString implements CharSequence, Comparable<AMQShortSt private final byte[] _data; private final int _offset; private int _hashCode; + private String _asString = null; + private final int _length; private static final char[] EMPTY_CHAR_ARRAY = new char[0]; @@ -137,7 +139,7 @@ public final class AMQShortString implements CharSequence, Comparable<AMQShortSt public AMQShortString(String data) { this((data == null) ? EMPTY_CHAR_ARRAY : data.toCharArray()); - + _asString = data; } public AMQShortString(char[] data) @@ -418,15 +420,14 @@ public final class AMQShortString implements CharSequence, Comparable<AMQShortSt return chars; } - private String str = null; public String asString() { - if (str == null) + if (_asString == null) { - str = new String(asChars()); + _asString = new String(asChars()); } - return str; + return _asString; } public boolean equals(Object o) diff --git a/java/common/src/main/java/org/apache/qpid/transport/Header.java b/java/common/src/main/java/org/apache/qpid/transport/Header.java index 9b6ab4951b..9439e5e0de 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/Header.java +++ b/java/common/src/main/java/org/apache/qpid/transport/Header.java @@ -24,6 +24,8 @@ import org.apache.qpid.transport.network.Frame; import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.LinkedHashMap; import java.nio.ByteBuffer; @@ -35,30 +37,31 @@ import java.nio.ByteBuffer; public class Header { - private final List<Struct> structs; + private final Struct[] structs; public Header(List<Struct> structs) { - this.structs = structs; + this(structs.toArray(new Struct[structs.size()])); } public Header(Struct ... structs) { - this(Arrays.asList(structs)); + this.structs = structs; } - public List<Struct> getStructs() + public Struct[] getStructs() { return structs; } + public <T> T get(Class<T> klass) { for (Struct st : structs) { if (klass.isInstance(st)) { - return klass.cast(st); + return (T) st; } } diff --git a/java/common/src/main/java/org/apache/qpid/transport/Session.java b/java/common/src/main/java/org/apache/qpid/transport/Session.java index 1400bd2e5b..2a4232c425 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/Session.java +++ b/java/common/src/main/java/org/apache/qpid/transport/Session.java @@ -128,8 +128,14 @@ public class Session extends Invoker { int id = nextCommandId(); cmd.setId(id); - log.debug("ID: [%s] %s", this.channel, id); - if ((id % 65536) == 0) + + if(log.isDebugEnabled()) + { + log.debug("ID: [%s] %s", this.channel, id); + } + + //if ((id % 65536) == 0) + if ((id & 0xff) == 0) { flushProcessed(TIMELY_REPLY); } @@ -232,7 +238,11 @@ public class Session extends Invoker boolean complete(int lower, int upper) { - log.debug("%s complete(%d, %d)", this, lower, upper); + //avoid autoboxing + if(log.isDebugEnabled()) + { + log.debug("%s complete(%d, %d)", this, lower, upper); + } synchronized (commands) { int old = maxComplete; diff --git a/java/common/src/main/java/org/apache/qpid/transport/network/Assembler.java b/java/common/src/main/java/org/apache/qpid/transport/network/Assembler.java index b808156dc6..33d552b91e 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/network/Assembler.java +++ b/java/common/src/main/java/org/apache/qpid/transport/network/Assembler.java @@ -200,7 +200,7 @@ public class Assembler implements Receiver<NetworkEvent>, NetworkDelegate break; case HEADER: command = incomplete[channel]; - List<Struct> structs = new ArrayList(); + List<Struct> structs = new ArrayList(2); while (dec.hasRemaining()) { structs.add(dec.readStruct32()); diff --git a/java/common/src/main/java/org/apache/qpid/transport/network/Disassembler.java b/java/common/src/main/java/org/apache/qpid/transport/network/Disassembler.java index 007167115b..bb7d2506e3 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/network/Disassembler.java +++ b/java/common/src/main/java/org/apache/qpid/transport/network/Disassembler.java @@ -34,7 +34,6 @@ import org.apache.qpid.transport.Struct; import java.nio.ByteBuffer; import java.nio.ByteOrder; -import java.util.List; import static org.apache.qpid.transport.network.Frame.*; @@ -209,11 +208,11 @@ public final class Disassembler implements Sender<ProtocolEvent>, if (payload) { final Header hdr = method.getHeader(); - final List<Struct> structs = hdr.getStructs(); - final int nstructs = structs.size(); - for (int i = 0; i < nstructs; i++) + final Struct[] structs = hdr.getStructs(); + + for (Struct st : structs) { - enc.writeStruct32(structs.get(i)); + enc.writeStruct32(st); } headerSeg = enc.segment(); } diff --git a/java/common/src/main/java/org/apache/qpid/transport/util/Logger.java b/java/common/src/main/java/org/apache/qpid/transport/util/Logger.java index 77f592b6c6..8c4818df92 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/util/Logger.java +++ b/java/common/src/main/java/org/apache/qpid/transport/util/Logger.java @@ -42,6 +42,11 @@ public final class Logger this.log = log; } + public boolean isDebugEnabled() + { + return log.isDebugEnabled(); + } + public void debug(String message, Object ... args) { if (log.isDebugEnabled()) |
