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:
JPayloadAccessor
Direct Known Subclasses:
Http, Sip

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
protected  java.lang.String rawHeader
           
 
Fields inherited from class org.jnetpcap.packet.JHeader
annotatedHeader, BYTE, EMPTY_HEADER_ARRAY, isSubHeader, packet, state
 
Fields inherited from class org.jnetpcap.nio.JMemory
JNETPCAP_LIBRARY_NAME, POINTER
 
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
decode, getAnnotatedHeader, getDescription, getFields, getGap, getGapLength, getGapOffset, getHeader, getHeaderLength, getHeaderOffset, getId, getIndex, getLength, getName, getNextHeaderId, getNextHeaderOffset, getNicname, getOffset, getPacket, getParent, getPayload, getPayloadLength, getPayloadOffset, getPostfix, getPostfixLength, getPostfixOffset, getPrefix, getPrefixLength, getPrefixOffset, getPreviousHeaderId, getPreviousHeaderOffset, getState, getSubHeaders, hasDescription, hasGap, hasNextHeader, hasPayload, hasPostfix, hasPrefix, hasPreviousHeader, hasSubHeaders, isFragmented, isGapTruncated, isHeaderTruncated, isPayloadTruncated, isPostfixTruncated, isPrefixTruncated, peer, peer, peerPayloadTo, setPacket, setSubHeaders, sizeof, toString, transferPayloadTo, transferPayloadTo, transferPayloadTo, validateHeader
 
Methods inherited from class org.jnetpcap.nio.JBuffer
findUTF8String, getByte, getByteArray, 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
 

Field Detail

rawHeader

protected java.lang.String rawHeader
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 -