Todos

juju.reattore.io.impl.ByteBufferPool

Class Todos
Minor: Replace with library.

juju.reattore.io.impl.ChannelFileSource

Class Todos
Minor: Cannot handle > 4GB files
Doesn't implement get() for > readSize files

juju.reattore.io.impl.SourceHelper

Method Todos
asByteBuffer(): Minor: Uses byte buffers off the heap in some cases.

juju.reattore.protocol.http.impl.BasicHttpParser

Class Todos
Does not handle chunked encoding.
Method Todos
add(): Minor: Split out the body parser and make it more efficient.

juju.reattore.protocol.http.impl.HeaderParser

Method Todos
add(): Minor: Pull out parsing into character classes.

juju.reattore.protocol.http.impl.StartLineParser

Class Todos
Minor/Strict: Doesn't detect invalid leading spaces.

juju.reattore.server.http.HttpClientHandler

Method Todos
handleWritable(): Maximum number of requests in a keep alive session is not configurable.
handleWritable(): Could run out of space to write the headers.

juju.reattore.server.http.HttpServer

Method Todos
setReactor(): Needs a start instead of building it into the setter.

juju.reattore.server.intercept.impl.VelocityInterceptor

Class Todos
Minor: Uses ByteArrayOutputStream, which could be replaced with a Source.
Doesn't configure the velocity engine.
Method Todos
process(): populateContext() is a bit of a hack