java.lang.Object
com.slytechs.jnet.jnetpcap.PcapProConfigurator<IpfReassembler>
com.slytechs.jnet.jnetpcap.IpfReassembler
- All Implemented Interfaces:
PcapProConfigurator.PostRxProcessor,PcapProConfigurator.RxProcessor
public class IpfReassembler
extends PcapProConfigurator<IpfReassembler>
implements PcapProConfigurator.PostRxProcessor
The Class IpfReassembler.
- Author:
- Sly Technologies Inc, repos@slytechs.com
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassEffective or the result of combining of all the main properties and modes.Nested classes/interfaces inherited from class com.slytechs.jnet.jnetpcap.PcapProConfigurator
PcapProConfigurator.PostRxProcessor, PcapProConfigurator.PostRxProcessorFactory<T extends PcapProConfigurator.PostRxProcessor>, PcapProConfigurator.PreRxProcessor, PcapProConfigurator.PreRxProcessorFactory<T extends PcapProConfigurator.PreRxProcessor>, PcapProConfigurator.RxProcessor, PcapProConfigurator.TxProcessor -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringSystem property which enables attachment of reassembled dgram to the last IP fragment (default is true).static final StringSystem property which enables attachment of partially reassembled IP dgram to the last IP fragment (default is true).static final StringSystem property which defines the reassembly buffer for IPF (default is 1MB).static final StringSystem property which enables IPF data pass-through/forwarding (default is true).static final StringSystem property which enables reassembled and fully complete, IPF dgram injection/pass-through (default is false).static final StringSystem property which enables reassembled but incomplete, IPF dgram injection/pass-through (default is false).static final StringSystem property which enables IPF fragment tracking and reassembly (default is false).static final StringSystem property which enables IPF fragment reassembly (default true).static final StringSystem property which enables IPF fragment tracking (default false).static final StringSystem property which defines the maximum IP datagram size (default is 64KB).static final StringSystem property which defines the maximum number of IP fragments which can be tracked at once.static final StringSystem property which enables original IPF fragment pass-through (default is true).static final StringSystem property which defines the default table size, number of entries (default is 16K).static final StringSystem property which defines timeout period during IPF reassembly/Tracking (default is 2 seconds).static final StringSystem property which determines IPF fragment timeout for incomplete reassembly (default false).static final StringThe property ipf timeout queue size. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCompute effective config.enableAttachComplete(boolean attachComplete) Enable attach complete.enableAttachIncomplete(boolean attachIncomplete) Enable attach incomplete.enablePassthrough(boolean passthrough) Enable passthrough.enableReassembly(boolean reassemblyEnabled) Enable reassembly.enableSend(boolean send) Enable send.enableSendComplete(boolean sendComplete) Enable send complete.enableSendIncomplete(boolean sendIncomplete) Enable send incomplete.enableTracking(boolean trackingEnabled) Enable tracking.intGets the buffer size.intGets the max dgram bytes.intGets the max fragment count.intGets the table size.longGets the timeout milli.intGets the timeout queue size.com.slytechs.jnet.jnetruntime.time.TimestampSourceGets the time source.booleanChecks if is attach complete.booleanChecks if is attach incomplete.booleanChecks if is passthrough.booleanChecks if is reassembly enabled.booleanisSend()Checks if is send.booleanChecks if is send complete.booleanChecks if is send incomplete.booleanChecks if is timeout on last.booleanChecks if is tracking enabled.setBufferSize(int bufferSize) Sets the buffer size.setBufferSize(int bufferSize, com.slytechs.jnet.jnetruntime.util.MemoryUnit unit) Sets the buffer size.setMaxDgramSize(int maxDgramBytes) Sets the max dgram size.setMaxDgramSize(int maxDgramBytes, com.slytechs.jnet.jnetruntime.util.MemoryUnit unit) Sets the max dgram size.setTableMaxFragmentCount(int maxFragmentCount) Sets the table max fragment count.setTableSize(int tableSize) Sets the table size.setTableSize(int tableSize, com.slytechs.jnet.jnetruntime.util.CountUnit unit) Sets the table size.setTimeout(long duration, TimeUnit unit) Sets the timeout.setTimeoutMilli(long timeoutMilli) Sets the timeout milli.setTimeoutOnLast(boolean timeoutOnLast) Sets the timeout on last.setTimeoutQueueSize(int timeoutQueueSize) Sets the timeout queue size.setTimeoutQueueSize(int timeoutQueueSize, com.slytechs.jnet.jnetruntime.util.CountUnit unit) Sets the timeout queue size.Use packet timesource.Use system timesource.Methods inherited from class com.slytechs.jnet.jnetpcap.PcapProConfigurator
enable, enableIf, getPcapContext, isEnabled
-
Field Details
-
PROPERTY_IPF_MAX_DGRAM_BYTES
System property which defines the maximum IP datagram size (default is 64KB).- See Also:
-
PROPERTY_IPF_TABLE_SIZE
System property which defines the default table size, number of entries (default is 16K).- See Also:
-
PROPERTY_IPF_BUFFER_SIZE
System property which defines the reassembly buffer for IPF (default is 1MB).- See Also:
-
PROPERTY_IPF_TIMEOUT
System property which defines timeout period during IPF reassembly/Tracking (default is 2 seconds).- See Also:
-
PROPERTY_IPF_TIMEOUT_QUEUE_SIZE
The property ipf timeout queue size.- See Also:
-
PROPERTY_IPF_TIMEOUT_ON_LAST
System property which determines IPF fragment timeout for incomplete reassembly (default false). When true, IPF will stop reassembling when last fragment is seen even when Dgram is incomplete. If false the IPF reassembly will timeout/stop when timeout interval expires.- See Also:
-
PROPERTY_IPF_PASSTHROUGH
System property which enables original IPF fragment pass-through (default is true).- See Also:
-
PROPERTY_IPF_DGRAMS_SEND
System property which enables IPF data pass-through/forwarding (default is true).- See Also:
-
PROPERTY_IPF_DGRAMS_SEND_INCOMPLETE
System property which enables reassembled but incomplete, IPF dgram injection/pass-through (default is false).- See Also:
-
PROPERTY_IPF_DGRAMS_SEND_COMPLETE
System property which enables reassembled and fully complete, IPF dgram injection/pass-through (default is false).- See Also:
-
PROPERTY_IPF_MAX_FRAGMENT_COUNT
System property which defines the maximum number of IP fragments which can be tracked at once.- See Also:
-
PROPERTY_IPF_ATTACH_COMPLETE
System property which enables attachment of reassembled dgram to the last IP fragment (default is true).- See Also:
-
PROPERTY_IPF_ATTACH_INCOMPLETE
System property which enables attachment of partially reassembled IP dgram to the last IP fragment (default is true).- See Also:
-
PROPERTY_IPF_ENABLE
System property which enables IPF fragment tracking and reassembly (default is false).- See Also:
-
PROPERTY_IPF_ENABLE_REASSEMBLY
System property which enables IPF fragment reassembly (default true).- See Also:
-
PROPERTY_IPF_ENABLE_TRACKING
System property which enables IPF fragment tracking (default false).- See Also:
-
-
Constructor Details
-
IpfReassembler
public IpfReassembler()Instantiates a new ipf reassembler.
-
-
Method Details
-
computeEffectiveConfig
Compute effective config.- Returns:
- the effective config
-
enableAttachComplete
Enable attach complete.- Parameters:
attachComplete- the attach complete- Returns:
- the ipf reassembler
-
enableAttachIncomplete
Enable attach incomplete.- Parameters:
attachIncomplete- the attach incomplete- Returns:
- the ipf reassembler
-
enablePassthrough
Enable passthrough.- Parameters:
passthrough- the passthrough- Returns:
- the ipf reassembler
-
enableReassembly
Enable reassembly.- Parameters:
reassemblyEnabled- the reassembly enabled- Returns:
- the ipf reassembler
-
enableSend
Enable send.- Parameters:
send- the send- Returns:
- the ipf reassembler
-
enableSendComplete
Enable send complete.- Parameters:
sendComplete- the send complete- Returns:
- the ipf reassembler
-
enableSendIncomplete
Enable send incomplete.- Parameters:
sendIncomplete- the send incomplete- Returns:
- the ipf reassembler
-
enableTracking
Enable tracking.- Parameters:
trackingEnabled- the tracking enabled- Returns:
- the ipf reassembler
-
getBufferSize
public int getBufferSize()Gets the buffer size.- Returns:
- the buffer size
-
getMaxDgramBytes
public int getMaxDgramBytes()Gets the max dgram bytes.- Returns:
- the max dgram bytes
-
getMaxFragmentCount
public int getMaxFragmentCount()Gets the max fragment count.- Returns:
- the max fragment count
-
getTableSize
public int getTableSize()Gets the table size.- Returns:
- the table size
-
getTimeoutMilli
public long getTimeoutMilli()Gets the timeout milli.- Returns:
- the timeout milli
-
getTimeoutQueueSize
public int getTimeoutQueueSize()Gets the timeout queue size.- Returns:
- the timeout queue size
-
getTimeSource
public com.slytechs.jnet.jnetruntime.time.TimestampSource getTimeSource()Gets the time source.- Returns:
- the time source
-
isAttachComplete
public boolean isAttachComplete()Checks if is attach complete.- Returns:
- true, if is attach complete
-
isAttachIncomplete
public boolean isAttachIncomplete()Checks if is attach incomplete.- Returns:
- true, if is attach incomplete
-
isPassthrough
public boolean isPassthrough()Checks if is passthrough.- Returns:
- true, if is passthrough
-
isReassemblyEnabled
public boolean isReassemblyEnabled()Checks if is reassembly enabled.- Returns:
- true, if is reassembly enabled
-
isSend
public boolean isSend()Checks if is send.- Returns:
- true, if is send
-
isSendComplete
public boolean isSendComplete()Checks if is send complete.- Returns:
- true, if is send complete
-
isSendIncomplete
public boolean isSendIncomplete()Checks if is send incomplete.- Returns:
- true, if is send incomplete
-
isTimeoutOnLast
public boolean isTimeoutOnLast()Checks if is timeout on last.- Returns:
- true, if is timeout on last
-
isTrackingEnabled
public boolean isTrackingEnabled()Checks if is tracking enabled.- Returns:
- true, if is tracking enabled
-
setBufferSize
Sets the buffer size.- Parameters:
bufferSize- the buffer size- Returns:
- the ipf reassembler
-
setBufferSize
public IpfReassembler setBufferSize(int bufferSize, com.slytechs.jnet.jnetruntime.util.MemoryUnit unit) Sets the buffer size.- Parameters:
bufferSize- the buffer sizeunit- the unit- Returns:
- the ipf reassembler
-
setMaxDgramSize
Sets the max dgram size.- Parameters:
maxDgramBytes- the max dgram bytes- Returns:
- the ipf reassembler
-
setMaxDgramSize
public IpfReassembler setMaxDgramSize(int maxDgramBytes, com.slytechs.jnet.jnetruntime.util.MemoryUnit unit) Sets the max dgram size.- Parameters:
maxDgramBytes- the max dgram bytesunit- the unit- Returns:
- the ipf reassembler
-
setTableMaxFragmentCount
Sets the table max fragment count.- Parameters:
maxFragmentCount- the max fragment count- Returns:
- the ipf reassembler
-
setTableSize
Sets the table size.- Parameters:
tableSize- the table size- Returns:
- the ipf reassembler
-
setTableSize
public IpfReassembler setTableSize(int tableSize, com.slytechs.jnet.jnetruntime.util.CountUnit unit) Sets the table size.- Parameters:
tableSize- the table sizeunit- the unit- Returns:
- the ipf reassembler
-
setTimeout
Sets the timeout.- Parameters:
duration- the durationunit- the unit- Returns:
- the ipf reassembler
-
setTimeoutMilli
Sets the timeout milli.- Parameters:
timeoutMilli- the timeout milli- Returns:
- the ipf reassembler
-
setTimeoutOnLast
Sets the timeout on last.- Parameters:
timeoutOnLast- the timeout on last- Returns:
- the ipf reassembler
-
setTimeoutQueueSize
Sets the timeout queue size.- Parameters:
timeoutQueueSize- the timeout queue size- Returns:
- the ipf reassembler
-
setTimeoutQueueSize
public IpfReassembler setTimeoutQueueSize(int timeoutQueueSize, com.slytechs.jnet.jnetruntime.util.CountUnit unit) Sets the timeout queue size.- Parameters:
timeoutQueueSize- the timeout queue sizeunit- the unit- Returns:
- the ipf reassembler
-
usePacketTimesource
Use packet timesource.- Returns:
- the ipf reassembler
-
useSystemTimesource
Use system timesource.- Returns:
- the ipf reassembler
-