public class ErrorGeneratingFilter extends IoFilterAdapter
IoFilter implementation generating random bytes and PDU modification in
your communication streams.
It's quite simple to use :
ErrorGeneratingFilter egf = new ErrorGeneratingFilter();
For activate the change of some bytes in your IoBuffer, for a probability of 200 out
of 1000 IoBuffer processed :
egf.setChangeByteProbability(200);
For activate the insertion of some bytes in your IoBuffer, for a
probability of 200 out of 1000 :
egf.setInsertByteProbability(200);
And for the removing of some bytes :
egf.setRemoveByteProbability(200);
You can activate the error generation for write or read with the
following methods :
egf.setManipulateReads(true);
egf.setManipulateWrites(true); IoFilter.NextFilter| Constructor and Description |
|---|
ErrorGeneratingFilter() |
| Modifier and Type | Method and Description |
|---|---|
void |
filterWrite(IoFilter.NextFilter nextFilter,
IoSession session,
WriteRequest writeRequest)
Filters
IoSession.write(Object) method invocation. |
int |
getChangeByteProbability() |
int |
getDuplicatePduProbability() |
int |
getInsertByteProbability() |
int |
getMaxInsertByte() |
int |
getRemoveByteProbability() |
int |
getRemovePduProbability() |
int |
getResendPduLasterProbability() |
boolean |
isManipulateReads() |
boolean |
isManipulateWrites() |
void |
messageReceived(IoFilter.NextFilter nextFilter,
IoSession session,
Object message)
Filters
IoHandler.messageReceived(IoSession,Object)
event. |
void |
setChangeByteProbability(int changeByteProbability)
Set the probability for the change byte error.
|
void |
setDuplicatePduProbability(int duplicatePduProbability)
not functional ATM
|
void |
setInsertByteProbability(int insertByteProbability)
Set the probability for the insert byte error.
|
void |
setManipulateReads(boolean manipulateReads)
Set to true if you want to apply error to the read
IoBuffer |
void |
setManipulateWrites(boolean manipulateWrites)
Set to true if you want to apply error to the written
IoBuffer |
void |
setMaxInsertByte(int maxInsertByte)
Set the maximum number of byte the filter can insert in a
IoBuffer. |
void |
setRemoveByteProbability(int removeByteProbability)
Set the probability for the remove byte error.
|
void |
setRemovePduProbability(int removePduProbability)
not functional ATM
|
void |
setResendPduLasterProbability(int resendPduLasterProbability)
not functional ATM
|
destroy, exceptionCaught, filterClose, init, messageSent, onPostAdd, onPostRemove, onPreAdd, onPreRemove, sessionClosed, sessionCreated, sessionIdle, sessionOpened, toStringpublic void filterWrite(IoFilter.NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception
IoFilterAdapterIoSession.write(Object) method invocation.filterWrite in interface IoFilterfilterWrite in class IoFilterAdapterExceptionpublic void messageReceived(IoFilter.NextFilter nextFilter, IoSession session, Object message) throws Exception
IoFilterAdapterIoHandler.messageReceived(IoSession,Object)
event.messageReceived in interface IoFiltermessageReceived in class IoFilterAdapterExceptionpublic int getChangeByteProbability()
public void setChangeByteProbability(int changeByteProbability)
IoBuffer.changeByteProbability - probability of modifying an IoBuffer out of 1000 processed IoBufferpublic int getDuplicatePduProbability()
public void setDuplicatePduProbability(int duplicatePduProbability)
duplicatePduProbability - public int getInsertByteProbability()
public void setInsertByteProbability(int insertByteProbability)
IoBuffer.changeByteProbability - probability of inserting in IoBuffer out of 1000 processed IoBufferpublic boolean isManipulateReads()
public void setManipulateReads(boolean manipulateReads)
IoBuffermanipulateReads - public boolean isManipulateWrites()
public void setManipulateWrites(boolean manipulateWrites)
IoBuffermanipulateWrites - public int getRemoveByteProbability()
public void setRemoveByteProbability(int removeByteProbability)
IoBuffer.changeByteProbability - probability of modifying an IoBuffer out of 1000 processed IoBufferpublic int getRemovePduProbability()
public void setRemovePduProbability(int removePduProbability)
removePduProbability - public int getResendPduLasterProbability()
public void setResendPduLasterProbability(int resendPduLasterProbability)
resendPduLasterProbability - public int getMaxInsertByte()