Hi all,

I've been looking at a fix for bug 66196. My ideas so far have revolved around MessageBytes but the solutions are being made more complex by the current behaviour of MessageBytes in some cases.

For example (I'm using strings in place of byte[] and char[] to keep it simple):

mb.setBytes("aaa");
mb.setChars("bbb");
mb.toBytes();

mb.getByteChunk() returns "aaa" whereas I'd expect it to be "bbb".

I'd like to refactor MessageBytes so it always behaves as if it has a single current value regardless of whether that value was set as a String, byte[] or char[]. If a get() method is called for a different type, conversion occurs on demand.

I'm reasonably confident that changing MessageBytes to always have a single, consistent value will also enable a few useful optimizations - particularly around ISO-8859-1 String to byte conversions which gets used a lot for HTTP response headers.

Note: As currently, if you write to the ByteChunk or CharChunk directly the caller is expected to take responsibility for keeping the values in sync or dealing with the consequences.

Thoughts?

Mark


[1] https://bz.apache.org/bugzilla/show_bug.cgi?id=66196

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to