Author: markt
Date: Wed Jun 26 13:14:44 2013
New Revision: 1496923
URL: http://svn.apache.org/r1496923
Log:
Reduce decoder scanning
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java?rev=1496923&r1=1496922&r2=1496923&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java
Wed Jun 26 13:14:44 2013
@@ -269,7 +269,6 @@ public class PojoMethodMapping {
private int indexPayload = -1;
private boolean useDecoder = false;
-
public MessageMethod(Method m, List<DecoderEntry> decoderEntries) {
this.m = m;
@@ -519,31 +518,35 @@ public class PojoMethodMapping {
MessageHandler mh = null;
if (indexBoolean == -1) {
+ List<Class<? extends Decoder>> decoders = null;
+ if (useDecoder) {
+ decoders = config.getDecoders();
+ }
// Basic
if (indexString != -1) {
mh = new PojoMessageHandlerWholeText(pojo, m, session,
- config, config.getDecoders(), params, indexString,
- false, indexSession);
+ config, decoders, params, indexString, false,
+ indexSession);
} else if (indexPrimitive != -1) {
mh = new PojoMessageHandlerWholeText(pojo, m, session,
- config, config.getDecoders(), params,
- indexPrimitive, false, indexSession);
+ config, decoders, params, indexPrimitive, false,
+ indexSession);
} else if (indexByteArray != -1) {
mh = new PojoMessageHandlerWholeBinary(pojo, m, session,
- config, config.getDecoders(), params,
- indexByteArray, true, indexSession, false);
+ config, decoders, params, indexByteArray, true,
+ indexSession, false);
} else if (indexByteBuffer != -1) {
mh = new PojoMessageHandlerWholeBinary(pojo, m, session,
- config, config.getDecoders(), params,
- indexByteBuffer, false, indexSession, false);
+ config, decoders, params, indexByteBuffer, false,
+ indexSession, false);
} else if (indexInputStream != -1) {
mh = new PojoMessageHandlerWholeBinary(pojo, m, session,
- config, config.getDecoders(), params,
- indexInputStream, true, indexSession, true);
+ config, decoders, params, indexInputStream, true,
+ indexSession, true);
} else if (indexReader != -1) {
mh = new PojoMessageHandlerWholeText(pojo, m, session,
- config, config.getDecoders(), params, indexReader,
- true, indexSession);
+ config, decoders, params, indexReader, true,
+ indexSession);
} else {
mh = new PojoMessageHandlerWholePong(pojo, m, session,
params, indexPong, false, indexSession);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]