org.jnetpcap.packet
Class AbstractMessageHeader

java.lang.Object
  extended by org.jnetpcap.nio.JMemory
      extended by org.jnetpcap.nio.JBuffer
          extended by org.jnetpcap.packet.JHeader
              extended by org.jnetpcap.packet.JMappedHeader
                  extended by org.jnetpcap.packet.AbstractMessageHeader
All Implemented Interfaces:
JByteBuffer
Direct Known Subclasses:
Http

public abstract class AbstractMessageHeader
extends JMappedHeader

Author:
Mark Bednarczyk, Sly Technologies, Inc.

Nested Class Summary
static class AbstractMessageHeader.MessageType
           
 
Nested classes/interfaces inherited from class org.jnetpcap.packet.JHeader
JHeader.State
 
Nested classes/interfaces inherited from class org.jnetpcap.nio.JMemory
JMemory.Type
 
Field Summary
 
Fields inherited from class org.jnetpcap.packet.JHeader
annotatedHeader, EMPTY_HEADER_ARRAY, isSubHeader, packet, state
 
Fields inherited from class org.jnetpcap.nio.JMemory
JNETPCAP_LIBRARY_NAME
 
Constructor Summary
AbstractMessageHeader()
           
 
Method Summary
protected abstract  void decodeFirstLine(java.lang.String line)
           
protected  void decodeHeader()
          Decode the http header.
 AbstractMessageHeader.MessageType getMessageType()
           
static int headerLength(JBuffer buffer, int offset)
           
 void setMessageType(AbstractMessageHeader.MessageType type)
           
 
Methods inherited from class org.jnetpcap.packet.JMappedHeader
addField, addField, addField, clearFields, fieldArray, fieldDescription, fieldDescription, fieldDisplay, fieldDisplay, fieldLength, fieldLength, fieldOffset, fieldOffset, fieldValue, fieldValue, fieldValue, fieldValue, hasField, hasField, map, map
 
Methods inherited from class org.jnetpcap.packet.JHeader
addAnalysis, decode, getAnalysis, getAnalysisIterable, getAnnotatedHeader, getDescription, getFields, getId, getLength, getName, getNicname, getOffset, getPacket, getParent, getState, getSubHeaders, getType, hasAnalysis, hasAnalysis, hasAnalysis, hasDescription, hasSubHeaders, peer, peer, setPacket, setSubHeaders, sizeof, toString, validateHeader
 
Methods inherited from class org.jnetpcap.nio.JBuffer
findUTF8String, getByte, getByteArray, getByteArray, getDouble, getFloat, getInt, getLong, getShort, getUByte, getUInt, getUShort, getUTF8Char, getUTF8String, getUTF8String, getUTF8String, getUTF8String, isReadonly, order, order, peer, peer, peer, peer, setByte, setByteArray, setByteBuffer, setDouble, setFloat, setInt, setLong, setShort, setUByte, setUInt, setUShort, transferFrom, transferFrom, transferFrom, transferTo, transferTo, transferTo
 
Methods inherited from class org.jnetpcap.nio.JMemory
check, cleanup, finalize, isInitialized, isJMemoryBasedOwner, isOwner, peer, setSize, size, toDebugString, toHexdump, toHexdump, totalActiveAllocated, totalAllocateCalls, totalAllocated, totalAllocatedSegments0To255Bytes, totalAllocatedSegments256OrAbove, totalDeAllocateCalls, totalDeAllocated, transferFrom, transferFrom, transferFromDirect, transferOwnership, transferTo, transferTo, transferTo, transferTo, transferTo
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jnetpcap.nio.JByteBuffer
size
 

Constructor Detail

AbstractMessageHeader

public AbstractMessageHeader()
Method Detail

headerLength

@HeaderLength
public static int headerLength(JBuffer buffer,
                                            int offset)

decodeFirstLine

protected abstract void decodeFirstLine(java.lang.String line)

decodeHeader

protected void decodeHeader()
Decode the http header. First we need to convert raw bytes to a char's we can deal with since Http header is text based. Once converted we can then accurately determine the Http header length, type of request, etc...

Overrides:
decodeHeader in class JHeader

getMessageType

public AbstractMessageHeader.MessageType getMessageType()

setMessageType

public void setMessageType(AbstractMessageHeader.MessageType type)
Parameters:
type -