You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2016/12/08 18:41:54 UTC
[2/3] mina git commit: o Fixed some missing Javadoc o Fixed numerous
Sonarlint issues
o Fixed some missing Javadoc
o Fixed numerous Sonarlint issues
Project: http://git-wip-us.apache.org/repos/asf/mina/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina/commit/a9c468fb
Tree: http://git-wip-us.apache.org/repos/asf/mina/tree/a9c468fb
Diff: http://git-wip-us.apache.org/repos/asf/mina/diff/a9c468fb
Branch: refs/heads/2.0
Commit: a9c468fb4ec72ff1b8f275f5f5f4a35aaac66359
Parents: f103176
Author: Emmanuel L�charny <el...@symas.com>
Authored: Thu Dec 8 10:28:41 2016 +0100
Committer: Emmanuel L�charny <el...@symas.com>
Committed: Thu Dec 8 19:41:15 2016 +0100
----------------------------------------------------------------------
.../filter/codec/CumulativeProtocolDecoder.java | 7 +-
.../mina/filter/codec/ProtocolCodecFilter.java | 43 ++++++++++++
.../mina/filter/codec/ProtocolCodecSession.java | 8 +++
.../filter/codec/ProtocolDecoderAdapter.java | 2 +
.../filter/codec/ProtocolEncoderAdapter.java | 1 +
.../codec/SynchronizedProtocolDecoder.java | 6 ++
.../codec/SynchronizedProtocolEncoder.java | 2 +
.../ObjectSerializationCodecFactory.java | 2 +
.../ObjectSerializationEncoder.java | 1 +
.../ObjectSerializationInputStream.java | 22 +++++-
.../ObjectSerializationOutputStream.java | 12 ++++
.../ConsumeToCrLfDecodingState.java | 5 ++
...ConsumeToDynamicTerminatorDecodingState.java | 2 +
.../ConsumeToEndOfSessionDecodingState.java | 2 +
.../ConsumeToTerminatorDecodingState.java | 2 +
.../codec/statemachine/CrLfDecodingState.java | 2 +
.../statemachine/DecodingStateMachine.java | 12 +++-
.../DecodingStateProtocolDecoder.java | 7 +-
.../statemachine/FixedLengthDecodingState.java | 7 ++
.../statemachine/IntegerDecodingState.java | 2 +
.../statemachine/ShortIntegerDecodingState.java | 22 +++---
.../statemachine/SingleByteDecodingState.java | 6 +-
.../codec/statemachine/SkippingState.java | 5 ++
.../codec/textline/TextLineCodecFactory.java | 2 +
.../filter/codec/textline/TextLineDecoder.java | 5 +-
.../filter/codec/textline/TextLineEncoder.java | 3 +-
.../errorgenerating/ErrorGeneratingFilter.java | 53 ++++++++++----
.../executor/DefaultIoEventSizeEstimator.java | 5 +-
.../mina/filter/executor/ExecutorFilter.java | 60 ++++++++--------
.../filter/executor/IoEventQueueHandler.java | 12 ++++
.../filter/executor/IoEventQueueThrottle.java | 43 +++++++++++-
.../executor/OrderedThreadPoolExecutor.java | 35 ++++------
.../executor/UnorderedThreadPoolExecutor.java | 73 ++++++++++++++++++--
.../filter/executor/WriteRequestFilter.java | 7 ++
.../mina/filter/logging/MdcInjectionFilter.java | 59 ++++++++++++++--
.../stream/AbstractStreamWriteFilter.java | 34 +++++++--
.../filter/stream/FileRegionWriteFilter.java | 9 ++-
.../mina/filter/stream/StreamWriteFilter.java | 13 ++--
.../mina/filter/util/CommonEventFilter.java | 32 +++++++--
.../org/apache/mina/filter/util/NoopFilter.java | 6 --
.../filter/util/ReferenceCountingFilter.java | 65 ++++++++++++++---
.../SessionAttributeInitializingFilter.java | 11 ++-
.../mina/filter/util/WriteRequestFilter.java | 10 +++
43 files changed, 579 insertions(+), 138 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/CumulativeProtocolDecoder.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/CumulativeProtocolDecoder.java b/mina-core/src/main/java/org/apache/mina/filter/codec/CumulativeProtocolDecoder.java
index e950303..fc3ace9 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/CumulativeProtocolDecoder.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/CumulativeProtocolDecoder.java
@@ -100,7 +100,7 @@ import org.apache.mina.core.session.IoSession;
*/
public abstract class CumulativeProtocolDecoder extends ProtocolDecoderAdapter {
/** The buffer used to store the data in the session */
- private final AttributeKey BUFFER = new AttributeKey(getClass(), "buffer");
+ private static final AttributeKey BUFFER = new AttributeKey(CumulativeProtocolDecoder.class, "buffer");
/** A flag set to true if we handle fragmentation accordingly to the TransportMetadata setting.
* It can be set to false if needed (UDP with fragments, for instance). the default value is 'true'
@@ -125,6 +125,7 @@ public abstract class CumulativeProtocolDecoder extends ProtocolDecoderAdapter {
* if your <tt>doDecode()</tt> returned <tt>true</tt> not
* consuming the cumulative buffer.
*/
+ @Override
public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
if (transportMetadataFragmentation && !session.getTransportMetadata().hasFragmentation()) {
while (in.hasRemaining()) {
@@ -147,11 +148,9 @@ public abstract class CumulativeProtocolDecoder extends ProtocolDecoderAdapter {
try {
buf.put(in);
appended = true;
- } catch (IllegalStateException e) {
+ } catch (IllegalStateException | IndexOutOfBoundsException e) {
// A user called derivation method (e.g. slice()),
// which disables auto-expansion of the parent buffer.
- } catch (IndexOutOfBoundsException e) {
- // A user disabled auto-expansion.
}
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
index 1f47928..97a76ea 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
@@ -98,10 +98,18 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
// Create the inner Factory based on the two parameters
this.factory = new ProtocolCodecFactory() {
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public ProtocolEncoder getEncoder(IoSession session) {
return encoder;
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public ProtocolDecoder getDecoder(IoSession session) {
return decoder;
}
@@ -160,10 +168,18 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
// Create the inner factory based on the two parameters.
this.factory = new ProtocolCodecFactory() {
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public ProtocolEncoder getEncoder(IoSession session) throws Exception {
return encoder;
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public ProtocolDecoder getDecoder(IoSession session) throws Exception {
return decoder;
}
@@ -180,6 +196,9 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
return (ProtocolEncoder) session.getAttribute(ENCODER);
}
+ /**
+ * {@inheritDoc}
+ */
@Override
public void onPreAdd(IoFilterChain parent, String name, NextFilter nextFilter) throws Exception {
if (parent.contains(this)) {
@@ -188,6 +207,9 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
}
}
+ /**
+ * {@inheritDoc}
+ */
@Override
public void onPostRemove(IoFilterChain parent, String name, NextFilter nextFilter) throws Exception {
// Clean everything
@@ -260,6 +282,9 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
}
}
+ /**
+ * {@inheritDoc}
+ */
@Override
public void messageSent(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception {
if (writeRequest instanceof EncodedWriteRequest) {
@@ -274,6 +299,9 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
}
}
+ /**
+ * {@inheritDoc}
+ */
@Override
public void filterWrite(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception {
Object message = writeRequest.getMessage();
@@ -334,6 +362,9 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
}
}
+ /**
+ * {@inheritDoc}
+ */
@Override
public void sessionClosed(NextFilter nextFilter, IoSession session) throws Exception {
// Call finishDecode() first when a connection is closed.
@@ -365,6 +396,10 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
super(encodedMessage, future, destination);
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public boolean isEncoded() {
return true;
}
@@ -391,6 +426,10 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
// Do nothing
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public void flush(NextFilter nextFilter, IoSession session) {
Queue<Object> messageQueue = getMessageQueue();
@@ -416,6 +455,10 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
destination = writeRequest.getDestination();
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public WriteFuture flush() {
Queue<Object> bufferQueue = getMessageQueue();
WriteFuture future = null;
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecSession.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecSession.java b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecSession.java
index 4ef234a..2b5f89c 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecSession.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecSession.java
@@ -63,12 +63,20 @@ public class ProtocolCodecSession extends DummySession {
new UnsupportedOperationException());
private final AbstractProtocolEncoderOutput encoderOutput = new AbstractProtocolEncoderOutput() {
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public WriteFuture flush() {
return notWrittenFuture;
}
};
private final AbstractProtocolDecoderOutput decoderOutput = new AbstractProtocolDecoderOutput() {
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public void flush(NextFilter nextFilter, IoSession session) {
// Do nothing
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolDecoderAdapter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolDecoderAdapter.java b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolDecoderAdapter.java
index d4eea25..7bb6147 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolDecoderAdapter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolDecoderAdapter.java
@@ -34,6 +34,7 @@ public abstract class ProtocolDecoderAdapter implements ProtocolDecoder {
* Override this method to deal with the closed connection.
* The default implementation does nothing.
*/
+ @Override
public void finishDecode(IoSession session, ProtocolDecoderOutput out) throws Exception {
// Do nothing
}
@@ -42,6 +43,7 @@ public abstract class ProtocolDecoderAdapter implements ProtocolDecoder {
* Override this method to dispose all resources related with this decoder.
* The default implementation does nothing.
*/
+ @Override
public void dispose(IoSession session) throws Exception {
// Do nothing
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolEncoderAdapter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolEncoderAdapter.java b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolEncoderAdapter.java
index 2f62ba5..dd32171 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolEncoderAdapter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolEncoderAdapter.java
@@ -32,6 +32,7 @@ public abstract class ProtocolEncoderAdapter implements ProtocolEncoder {
* Override this method dispose all resources related with this encoder.
* The default implementation does nothing.
*/
+ @Override
public void dispose(IoSession session) throws Exception {
// Do nothing
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolDecoder.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolDecoder.java b/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolDecoder.java
index 6cb1d69..eda5dbe 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolDecoder.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolDecoder.java
@@ -56,6 +56,10 @@ public class SynchronizedProtocolDecoder implements ProtocolDecoder {
return decoder;
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
synchronized (decoder) {
decoder.decode(session, in, out);
@@ -65,6 +69,7 @@ public class SynchronizedProtocolDecoder implements ProtocolDecoder {
/**
* {@inheritDoc}
*/
+ @Override
public void finishDecode(IoSession session, ProtocolDecoderOutput out) throws Exception {
synchronized (decoder) {
decoder.finishDecode(session, out);
@@ -74,6 +79,7 @@ public class SynchronizedProtocolDecoder implements ProtocolDecoder {
/**
* {@inheritDoc}
*/
+ @Override
public void dispose(IoSession session) throws Exception {
synchronized (decoder) {
decoder.dispose(session);
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolEncoder.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolEncoder.java b/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolEncoder.java
index 49c7c66..21d40cf 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolEncoder.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolEncoder.java
@@ -55,6 +55,7 @@ public class SynchronizedProtocolEncoder implements ProtocolEncoder {
/**
* {@inheritDoc}
*/
+ @Override
public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception {
synchronized (encoder) {
encoder.encode(session, message, out);
@@ -64,6 +65,7 @@ public class SynchronizedProtocolEncoder implements ProtocolEncoder {
/**
* {@inheritDoc}
*/
+ @Override
public void dispose(IoSession session) throws Exception {
synchronized (encoder) {
encoder.dispose(session);
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationCodecFactory.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationCodecFactory.java b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationCodecFactory.java
index fefe24e..ac91cad 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationCodecFactory.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationCodecFactory.java
@@ -58,6 +58,7 @@ public class ObjectSerializationCodecFactory implements ProtocolCodecFactory {
/**
* {@inheritDoc}
*/
+ @Override
public ProtocolEncoder getEncoder(IoSession session) {
return encoder;
}
@@ -65,6 +66,7 @@ public class ObjectSerializationCodecFactory implements ProtocolCodecFactory {
/**
* {@inheritDoc}
*/
+ @Override
public ProtocolDecoder getDecoder(IoSession session) {
return decoder;
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationEncoder.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationEncoder.java b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationEncoder.java
index 93fe4ee..70fdf16 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationEncoder.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationEncoder.java
@@ -73,6 +73,7 @@ public class ObjectSerializationEncoder extends ProtocolEncoderAdapter {
/**
* {@inheritDoc}
*/
+ @Override
public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception {
if (!(message instanceof Serializable)) {
throw new NotSerializableException();
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationInputStream.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationInputStream.java b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationInputStream.java
index d96ea8f..5da80cf 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationInputStream.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationInputStream.java
@@ -62,7 +62,9 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
}
if (classLoader == null) {
- classLoader = Thread.currentThread().getContextClassLoader();
+ this.classLoader = Thread.currentThread().getContextClassLoader();
+ } else {
+ this.classLoader = classLoader;
}
if (in instanceof DataInputStream) {
@@ -70,8 +72,6 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
} else {
this.in = new DataInputStream(in);
}
-
- this.classLoader = classLoader;
}
/**
@@ -111,6 +111,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
/**
* {@inheritDoc}
*/
+ @Override
public Object readObject() throws ClassNotFoundException, IOException {
int objectSize = in.readInt();
if (objectSize <= 0) {
@@ -133,6 +134,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
/**
* {@inheritDoc}
*/
+ @Override
public boolean readBoolean() throws IOException {
return in.readBoolean();
}
@@ -140,6 +142,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
/**
* {@inheritDoc}
*/
+ @Override
public byte readByte() throws IOException {
return in.readByte();
}
@@ -147,6 +150,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
/**
* {@inheritDoc}
*/
+ @Override
public char readChar() throws IOException {
return in.readChar();
}
@@ -154,6 +158,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
/**
* {@inheritDoc}
*/
+ @Override
public double readDouble() throws IOException {
return in.readDouble();
}
@@ -161,6 +166,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
/**
* {@inheritDoc}
*/
+ @Override
public float readFloat() throws IOException {
return in.readFloat();
}
@@ -168,6 +174,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
/**
* {@inheritDoc}
*/
+ @Override
public void readFully(byte[] b) throws IOException {
in.readFully(b);
}
@@ -175,6 +182,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
/**
* {@inheritDoc}
*/
+ @Override
public void readFully(byte[] b, int off, int len) throws IOException {
in.readFully(b, off, len);
}
@@ -182,6 +190,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
/**
* {@inheritDoc}
*/
+ @Override
public int readInt() throws IOException {
return in.readInt();
}
@@ -191,6 +200,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
* @deprecated Bytes are not properly converted to chars
*/
@Deprecated
+ @Override
public String readLine() throws IOException {
return in.readLine();
}
@@ -198,6 +208,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
/**
* {@inheritDoc}
*/
+ @Override
public long readLong() throws IOException {
return in.readLong();
}
@@ -205,6 +216,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
/**
* {@inheritDoc}
*/
+ @Override
public short readShort() throws IOException {
return in.readShort();
}
@@ -212,6 +224,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
/**
* {@inheritDoc}
*/
+ @Override
public String readUTF() throws IOException {
return in.readUTF();
}
@@ -219,6 +232,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
/**
* {@inheritDoc}
*/
+ @Override
public int readUnsignedByte() throws IOException {
return in.readUnsignedByte();
}
@@ -226,6 +240,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
/**
* {@inheritDoc}
*/
+ @Override
public int readUnsignedShort() throws IOException {
return in.readUnsignedShort();
}
@@ -233,6 +248,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
/**
* {@inheritDoc}
*/
+ @Override
public int skipBytes(int n) throws IOException {
return in.skipBytes(n);
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationOutputStream.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationOutputStream.java b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationOutputStream.java
index 8243e75..c5e8898 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationOutputStream.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationOutputStream.java
@@ -123,6 +123,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
/**
* {@inheritDoc}
*/
+ @Override
public void writeObject(Object obj) throws IOException {
IoBuffer buf = IoBuffer.allocate(64, false);
buf.setAutoExpand(true);
@@ -140,6 +141,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
/**
* {@inheritDoc}
*/
+ @Override
public void writeBoolean(boolean v) throws IOException {
out.writeBoolean(v);
}
@@ -147,6 +149,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
/**
* {@inheritDoc}
*/
+ @Override
public void writeByte(int v) throws IOException {
out.writeByte(v);
}
@@ -154,6 +157,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
/**
* {@inheritDoc}
*/
+ @Override
public void writeBytes(String s) throws IOException {
out.writeBytes(s);
}
@@ -161,6 +165,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
/**
* {@inheritDoc}
*/
+ @Override
public void writeChar(int v) throws IOException {
out.writeChar(v);
}
@@ -168,6 +173,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
/**
* {@inheritDoc}
*/
+ @Override
public void writeChars(String s) throws IOException {
out.writeChars(s);
}
@@ -175,6 +181,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
/**
* {@inheritDoc}
*/
+ @Override
public void writeDouble(double v) throws IOException {
out.writeDouble(v);
}
@@ -182,6 +189,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
/**
* {@inheritDoc}
*/
+ @Override
public void writeFloat(float v) throws IOException {
out.writeFloat(v);
}
@@ -189,6 +197,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
/**
* {@inheritDoc}
*/
+ @Override
public void writeInt(int v) throws IOException {
out.writeInt(v);
}
@@ -196,6 +205,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
/**
* {@inheritDoc}
*/
+ @Override
public void writeLong(long v) throws IOException {
out.writeLong(v);
}
@@ -203,6 +213,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
/**
* {@inheritDoc}
*/
+ @Override
public void writeShort(int v) throws IOException {
out.writeShort(v);
}
@@ -210,6 +221,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
/**
* {@inheritDoc}
*/
+ @Override
public void writeUTF(String str) throws IOException {
out.writeUTF(str);
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToCrLfDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToCrLfDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToCrLfDecodingState.java
index ca08ac4..49b9294 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToCrLfDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToCrLfDecodingState.java
@@ -51,6 +51,10 @@ public abstract class ConsumeToCrLfDecodingState implements DecodingState {
// Do nothing
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
int beginPos = in.position();
int limit = in.limit();
@@ -118,6 +122,7 @@ public abstract class ConsumeToCrLfDecodingState implements DecodingState {
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
IoBuffer product;
// When input contained only CR or LF rather than actual data...
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToDynamicTerminatorDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToDynamicTerminatorDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToDynamicTerminatorDecodingState.java
index 0c5ca4b..06f9903 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToDynamicTerminatorDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToDynamicTerminatorDecodingState.java
@@ -35,6 +35,7 @@ public abstract class ConsumeToDynamicTerminatorDecodingState implements Decodin
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
int beginPos = in.position();
int terminatorPos = -1;
@@ -87,6 +88,7 @@ public abstract class ConsumeToDynamicTerminatorDecodingState implements Decodin
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
IoBuffer product;
// When input contained only terminator rather than actual data...
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToEndOfSessionDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToEndOfSessionDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToEndOfSessionDecodingState.java
index a9847b8..f53fe21 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToEndOfSessionDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToEndOfSessionDecodingState.java
@@ -49,6 +49,7 @@ public abstract class ConsumeToEndOfSessionDecodingState implements DecodingStat
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
if (buffer == null) {
buffer = IoBuffer.allocate(256).setAutoExpand(true);
@@ -64,6 +65,7 @@ public abstract class ConsumeToEndOfSessionDecodingState implements DecodingStat
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
try {
if (buffer == null) {
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToTerminatorDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToTerminatorDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToTerminatorDecodingState.java
index ef6538c..a3afd62 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToTerminatorDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToTerminatorDecodingState.java
@@ -46,6 +46,7 @@ public abstract class ConsumeToTerminatorDecodingState implements DecodingState
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
int terminatorPos = in.indexOf(terminator);
@@ -90,6 +91,7 @@ public abstract class ConsumeToTerminatorDecodingState implements DecodingState
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
IoBuffer product;
// When input contained only terminator rather than actual data...
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/CrLfDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/CrLfDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/CrLfDecodingState.java
index c6fd00b..0d9ce1a 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/CrLfDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/CrLfDecodingState.java
@@ -50,6 +50,7 @@ public abstract class CrLfDecodingState implements DecodingState {
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
boolean found = false;
boolean finished = false;
@@ -90,6 +91,7 @@ public abstract class CrLfDecodingState implements DecodingState {
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
return finishDecode(false, out);
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateMachine.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateMachine.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateMachine.java
index 2acec27..0e8e57f 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateMachine.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateMachine.java
@@ -50,13 +50,21 @@ import org.slf4j.LoggerFactory;
public abstract class DecodingStateMachine implements DecodingState {
private final Logger log = LoggerFactory.getLogger(DecodingStateMachine.class);
- private final List<Object> childProducts = new ArrayList<Object>();
+ private final List<Object> childProducts = new ArrayList<>();
private final ProtocolDecoderOutput childOutput = new ProtocolDecoderOutput() {
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public void flush(NextFilter nextFilter, IoSession session) {
// Do nothing
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public void write(Object message) {
childProducts.add(message);
}
@@ -99,6 +107,7 @@ public abstract class DecodingStateMachine implements DecodingState {
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
DecodingState state = getCurrentState();
@@ -146,6 +155,7 @@ public abstract class DecodingStateMachine implements DecodingState {
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
DecodingState nextState;
DecodingState state = getCurrentState();
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java
index 4c6fbbd..86bb5b3 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java
@@ -40,7 +40,7 @@ import org.apache.mina.filter.codec.ProtocolDecoderOutput;
public class DecodingStateProtocolDecoder implements ProtocolDecoder {
private final DecodingState state;
- private final Queue<IoBuffer> undecodedBuffers = new ConcurrentLinkedQueue<IoBuffer>();
+ private final Queue<IoBuffer> undecodedBuffers = new ConcurrentLinkedQueue<>();
private IoSession session;
@@ -61,6 +61,7 @@ public class DecodingStateProtocolDecoder implements ProtocolDecoder {
/**
* {@inheritDoc}
*/
+ @Override
public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
if (this.session == null) {
this.session = session;
@@ -70,6 +71,7 @@ public class DecodingStateProtocolDecoder implements ProtocolDecoder {
}
undecodedBuffers.offer(in);
+
for (;;) {
IoBuffer b = undecodedBuffers.peek();
if (b == null) {
@@ -79,6 +81,7 @@ public class DecodingStateProtocolDecoder implements ProtocolDecoder {
int oldRemaining = b.remaining();
state.decode(b, out);
int newRemaining = b.remaining();
+
if (newRemaining != 0) {
if (oldRemaining == newRemaining) {
throw new IllegalStateException(DecodingState.class.getSimpleName() + " must "
@@ -93,6 +96,7 @@ public class DecodingStateProtocolDecoder implements ProtocolDecoder {
/**
* {@inheritDoc}
*/
+ @Override
public void finishDecode(IoSession session, ProtocolDecoderOutput out) throws Exception {
state.finishDecode(out);
}
@@ -100,6 +104,7 @@ public class DecodingStateProtocolDecoder implements ProtocolDecoder {
/**
* {@inheritDoc}
*/
+ @Override
public void dispose(IoSession session) throws Exception {
// Do nothing
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/FixedLengthDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/FixedLengthDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/FixedLengthDecodingState.java
index 8660931..1993df6 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/FixedLengthDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/FixedLengthDecodingState.java
@@ -48,6 +48,7 @@ public abstract class FixedLengthDecodingState implements DecodingState {
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
if (buffer == null) {
if (in.remaining() >= length) {
@@ -56,11 +57,13 @@ public abstract class FixedLengthDecodingState implements DecodingState {
IoBuffer product = in.slice();
in.position(in.position() + length);
in.limit(limit);
+
return finishDecode(product, out);
}
buffer = IoBuffer.allocate(length);
buffer.put(in);
+
return this;
}
@@ -71,6 +74,7 @@ public abstract class FixedLengthDecodingState implements DecodingState {
in.limit(limit);
IoBuffer product = this.buffer;
this.buffer = null;
+
return finishDecode(product.flip(), out);
}
@@ -81,14 +85,17 @@ public abstract class FixedLengthDecodingState implements DecodingState {
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
IoBuffer readData;
+
if (buffer == null) {
readData = IoBuffer.allocate(0);
} else {
readData = buffer.flip();
buffer = null;
}
+
return finishDecode(readData, out);
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/IntegerDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/IntegerDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/IntegerDecodingState.java
index e21672c..631c1e5 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/IntegerDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/IntegerDecodingState.java
@@ -35,6 +35,7 @@ public abstract class IntegerDecodingState implements DecodingState {
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
int firstByte = 0;
int secondByte = 0;
@@ -71,6 +72,7 @@ public abstract class IntegerDecodingState implements DecodingState {
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
throw new ProtocolDecoderException("Unexpected end of session while waiting for an integer.");
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ShortIntegerDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ShortIntegerDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ShortIntegerDecodingState.java
index c81d4c8..c219a90 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ShortIntegerDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ShortIntegerDecodingState.java
@@ -35,22 +35,23 @@ public abstract class ShortIntegerDecodingState implements DecodingState {
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
int highByte = 0;
while (in.hasRemaining()) {
switch (counter) {
- case 0:
- highByte = in.getUnsigned();
- break;
-
- case 1:
- counter = 0;
- return finishDecode((short) ((highByte << 8) | in.getUnsigned()), out);
-
- default:
- throw new InternalError();
+ case 0:
+ highByte = in.getUnsigned();
+ break;
+
+ case 1:
+ counter = 0;
+ return finishDecode((short) ((highByte << 8) | in.getUnsigned()), out);
+
+ default:
+ throw new InternalError();
}
counter++;
@@ -61,6 +62,7 @@ public abstract class ShortIntegerDecodingState implements DecodingState {
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
throw new ProtocolDecoderException("Unexpected end of session while waiting for a short integer.");
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SingleByteDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SingleByteDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SingleByteDecodingState.java
index b1fc5c5..d0866e1 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SingleByteDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SingleByteDecodingState.java
@@ -29,7 +29,10 @@ import org.apache.mina.filter.codec.ProtocolDecoderOutput;
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
public abstract class SingleByteDecodingState implements DecodingState {
-
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
if (in.hasRemaining()) {
return finishDecode(in.get(), out);
@@ -41,6 +44,7 @@ public abstract class SingleByteDecodingState implements DecodingState {
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
throw new ProtocolDecoderException("Unexpected end of session while waiting for a single byte.");
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SkippingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SkippingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SkippingState.java
index 59956d4..ed45dec 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SkippingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SkippingState.java
@@ -35,15 +35,19 @@ public abstract class SkippingState implements DecodingState {
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
int beginPos = in.position();
int limit = in.limit();
+
for (int i = beginPos; i < limit; i++) {
byte b = in.get(i);
+
if (!canSkip(b)) {
in.position(i);
int answer = this.skippedBytes;
this.skippedBytes = 0;
+
return finishDecode(answer);
}
@@ -57,6 +61,7 @@ public abstract class SkippingState implements DecodingState {
/**
* {@inheritDoc}
*/
+ @Override
public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
return finishDecode(skippedBytes);
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java b/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java
index b6f7374..9858f3e 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java
@@ -94,6 +94,7 @@ public class TextLineCodecFactory implements ProtocolCodecFactory {
/**
* {@inheritDoc}
*/
+ @Override
public ProtocolEncoder getEncoder(IoSession session) {
return encoder;
}
@@ -101,6 +102,7 @@ public class TextLineCodecFactory implements ProtocolCodecFactory {
/**
* {@inheritDoc}
*/
+ @Override
public ProtocolDecoder getDecoder(IoSession session) {
return decoder;
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java b/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
index a42ee27..ad43b38 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
@@ -40,7 +40,7 @@ import org.apache.mina.filter.codec.RecoverableProtocolDecoderException;
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
public class TextLineDecoder implements ProtocolDecoder {
- private final AttributeKey CONTEXT = new AttributeKey(getClass(), "context");
+ private static final AttributeKey CONTEXT = new AttributeKey(TextLineDecoder.class, "context");
private final Charset charset;
@@ -191,6 +191,7 @@ public class TextLineDecoder implements ProtocolDecoder {
/**
* {@inheritDoc}
*/
+ @Override
public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
Context ctx = getContext(session);
@@ -221,6 +222,7 @@ public class TextLineDecoder implements ProtocolDecoder {
/**
* {@inheritDoc}
*/
+ @Override
public void finishDecode(IoSession session, ProtocolDecoderOutput out) throws Exception {
// Do nothing
}
@@ -228,6 +230,7 @@ public class TextLineDecoder implements ProtocolDecoder {
/**
* {@inheritDoc}
*/
+ @Override
public void dispose(IoSession session) throws Exception {
Context ctx = (Context) session.getAttribute(CONTEXT);
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineEncoder.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineEncoder.java b/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineEncoder.java
index 9c38390..bd19c4d 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineEncoder.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineEncoder.java
@@ -144,6 +144,7 @@ public class TextLineEncoder extends ProtocolEncoderAdapter {
/**
* {@inheritDoc}
*/
+ @Override
public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception {
CharsetEncoder encoder = (CharsetEncoder) session.getAttribute(ENCODER);
@@ -152,7 +153,7 @@ public class TextLineEncoder extends ProtocolEncoderAdapter {
session.setAttribute(ENCODER, encoder);
}
- String value = (message == null ? "" : message.toString());
+ String value = message == null ? "" : message.toString();
IoBuffer buf = IoBuffer.allocate(value.length()).setAutoExpand(true);
buf.putString(value, encoder);
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java b/mina-core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java
index 6ab6acc..d325731 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java
@@ -73,7 +73,7 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
private Random rng = new Random();
- final private Logger logger = LoggerFactory.getLogger(ErrorGeneratingFilter.class);
+ private final Logger logger = LoggerFactory.getLogger(ErrorGeneratingFilter.class);
@Override
public void filterWrite(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception {
@@ -82,6 +82,7 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
if (writeRequest.getMessage() instanceof IoBuffer) {
manipulateIoBuffer(session, (IoBuffer) writeRequest.getMessage());
IoBuffer buffer = insertBytesToNewIoBuffer(session, (IoBuffer) writeRequest.getMessage());
+
if (buffer != null) {
writeRequest = new DefaultWriteRequest(buffer, writeRequest.getFuture(),
writeRequest.getDestination());
@@ -97,29 +98,28 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
// later
// TODO
}
+
if (removePduProbability > rng.nextInt()) {
return;
}
}
}
+
nextFilter.filterWrite(session, writeRequest);
}
@Override
public void messageReceived(NextFilter nextFilter, IoSession session, Object message) throws Exception {
- if (manipulateReads) {
- if (message instanceof IoBuffer) {
- // manipulate bytes
- manipulateIoBuffer(session, (IoBuffer) message);
- IoBuffer buffer = insertBytesToNewIoBuffer(session, (IoBuffer) message);
- if (buffer != null) {
- message = buffer;
- }
- } else {
- // manipulate PDU
- // TODO
+ if (manipulateReads && (message instanceof IoBuffer)) {
+ // manipulate bytes
+ manipulateIoBuffer(session, (IoBuffer) message);
+ IoBuffer buffer = insertBytesToNewIoBuffer(session, (IoBuffer) message);
+
+ if (buffer != null) {
+ message = buffer;
}
}
+
nextFilter.messageReceived(session, message);
}
@@ -191,6 +191,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
}
}
+ /**
+ * @return The probably that a byte changes
+ */
public int getChangeByteProbability() {
return changeByteProbability;
}
@@ -205,6 +208,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
this.changeByteProbability = changeByteProbability;
}
+ /**
+ * @return The probability for generating duplicated PDU
+ */
public int getDuplicatePduProbability() {
return duplicatePduProbability;
}
@@ -217,6 +223,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
this.duplicatePduProbability = duplicatePduProbability;
}
+ /**
+ * @return the probability for the insert byte error.
+ */
public int getInsertByteProbability() {
return insertByteProbability;
}
@@ -231,6 +240,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
this.insertByteProbability = insertByteProbability;
}
+ /**
+ * @return The number of manipulated reads
+ */
public boolean isManipulateReads() {
return manipulateReads;
}
@@ -244,6 +256,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
this.manipulateReads = manipulateReads;
}
+ /**
+ * @return If manipulated writes are expected or not
+ */
public boolean isManipulateWrites() {
return manipulateWrites;
}
@@ -251,12 +266,15 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
/**
* Set to true if you want to apply error to the written {@link IoBuffer}
*
- * @param manipulateWrites The umber of manipulated writes
+ * @param manipulateWrites If manipulated writes are expected or not
*/
public void setManipulateWrites(boolean manipulateWrites) {
this.manipulateWrites = manipulateWrites;
}
+ /**
+ * @return The probability for the remove byte error
+ */
public int getRemoveByteProbability() {
return removeByteProbability;
}
@@ -272,6 +290,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
this.removeByteProbability = removeByteProbability;
}
+ /**
+ * @return The PDU removal probability
+ */
public int getRemovePduProbability() {
return removePduProbability;
}
@@ -284,6 +305,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
this.removePduProbability = removePduProbability;
}
+ /**
+ * @return The delay before a resend
+ */
public int getResendPduLasterProbability() {
return resendPduLasterProbability;
}
@@ -296,6 +320,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
this.resendPduLasterProbability = resendPduLasterProbability;
}
+ /**
+ * @return maximum bytes inserted in a {@link IoBuffer}
+ */
public int getMaxInsertByte() {
return maxInsertByte;
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/executor/DefaultIoEventSizeEstimator.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/DefaultIoEventSizeEstimator.java b/mina-core/src/main/java/org/apache/mina/filter/executor/DefaultIoEventSizeEstimator.java
index a3cd992..858e0a1 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/DefaultIoEventSizeEstimator.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/DefaultIoEventSizeEstimator.java
@@ -45,7 +45,7 @@ import org.apache.mina.core.write.WriteRequest;
*/
public class DefaultIoEventSizeEstimator implements IoEventSizeEstimator {
/** A map containing the estimated size of each Java objects we know for */
- private final ConcurrentMap<Class<?>, Integer> class2size = new ConcurrentHashMap<Class<?>, Integer>();
+ private final ConcurrentMap<Class<?>, Integer> class2size = new ConcurrentHashMap<>();
/**
* Create a new instance of this class, injecting the known size of
@@ -66,6 +66,7 @@ public class DefaultIoEventSizeEstimator implements IoEventSizeEstimator {
/**
* {@inheritDoc}
*/
+ @Override
public int estimateSize(IoEvent event) {
return estimateSize((Object) event) + estimateSize(event.getParameter());
}
@@ -109,7 +110,7 @@ public class DefaultIoEventSizeEstimator implements IoEventSizeEstimator {
return 0;
}
} else {
- visitedClasses = new HashSet<Class<?>>();
+ visitedClasses = new HashSet<>();
}
visitedClasses.add(clazz);
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java b/mina-core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java
index 7d76b36..178fd8d 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java
@@ -150,11 +150,11 @@ public class ExecutorFilter extends IoFilterAdapter {
*/
public ExecutorFilter() {
// Create a new default Executor
- Executor executor = createDefaultExecutor(BASE_THREAD_NUMBER, DEFAULT_MAX_POOL_SIZE, DEFAULT_KEEPALIVE_TIME,
+ Executor newExecutor = createDefaultExecutor(BASE_THREAD_NUMBER, DEFAULT_MAX_POOL_SIZE, DEFAULT_KEEPALIVE_TIME,
TimeUnit.SECONDS, Executors.defaultThreadFactory(), null);
// Initialize the filter
- init(executor, MANAGEABLE_EXECUTOR);
+ init(newExecutor, MANAGEABLE_EXECUTOR);
}
/**
@@ -167,11 +167,11 @@ public class ExecutorFilter extends IoFilterAdapter {
*/
public ExecutorFilter(int maximumPoolSize) {
// Create a new default Executor
- Executor executor = createDefaultExecutor(BASE_THREAD_NUMBER, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
+ Executor newExecutor = createDefaultExecutor(BASE_THREAD_NUMBER, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
TimeUnit.SECONDS, Executors.defaultThreadFactory(), null);
// Initialize the filter
- init(executor, MANAGEABLE_EXECUTOR);
+ init(newExecutor, MANAGEABLE_EXECUTOR);
}
/**
@@ -185,11 +185,11 @@ public class ExecutorFilter extends IoFilterAdapter {
*/
public ExecutorFilter(int corePoolSize, int maximumPoolSize) {
// Create a new default Executor
- Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
+ Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
TimeUnit.SECONDS, Executors.defaultThreadFactory(), null);
// Initialize the filter
- init(executor, MANAGEABLE_EXECUTOR);
+ init(newExecutor, MANAGEABLE_EXECUTOR);
}
/**
@@ -203,11 +203,11 @@ public class ExecutorFilter extends IoFilterAdapter {
*/
public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit) {
// Create a new default Executor
- Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
+ Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
Executors.defaultThreadFactory(), null);
// Initialize the filter
- init(executor, MANAGEABLE_EXECUTOR);
+ init(newExecutor, MANAGEABLE_EXECUTOR);
}
/**
@@ -223,11 +223,11 @@ public class ExecutorFilter extends IoFilterAdapter {
public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
IoEventQueueHandler queueHandler) {
// Create a new default Executor
- Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
+ Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
Executors.defaultThreadFactory(), queueHandler);
// Initialize the filter
- init(executor, MANAGEABLE_EXECUTOR);
+ init(newExecutor, MANAGEABLE_EXECUTOR);
}
/**
@@ -243,11 +243,11 @@ public class ExecutorFilter extends IoFilterAdapter {
public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
ThreadFactory threadFactory) {
// Create a new default Executor
- Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, threadFactory,
+ Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, threadFactory,
null);
// Initialize the filter
- init(executor, MANAGEABLE_EXECUTOR);
+ init(newExecutor, MANAGEABLE_EXECUTOR);
}
/**
@@ -264,11 +264,11 @@ public class ExecutorFilter extends IoFilterAdapter {
public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
ThreadFactory threadFactory, IoEventQueueHandler queueHandler) {
// Create a new default Executor
- Executor executor = new OrderedThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
+ Executor newExecutor = new OrderedThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
threadFactory, queueHandler);
// Initialize the filter
- init(executor, MANAGEABLE_EXECUTOR);
+ init(newExecutor, MANAGEABLE_EXECUTOR);
}
/**
@@ -279,11 +279,11 @@ public class ExecutorFilter extends IoFilterAdapter {
*/
public ExecutorFilter(IoEventType... eventTypes) {
// Create a new default Executor
- Executor executor = createDefaultExecutor(BASE_THREAD_NUMBER, DEFAULT_MAX_POOL_SIZE, DEFAULT_KEEPALIVE_TIME,
+ Executor newExecutor = createDefaultExecutor(BASE_THREAD_NUMBER, DEFAULT_MAX_POOL_SIZE, DEFAULT_KEEPALIVE_TIME,
TimeUnit.SECONDS, Executors.defaultThreadFactory(), null);
// Initialize the filter
- init(executor, MANAGEABLE_EXECUTOR, eventTypes);
+ init(newExecutor, MANAGEABLE_EXECUTOR, eventTypes);
}
/**
@@ -295,11 +295,11 @@ public class ExecutorFilter extends IoFilterAdapter {
*/
public ExecutorFilter(int maximumPoolSize, IoEventType... eventTypes) {
// Create a new default Executor
- Executor executor = createDefaultExecutor(BASE_THREAD_NUMBER, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
+ Executor newExecutor = createDefaultExecutor(BASE_THREAD_NUMBER, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
TimeUnit.SECONDS, Executors.defaultThreadFactory(), null);
// Initialize the filter
- init(executor, MANAGEABLE_EXECUTOR, eventTypes);
+ init(newExecutor, MANAGEABLE_EXECUTOR, eventTypes);
}
/**
@@ -312,11 +312,11 @@ public class ExecutorFilter extends IoFilterAdapter {
*/
public ExecutorFilter(int corePoolSize, int maximumPoolSize, IoEventType... eventTypes) {
// Create a new default Executor
- Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
+ Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
TimeUnit.SECONDS, Executors.defaultThreadFactory(), null);
// Initialize the filter
- init(executor, MANAGEABLE_EXECUTOR, eventTypes);
+ init(newExecutor, MANAGEABLE_EXECUTOR, eventTypes);
}
/**
@@ -332,11 +332,11 @@ public class ExecutorFilter extends IoFilterAdapter {
public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
IoEventType... eventTypes) {
// Create a new default Executor
- Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
+ Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
Executors.defaultThreadFactory(), null);
// Initialize the filter
- init(executor, MANAGEABLE_EXECUTOR, eventTypes);
+ init(newExecutor, MANAGEABLE_EXECUTOR, eventTypes);
}
/**
@@ -353,11 +353,11 @@ public class ExecutorFilter extends IoFilterAdapter {
public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
IoEventQueueHandler queueHandler, IoEventType... eventTypes) {
// Create a new default Executor
- Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
+ Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
Executors.defaultThreadFactory(), queueHandler);
// Initialize the filter
- init(executor, MANAGEABLE_EXECUTOR, eventTypes);
+ init(newExecutor, MANAGEABLE_EXECUTOR, eventTypes);
}
/**
@@ -374,11 +374,11 @@ public class ExecutorFilter extends IoFilterAdapter {
public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
ThreadFactory threadFactory, IoEventType... eventTypes) {
// Create a new default Executor
- Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, threadFactory,
+ Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, threadFactory,
null);
// Initialize the filter
- init(executor, MANAGEABLE_EXECUTOR, eventTypes);
+ init(newExecutor, MANAGEABLE_EXECUTOR, eventTypes);
}
/**
@@ -396,11 +396,11 @@ public class ExecutorFilter extends IoFilterAdapter {
public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
ThreadFactory threadFactory, IoEventQueueHandler queueHandler, IoEventType... eventTypes) {
// Create a new default Executor
- Executor executor = new OrderedThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
+ Executor newExecutor = new OrderedThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
threadFactory, queueHandler);
// Initialize the filter
- init(executor, MANAGEABLE_EXECUTOR, eventTypes);
+ init(newExecutor, MANAGEABLE_EXECUTOR, eventTypes);
}
/**
@@ -438,10 +438,8 @@ public class ExecutorFilter extends IoFilterAdapter {
private Executor createDefaultExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
ThreadFactory threadFactory, IoEventQueueHandler queueHandler) {
// Create a new Executor
- Executor executor = new OrderedThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
+ return new OrderedThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
threadFactory, queueHandler);
-
- return executor;
}
/**
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueHandler.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueHandler.java b/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueHandler.java
index 9c0cbaf..ceba804 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueHandler.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueHandler.java
@@ -35,14 +35,26 @@ public interface IoEventQueueHandler extends EventListener {
* A dummy handler which always accepts event doing nothing particular.
*/
IoEventQueueHandler NOOP = new IoEventQueueHandler() {
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public boolean accept(Object source, IoEvent event) {
return true;
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public void offered(Object source, IoEvent event) {
// NOOP
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public void polled(Object source, IoEvent event) {
// NOOP
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueThrottle.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueThrottle.java b/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueThrottle.java
index b490cb2..9170764 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueThrottle.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueThrottle.java
@@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory;
*/
public class IoEventQueueThrottle implements IoEventQueueHandler {
/** A logger for this class */
- private final static Logger LOGGER = LoggerFactory.getLogger(IoEventQueueThrottle.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(IoEventQueueThrottle.class);
/** The event size estimator instance */
private final IoEventSizeEstimator eventSizeEstimator;
@@ -41,18 +41,33 @@ public class IoEventQueueThrottle implements IoEventQueueHandler {
private final Object lock = new Object();
+ /** The number of events we hold */
private final AtomicInteger counter = new AtomicInteger();
private int waiters;
+ /**
+ * Creates a new IoEventQueueThrottle instance
+ */
public IoEventQueueThrottle() {
this(new DefaultIoEventSizeEstimator(), 65536);
}
+ /**
+ * Creates a new IoEventQueueThrottle instance
+ *
+ * @param threshold The events threshold
+ */
public IoEventQueueThrottle(int threshold) {
this(new DefaultIoEventSizeEstimator(), threshold);
}
+ /**
+ * Creates a new IoEventQueueThrottle instance
+ *
+ * @param eventSizeEstimator The IoEventSizeEstimator instance
+ * @param threshold The events threshold
+ */
public IoEventQueueThrottle(IoEventSizeEstimator eventSizeEstimator, int threshold) {
if (eventSizeEstimator == null) {
throw new IllegalArgumentException("eventSizeEstimator");
@@ -63,18 +78,32 @@ public class IoEventQueueThrottle implements IoEventQueueHandler {
setThreshold(threshold);
}
+ /**
+ * @return The IoEventSizeEstimator instance
+ */
public IoEventSizeEstimator getEventSizeEstimator() {
return eventSizeEstimator;
}
+ /**
+ * @return The events threshold
+ */
public int getThreshold() {
return threshold;
}
+ /**
+ * @return The number of events currently held
+ */
public int getCounter() {
return counter.get();
}
+ /**
+ * Sets the events threshold
+ *
+ * @param threshold The events threshold
+ */
public void setThreshold(int threshold) {
if (threshold <= 0) {
throw new IllegalArgumentException("threshold: " + threshold);
@@ -83,10 +112,18 @@ public class IoEventQueueThrottle implements IoEventQueueHandler {
this.threshold = threshold;
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public boolean accept(Object source, IoEvent event) {
return true;
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public void offered(Object source, IoEvent event) {
int eventSize = estimateSize(event);
int currentCounter = counter.addAndGet(eventSize);
@@ -97,6 +134,10 @@ public class IoEventQueueThrottle implements IoEventQueueHandler {
}
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public void polled(Object source, IoEvent event) {
int eventSize = estimateSize(event);
int currentCounter = counter.addAndGet(-eventSize);
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java b/mina-core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
index 101aa2b..da8333d 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
@@ -68,12 +68,12 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
private static final IoSession EXIT_SIGNAL = new DummySession();
/** A key stored into the session's attribute for the event tasks being queued */
- private final AttributeKey TASKS_QUEUE = new AttributeKey(getClass(), "tasksQueue");
+ private static final AttributeKey TASKS_QUEUE = new AttributeKey(OrderedThreadPoolExecutor.class, "tasksQueue");
/** A queue used to store the available sessions */
- private final BlockingQueue<IoSession> waitingSessions = new LinkedBlockingQueue<IoSession>();
+ private final BlockingQueue<IoSession> waitingSessions = new LinkedBlockingQueue<>();
- private final Set<Worker> workers = new HashSet<Worker>();
+ private final Set<Worker> workers = new HashSet<>();
private volatile int largestPoolSize;
@@ -294,14 +294,6 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
* {@inheritDoc}
*/
@Override
- public int getMaximumPoolSize() {
- return super.getMaximumPoolSize();
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
public void setMaximumPoolSize(int maximumPoolSize) {
if ((maximumPoolSize <= 0) || (maximumPoolSize < super.getCorePoolSize())) {
throw new IllegalArgumentException("maximumPoolSize: " + maximumPoolSize);
@@ -385,7 +377,7 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
public List<Runnable> shutdownNow() {
shutdown();
- List<Runnable> answer = new ArrayList<Runnable>();
+ List<Runnable> answer = new ArrayList<>();
IoSession session;
while ((session = waitingSessions.poll()) != null) {
@@ -644,14 +636,6 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
* {@inheritDoc}
*/
@Override
- public int getCorePoolSize() {
- return super.getCorePoolSize();
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
public void setCorePoolSize(int corePoolSize) {
if (corePoolSize < 0) {
throw new IllegalArgumentException("corePoolSize: " + corePoolSize);
@@ -676,6 +660,10 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
private Thread thread;
+ /**
+ * @inheritedDoc
+ */
+ @Override
public void run() {
thread = Thread.currentThread();
@@ -720,9 +708,11 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
IoSession session = null;
long currentTime = System.currentTimeMillis();
long deadline = currentTime + getKeepAliveTime(TimeUnit.MILLISECONDS);
+
for (;;) {
try {
long waitTime = deadline - currentTime;
+
if (waitTime <= 0) {
break;
}
@@ -731,7 +721,7 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
session = waitingSessions.poll(waitTime, TimeUnit.MILLISECONDS);
break;
} finally {
- if (session == null) {
+ if (session != null) {
currentTime = System.currentTimeMillis();
}
}
@@ -740,6 +730,7 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
continue;
}
}
+
return session;
}
@@ -786,7 +777,7 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
*/
private class SessionTasksQueue {
/** A queue of ordered event waiting to be processed */
- private final Queue<Runnable> tasksQueue = new ConcurrentLinkedQueue<Runnable>();
+ private final Queue<Runnable> tasksQueue = new ConcurrentLinkedQueue<>();
/** The current task state */
private boolean processingCompleted = true;
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java b/mina-core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java
index 4743866..3136492 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java
@@ -55,12 +55,16 @@ import org.apache.mina.core.session.IoEvent;
public class UnorderedThreadPoolExecutor extends ThreadPoolExecutor {
private static final Runnable EXIT_SIGNAL = new Runnable() {
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public void run() {
throw new Error("This method shouldn't be called. " + "Please file a bug report.");
}
};
- private final Set<Worker> workers = new HashSet<Worker>();
+ private final Set<Worker> workers = new HashSet<>();
private volatile int corePoolSize;
@@ -76,35 +80,86 @@ public class UnorderedThreadPoolExecutor extends ThreadPoolExecutor {
private final IoEventQueueHandler queueHandler;
+ /**
+ * Creates a new UnorderedThreadPoolExecutor instance
+ */
public UnorderedThreadPoolExecutor() {
this(16);
}
+ /**
+ * Creates a new UnorderedThreadPoolExecutor instance
+ *
+ * @param maximumPoolSize The maximum number of threads in the pool
+ */
public UnorderedThreadPoolExecutor(int maximumPoolSize) {
this(0, maximumPoolSize);
}
+ /**
+ * Creates a new UnorderedThreadPoolExecutor instance
+ *
+ * @param corePoolSize The initial threads pool size
+ * @param maximumPoolSize The maximum number of threads in the pool
+ */
public UnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize) {
this(corePoolSize, maximumPoolSize, 30, TimeUnit.SECONDS);
}
+ /**
+ * Creates a new UnorderedThreadPoolExecutor instance
+ *
+ * @param corePoolSize The initial threads pool size
+ * @param maximumPoolSize The maximum number of threads in the pool
+ * @param keepAliveTime The time to keep threads alive
+ * @param unit The time unit for the keepAliveTime
+ */
public UnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit) {
this(corePoolSize, maximumPoolSize, keepAliveTime, unit, Executors.defaultThreadFactory());
}
+ /**
+ * Creates a new UnorderedThreadPoolExecutor instance
+ *
+ * @param corePoolSize The initial threads pool size
+ * @param maximumPoolSize The maximum number of threads in the pool
+ * @param keepAliveTime The time to keep threads alive
+ * @param unit The time unit for the keepAliveTime
+ * @param queueHandler The Event queue handler to use
+ */
public UnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
IoEventQueueHandler queueHandler) {
this(corePoolSize, maximumPoolSize, keepAliveTime, unit, Executors.defaultThreadFactory(), queueHandler);
}
+ /**
+ * Creates a new UnorderedThreadPoolExecutor instance
+ *
+ * @param corePoolSize The initial threads pool size
+ * @param maximumPoolSize The maximum number of threads in the pool
+ * @param keepAliveTime The time to keep threads alive
+ * @param unit The time unit for the keepAliveTime
+ * @param threadFactory The Thread factory to use
+ */
public UnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
ThreadFactory threadFactory) {
this(corePoolSize, maximumPoolSize, keepAliveTime, unit, threadFactory, null);
}
+ /**
+ * Creates a new UnorderedThreadPoolExecutor instance
+ *
+ * @param corePoolSize The initial threads pool size
+ * @param maximumPoolSize The maximum number of threads in the pool
+ * @param keepAliveTime The time to keep threads alive
+ * @param unit The time unit for the keepAliveTime
+ * @param threadFactory The Thread factory to use
+ * @param queueHandler The Event queue handler to use
+ */
public UnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
ThreadFactory threadFactory, IoEventQueueHandler queueHandler) {
super(0, 1, keepAliveTime, unit, new LinkedBlockingQueue<Runnable>(), threadFactory, new AbortPolicy());
+
if (corePoolSize < 0) {
throw new IllegalArgumentException("corePoolSize: " + corePoolSize);
}
@@ -114,14 +169,18 @@ public class UnorderedThreadPoolExecutor extends ThreadPoolExecutor {
}
if (queueHandler == null) {
- queueHandler = IoEventQueueHandler.NOOP;
+ this.queueHandler = IoEventQueueHandler.NOOP;
+ } else {
+ this.queueHandler = queueHandler;
}
this.corePoolSize = corePoolSize;
this.maximumPoolSize = maximumPoolSize;
- this.queueHandler = queueHandler;
}
+ /**
+ * @return The Queue handler in use
+ */
public IoEventQueueHandler getQueueHandler() {
return queueHandler;
}
@@ -242,7 +301,7 @@ public class UnorderedThreadPoolExecutor extends ThreadPoolExecutor {
public List<Runnable> shutdownNow() {
shutdown();
- List<Runnable> answer = new ArrayList<Runnable>();
+ List<Runnable> answer = new ArrayList<>();
Runnable task;
while ((task = getQueue().poll()) != null) {
if (task == EXIT_SIGNAL) {
@@ -401,6 +460,10 @@ public class UnorderedThreadPoolExecutor extends ThreadPoolExecutor {
private Thread thread;
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public void run() {
thread = Thread.currentThread();
@@ -446,9 +509,11 @@ public class UnorderedThreadPoolExecutor extends ThreadPoolExecutor {
Runnable task = null;
long currentTime = System.currentTimeMillis();
long deadline = currentTime + getKeepAliveTime(TimeUnit.MILLISECONDS);
+
for (;;) {
try {
long waitTime = deadline - currentTime;
+
if (waitTime <= 0) {
break;
}
http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/executor/WriteRequestFilter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/WriteRequestFilter.java b/mina-core/src/main/java/org/apache/mina/filter/executor/WriteRequestFilter.java
index 1485d5a..baf93d6 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/WriteRequestFilter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/WriteRequestFilter.java
@@ -91,6 +91,9 @@ public class WriteRequestFilter extends IoFilterAdapter {
return queueHandler;
}
+ /**
+ * @inheritedDoc
+ */
@Override
public void filterWrite(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception {
@@ -106,6 +109,10 @@ public class WriteRequestFilter extends IoFilterAdapter {
// We can track the write request only when it has a future.
queueHandler.offered(this, e);
writeFuture.addListener(new IoFutureListener<WriteFuture>() {
+ /**
+ * @inheritedDoc
+ */
+ @Override
public void operationComplete(WriteFuture future) {
queueHandler.polled(WriteRequestFilter.this, e);
}