Overview Package Class Tree Deprecated Help PREV CLASS NEXT CLASS FRAMES NO FRAMES SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
org.apache.jk.common
Class MsgAjpjava.lang.Object org.apache.jk.core.Msg org.apache.jk.common.MsgAjp
- public class MsgAjp
- extends Msg
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.
- Author:
- Henri Gomez [hgomez@apache.org], Dan Milstein [danmil@shore.net], Keith Wannamaker [Keith@Wannamaker.org], Kevin Seguin, Costin Manolache
- See Also:
- Ajp14/Ajp13Packet
Constructor Summary MsgAjp()
Method Summary void appendByte(int val)
void appendByteChunk(ByteChunk bc)
void appendBytes(byte[] b, int off, int numBytes)
Copy a chunk of bytes into the packet, starting at the current write position.void appendBytes(MessageBytes mb)
Write a String out at the current write position.void appendInt(int val)
Add an int.void appendLongInt(int val)
void dump(java.lang.String msg)
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.byte[] getBuffer()
byte getByte()
int getBytes(byte[] dest)
Copy a chunk of bytes from the packet into an array and advance the read position past the chunk.void getBytes(MessageBytes mb)
int getHeaderLength()
int getInt()
Read an integer from packet, and advance the read position past it.int getLen()
int getLongInt()
Read a 32 bits integer from packet, and advance the read position past it.static java.lang.String hexLine(byte[] buf, int start, int len)
byte peekByte()
int peekInt()
int processHeader()
void reset()
Prepare this packet for accumulating a message from the container to the web server.
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail MsgAjp
public MsgAjp()
Method Detail reset
public 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).
- Specified by:
- reset in class Msg
end
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.
- Specified by:
- end in class Msg
getBuffer
public byte[] getBuffer()
- Specified by:
- getBuffer in class Msg
getLen
public int getLen()
- Specified by:
- getLen in class Msg
appendInt
public void appendInt(int val)
- Add an int.
- Specified by:
- appendInt in class Msg
- Parameters:
- val - The integer to write.
appendByte
public void appendByte(int val)
- Specified by:
- appendByte in class Msg
appendLongInt
public void appendLongInt(int val)
- Specified by:
- appendLongInt in class Msg
appendBytes
public void appendBytes(MessageBytes mb) throws java.io.IOException
- 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.
- Specified by:
- appendBytes in class Msg
- Throws:
- java.io.IOException
appendByteChunk
public void appendByteChunk(ByteChunk bc) throws java.io.IOException
- Specified by:
- appendByteChunk in class Msg
- Throws:
- java.io.IOException
appendBytes
public 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).
- Specified by:
- appendBytes in class Msg
- Parameters:
- b - The array from which to copy bytes.
- off - The offset into the array at which to start copying
getInt
public 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.
- Specified by:
- getInt in class Msg
peekInt
public int peekInt()
- Specified by:
- peekInt in class Msg
getByte
public byte getByte()
- Specified by:
- getByte in class Msg
peekByte
public byte peekByte()
- Specified by:
- peekByte in class Msg
getBytes
public void getBytes(MessageBytes mb)
- Specified by:
- getBytes in class Msg
getBytes
public 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.
- Specified by:
- getBytes in class Msg
- Returns:
- The number of bytes copied.
getLongInt
public 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.
- Specified by:
- getLongInt in class Msg
getHeaderLength
public int getHeaderLength()
- Specified by:
- getHeaderLength in class Msg
processHeader
public int processHeader()
- Specified by:
- processHeader in class Msg
dump
public void dump(java.lang.String msg)
- Specified by:
- dump in class Msg
hexLine
public static java.lang.String hexLine(byte[] buf, int start, int len)
Overview Package Class Tree Deprecated Help PREV CLASS NEXT CLASS FRAMES NO FRAMES SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.