| java.lang.Object org.apache.jk.core.Msg org.apache.jk.common.MsgAjp
MsgAjp | public class MsgAjp extends Msg (Code) | | A single packet for communication between the web server and the
container. Designed to be reused many times with no creation of
garbage. Understands the format of data types for these packets.
Can be used (somewhat confusingly) for both incoming and outgoing
packets.
See Ajp14/Ajp13Packet.java.
author: Henri Gomez [hgomez@apache.org] author: Dan Milstein [danmil@shore.net] author: Keith Wannamaker [Keith@Wannamaker.org] author: Kevin Seguin author: Costin Manolache |
Constructor Summary | |
public | MsgAjp(int bsize) | public | MsgAjp() No arg constructor. |
Method Summary | |
public void | appendByte(int val) | public void | appendByteChunk(ByteChunk bc) | public void | appendBytes(MessageBytes mb) Write a String out at the current write position. | public void | appendBytes(byte b, int off, int numBytes) Copy a chunk of bytes into the packet, starting at the current
write position. | public void | appendInt(int val) Add an int. | public void | appendLongInt(int val) | public void | dump(String msg) | public 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 byte[] | getBuffer() | public byte | getByte() | public void | getBytes(MessageBytes mb) | public int | getBytes(byte dest) Copy a chunk of bytes from the packet into an array and advance
the read position past the chunk. | public int | getHeaderLength() | public int | getInt() Read an integer from packet, and advance the read position past
it. | public int | getLen() | public int | getLongInt() Read a 32 bits integer from packet, and advance the read position past
it. | public static String | hexLine(byte buf, int start, int len) | public byte | peekByte() | public int | peekInt() | public int | processHeader() | public void | reset() Prepare this packet for accumulating a message from the container to
the web server. |
MsgAjp | public MsgAjp(int bsize)(Code) | | Constructor that takes a buffer size
|
MsgAjp | public MsgAjp()(Code) | | No arg constructor.
|
appendByte | public void appendByte(int val)(Code) | | |
appendBytes | public void appendBytes(MessageBytes mb) throws IOException(Code) | | Write a String out at the current write position. Strings are
encoded with the length in two bytes first, then the string, and
then a terminating \0 (which is not included in the
encoded length). The terminator is for the convenience of the C
code, where it saves a round of copying. A null string is
encoded as a string with length 0.
|
appendBytes | public void appendBytes(byte b, int off, int numBytes)(Code) | | 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. Parameters: off - The offset into the array at which to start copying Parameters: numBytes - The number of bytes to copy. |
appendInt | public void appendInt(int val)(Code) | | Add an int.
Parameters: val - The integer to write. |
appendLongInt | public void appendLongInt(int val)(Code) | | |
end | public void end()(Code) | | 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.
|
getBuffer | public byte[] getBuffer()(Code) | | |
getByte | public byte getByte()(Code) | | |
getBytes | public int getBytes(byte dest)(Code) | | 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.
The number of bytes copied. |
getHeaderLength | public int getHeaderLength()(Code) | | |
getInt | public int getInt()(Code) | | 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.
|
getLen | public int getLen()(Code) | | |
getLongInt | public int getLongInt()(Code) | | 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.
|
hexLine | public static String hexLine(byte buf, int start, int len)(Code) | | |
peekByte | public byte peekByte()(Code) | | |
peekInt | public int peekInt()(Code) | | |
processHeader | public int processHeader()(Code) | | |
reset | public void reset()(Code) | | 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).
|
|
|