Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jetty-util/src/main/java/org/eclipse/jetty/util/BufferUtil.java')
-rw-r--r--jetty-util/src/main/java/org/eclipse/jetty/util/BufferUtil.java57
1 files changed, 33 insertions, 24 deletions
diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/BufferUtil.java b/jetty-util/src/main/java/org/eclipse/jetty/util/BufferUtil.java
index 6e5c85b4e9..49377144e1 100644
--- a/jetty-util/src/main/java/org/eclipse/jetty/util/BufferUtil.java
+++ b/jetty-util/src/main/java/org/eclipse/jetty/util/BufferUtil.java
@@ -32,6 +32,7 @@ import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
+import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.resource.Resource;
@@ -1027,38 +1028,46 @@ public class BufferUtil
private static void appendDebugString(StringBuilder buf,ByteBuffer buffer)
{
- for (int i = 0; i < buffer.position(); i++)
+ try
{
- appendContentChar(buf,buffer.get(i));
- if (i == 16 && buffer.position() > 32)
+ for (int i = 0; i < buffer.position(); i++)
{
- buf.append("...");
- i = buffer.position() - 16;
+ appendContentChar(buf,buffer.get(i));
+ if (i == 16 && buffer.position() > 32)
+ {
+ buf.append("...");
+ i = buffer.position() - 16;
+ }
}
- }
- buf.append("<<<");
- for (int i = buffer.position(); i < buffer.limit(); i++)
- {
- appendContentChar(buf,buffer.get(i));
- if (i == buffer.position() + 16 && buffer.limit() > buffer.position() + 32)
+ buf.append("<<<");
+ for (int i = buffer.position(); i < buffer.limit(); i++)
{
- buf.append("...");
- i = buffer.limit() - 16;
+ appendContentChar(buf,buffer.get(i));
+ if (i == buffer.position() + 16 && buffer.limit() > buffer.position() + 32)
+ {
+ buf.append("...");
+ i = buffer.limit() - 16;
+ }
}
- }
- buf.append(">>>");
- int limit = buffer.limit();
- buffer.limit(buffer.capacity());
- for (int i = limit; i < buffer.capacity(); i++)
- {
- appendContentChar(buf,buffer.get(i));
- if (i == limit + 16 && buffer.capacity() > limit + 32)
+ buf.append(">>>");
+ int limit = buffer.limit();
+ buffer.limit(buffer.capacity());
+ for (int i = limit; i < buffer.capacity(); i++)
{
- buf.append("...");
- i = buffer.capacity() - 16;
+ appendContentChar(buf,buffer.get(i));
+ if (i == limit + 16 && buffer.capacity() > limit + 32)
+ {
+ buf.append("...");
+ i = buffer.capacity() - 16;
+ }
}
+ buffer.limit(limit);
+ }
+ catch(Throwable x)
+ {
+ Log.getRootLogger().ignore(x);
+ buf.append("!!concurrent mod!!");
}
- buffer.limit(limit);
}
private static void appendContentChar(StringBuilder buf, byte b)

Back to the top