org.jnetpcap.protocol.tcpip
Class TcpSequencer

java.lang.Object
  extended by org.jnetpcap.packet.analysis.AbstractAnalyzer
      extended by org.jnetpcap.packet.analysis.AbstractSequencer
          extended by org.jnetpcap.protocol.tcpip.TcpSequencer
All Implemented Interfaces:
AnalyzerListener<TcpStreamEvent>, FragmentSequencer, JAnalyzer

public class TcpSequencer
extends AbstractSequencer
implements AnalyzerListener<TcpStreamEvent>

Groups related tcp segments in contigues sequences. Sequences analyzes tcp segments, rearranges them and groups them into related segments. Notifies its listeners using events which can further process the grouped segments. For example TcpAssembler uses these sequences to reassemble the separate tcp segements into a single buffer.

Author:
Mark Bednarczyk, Sly Technologies, Inc.

Field Summary
 
Fields inherited from class org.jnetpcap.packet.analysis.AbstractSequencer
fragmentation, fragSupport
 
Fields inherited from interface org.jnetpcap.packet.analysis.FragmentSequencer
DEFAULT_FRAGMENT_TIMEOUT, reassembly
 
Constructor Summary
TcpSequencer()
           
 
Method Summary
 java.util.List<JAnalysis> generateInfo(FragmentSequence sequence)
          Allows an analyzer to generate analyzer specific information to be displayed by formatters.
 void processAnalyzerEvent(TcpStreamEvent evt)
           
 boolean processPacket(JPacket packet)
           
 void setConsume(boolean consume)
           
 void setFragmentationBoundary(int hash, long start, long length)
           
 void setFragmentationBoundary(JPacket packet, long length)
           
 
Methods inherited from class org.jnetpcap.packet.analysis.AbstractSequencer
addFragmentationListener, getProcessingTime, getSequence, removeFragmentationListener, removeSequence, setProcessingTime, timeout
 
Methods inherited from class org.jnetpcap.packet.analysis.AbstractAnalyzer
consumePacket, getInQueue, getOutQueue, getPriority, getTimeoutQueue, hold, processHeaders, processHeaders, release, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jnetpcap.packet.analysis.JAnalyzer
consumePacket, getInQueue, getOutQueue, getPriority, getTimeoutQueue, hold, processHeaders, processHeaders, release, setParent
 

Constructor Detail

TcpSequencer

public TcpSequencer()
Method Detail

generateInfo

public java.util.List<JAnalysis> generateInfo(FragmentSequence sequence)
Description copied from interface: FragmentSequencer
Allows an analyzer to generate analyzer specific information to be displayed by formatters.

Specified by:
generateInfo in interface FragmentSequencer
Returns:
list typically made up of AnalysisInfo objects

processAnalyzerEvent

public void processAnalyzerEvent(TcpStreamEvent evt)
Specified by:
processAnalyzerEvent in interface AnalyzerListener<TcpStreamEvent>

processPacket

public boolean processPacket(JPacket packet)
Specified by:
processPacket in interface JAnalyzer
Specified by:
processPacket in class AbstractAnalyzer

setFragmentationBoundary

public void setFragmentationBoundary(int hash,
                                     long start,
                                     long length)

setFragmentationBoundary

public void setFragmentationBoundary(JPacket packet,
                                     long length)

setConsume

public void setConsume(boolean consume)
Parameters:
b -