org.apache.jk.core
Class Msg
public abstract
class
Msg
extends Object
A single packet for communication between the web server and the
container.
In a more generic sense, it's the event that drives the processing chain.
XXX Use Event, make Msg a particular case.
Author: Henri Gomez [hgomez@apache.org] Dan Milstein [danmil@shore.net] Keith Wannamaker [Keith@Wannamaker.org] Kevin Seguin Costin Manolache
Method Summary |
abstract void | appendByte(int val) |
abstract void | appendByteChunk(ByteChunk bc) |
abstract void | appendBytes(MessageBytes mb) |
abstract void | appendBytes(byte[] b, int off, int numBytes)
Copy a chunk of bytes into the packet, starting at the current
write position. |
abstract void | appendInt(int val) |
abstract void | appendLongInt(int val) |
abstract void | dump(String msg) |
abstract void | end()
For a packet to be sent to the web server, finish the process of
accumulating data and write the length of the data payload into
the header. |
abstract byte[] | getBuffer() |
abstract byte | getByte() |
abstract void | getBytes(MessageBytes mb) |
abstract int | getBytes(byte[] dest)
Copy a chunk of bytes from the packet into an array and advance
the read position past the chunk. |
abstract int | getHeaderLength() |
abstract int | getInt()
Read an integer from packet, and advance the read position past
it. |
abstract int | getLen() |
abstract int | getLongInt()
Read a 32 bits integer from packet, and advance the read position past
it. |
static String | hexLine(byte[] buf, int start, int len) |
abstract byte | peekByte() |
abstract int | peekInt() |
abstract int | processHeader() |
abstract void | reset()
Prepare this packet for accumulating a message from the container to
the web server. |
public abstract void appendByte(int val)
public abstract void appendByteChunk(
ByteChunk bc)
public abstract void appendBytes(byte[] b, int off, int numBytes)
Copy a chunk of bytes into the packet, starting at the current
write position. The chunk of bytes is encoded with the length
in two bytes first, then the data itself, and finally a
terminating \0 (which is
not included in the encoded
length).
Parameters: b The array from which to copy bytes. off The offset into the array at which to start copying numBytes The number of bytes to copy.
public abstract void appendInt(int val)
public abstract void appendLongInt(int val)
public abstract void dump(String msg)
public abstract void end()
For a packet to be sent to the web server, finish the process of
accumulating data and write the length of the data payload into
the header.
public abstract byte[] getBuffer()
public abstract byte getByte()
public abstract int getBytes(byte[] dest)
Copy a chunk of bytes from the packet into an array and advance
the read position past the chunk. See appendBytes() for details
on the encoding.
Returns: The number of bytes copied.
public abstract int getHeaderLength()
public abstract int getInt()
Read an integer from packet, and advance the read position past
it. Integers are encoded as two unsigned bytes with the
high-order byte first, and, as far as I can tell, in
little-endian order within each byte.
public abstract int getLen()
public abstract int getLongInt()
Read a 32 bits integer from packet, and advance the read position past
it. Integers are encoded as four unsigned bytes with the
high-order byte first, and, as far as I can tell, in
little-endian order within each byte.
public static String hexLine(byte[] buf, int start, int len)
public abstract byte peekByte()
public abstract int peekInt()
public abstract int processHeader()
public abstract void reset()
Prepare this packet for accumulating a message from the container to
the web server. Set the write position to just after the header
(but leave the length unwritten, because it is as yet unknown).
Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.