org.jnetpcap.protocol.tcpip
Class TcpAssembler

java.lang.Object
  extended by org.jnetpcap.packet.analysis.AbstractAnalyzer
      extended by org.jnetpcap.protocol.tcpip.TcpAssembler
All Implemented Interfaces:
AnalyzerListener<FragmentSequenceEvent>, FragmentAssembler, JAnalyzer

public class TcpAssembler
extends AbstractAnalyzer
implements FragmentAssembler, AnalyzerListener<FragmentSequenceEvent>

Tcp reassembler. Assembles sequences of tcp segments into a contigues stream of data. TcpAssembler works with TcpSequencer to reassemble portions of the tcp segments. Higher level protocol must specify which portions of the tcp stream to reassemble.

Author:
Mark Bednarczyk, Sly Technologies, Inc.

Constructor Summary
TcpAssembler()
           
TcpAssembler(TcpSequencer parent)
           
 
Method Summary
<U> boolean
addReassemblyListener(AnalyzerListener<FragmentAssemblyEvent> listener, U user)
           
 void processAnalyzerEvent(FragmentSequenceEvent evt)
           
 boolean processPacket(JPacket packet)
           
 boolean removeReassemblyListener(AnalyzerListener<FragmentAssemblyEvent> listener)
           
 
Methods inherited from class org.jnetpcap.packet.analysis.AbstractAnalyzer
consumePacket, getInQueue, getOutQueue, getPriority, getProcessingTime, 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, getProcessingTime, getTimeoutQueue, hold, processHeaders, processHeaders, release, setParent
 

Constructor Detail

TcpAssembler

public TcpAssembler()

TcpAssembler

public TcpAssembler(TcpSequencer parent)
Parameters:
priority -
parent -
Method Detail

addReassemblyListener

public <U> boolean addReassemblyListener(AnalyzerListener<FragmentAssemblyEvent> listener,
                                         U user)
Type Parameters:
U -
Parameters:
listener -
user -
Returns:
See Also:
AnalyzerSupport.addListener(org.jnetpcap.packet.analysis.AnalyzerListener, java.lang.Object)

processAnalyzerEvent

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

processPacket

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

removeReassemblyListener

public boolean removeReassemblyListener(AnalyzerListener<FragmentAssemblyEvent> listener)
Parameters:
listener -
Returns:
See Also:
AnalyzerSupport.removeListener(org.jnetpcap.packet.analysis.AnalyzerListener)