public final class DefaultStreamHandler extends Object implements StreamHandler
StreamHandler that will try and figure out if the
Frames it received belongs to a particular Stream and if so,
it will parse the Frame into a Packet and add it to the
corresponding Stream.| Constructor and Description |
|---|
DefaultStreamHandler() |
| Modifier and Type | Method and Description |
|---|---|
void |
addStreamListener(StreamListener<? extends Packet> listener)
To make life easier for the user we will figure out the type of
StreamListener the user passed and based on that setup the
correct stream analyzer etc. |
SipStatistics |
getSipStatistics()
If there is a registered
StreamListener for SipPackets
then this StreamHandler will start processing SIP messages for
which you can get all the statistics for through this method. |
Map<StreamId,? extends Stream> |
getStreams()
Through the
StreamListener.startStream(Stream, Packet) and
StreamListener.endStream(Stream) you will get notified when a
stream starts and when it ends. |
boolean |
nextPacket(Packet packet) |
void |
setFragmentListener(FragmentListener listener)
Set the
FragmentListener. |
public boolean nextPacket(Packet packet)
nextPacket in interface PacketHandlerpublic void addStreamListener(StreamListener<? extends Packet> listener)
StreamListener the user passed and based on that setup the
correct stream analyzer etc.
Add a StreamListener to this StreamHandler.addStreamListener in interface StreamHandlerpublic void setFragmentListener(FragmentListener listener)
StreamHandlerFragmentListener. Note, only one of these listeners is
allowed so if you set a second one the previous listener will be thrown
away.setFragmentListener in interface StreamHandlerlistener - public SipStatistics getSipStatistics()
StreamHandlerStreamListener for SipPackets
then this StreamHandler will start processing SIP messages for
which you can get all the statistics for through this method.getSipStatistics in interface StreamHandlerSipStatistics object. Note, if this
StreamHandler has not been configured to handle sip
traffic then all the stats will be zero.public Map<StreamId,? extends Stream> getStreams()
StreamHandlerStreamListener.startStream(Stream, Packet) and
StreamListener.endStream(Stream) you will get notified when a
stream starts and when it ends. However, at the end of a run there may be
many streams that are still "running". E.g., in the case of SIP, there
are probably many un-terminated INVITE dialogs, i.e. calls that are still
in the process of being established or still in call. These streams have
not ended yet so at the end of the run you can use this method to get all
the streams that are left.getStreams in interface StreamHandlerCopyright © 2021. All Rights Reserved.