Class ErrorGeneratingFilter

  • All Implemented Interfaces:
    IoFilter

    public class ErrorGeneratingFilter
    extends IoFilterAdapter
    An 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);
    Author:
    Apache MINA Project
    • Constructor Detail

      • ErrorGeneratingFilter

        public ErrorGeneratingFilter()
    • Method Detail

      • getChangeByteProbability

        public int getChangeByteProbability()
        Returns:
        The probably that a byte changes
      • setChangeByteProbability

        public void setChangeByteProbability​(int changeByteProbability)
        Set the probability for the change byte error. If this probability is > 0 the filter will modify a random number of byte of the processed IoBuffer.
        Parameters:
        changeByteProbability - probability of modifying an IoBuffer out of 1000 processed IoBuffer
      • getDuplicatePduProbability

        public int getDuplicatePduProbability()
        Returns:
        The probability for generating duplicated PDU
      • setDuplicatePduProbability

        public void setDuplicatePduProbability​(int duplicatePduProbability)
        not functional ATM
        Parameters:
        duplicatePduProbability - The probability for generating duplicated PDU
      • getInsertByteProbability

        public int getInsertByteProbability()
        Returns:
        the probability for the insert byte error.
      • setInsertByteProbability

        public void setInsertByteProbability​(int insertByteProbability)
        Set the probability for the insert byte error. If this probability is > 0 the filter will insert a random number of byte in the processed IoBuffer.
        Parameters:
        insertByteProbability - probability of inserting in IoBuffer out of 1000 processed IoBuffer
      • isManipulateReads

        public boolean isManipulateReads()
        Returns:
        The number of manipulated reads
      • setManipulateReads

        public void setManipulateReads​(boolean manipulateReads)
        Set to true if you want to apply error to the read IoBuffer
        Parameters:
        manipulateReads - The number of manipulated reads
      • isManipulateWrites

        public boolean isManipulateWrites()
        Returns:
        If manipulated writes are expected or not
      • setManipulateWrites

        public void setManipulateWrites​(boolean manipulateWrites)
        Set to true if you want to apply error to the written IoBuffer
        Parameters:
        manipulateWrites - If manipulated writes are expected or not
      • getRemoveByteProbability

        public int getRemoveByteProbability()
        Returns:
        The probability for the remove byte error
      • setRemoveByteProbability

        public void setRemoveByteProbability​(int removeByteProbability)
        Set the probability for the remove byte error. If this probability is > 0 the filter will remove a random number of byte in the processed IoBuffer.
        Parameters:
        removeByteProbability - probability of modifying an IoBuffer out of 1000 processed IoBuffer
      • getRemovePduProbability

        public int getRemovePduProbability()
        Returns:
        The PDU removal probability
      • setRemovePduProbability

        public void setRemovePduProbability​(int removePduProbability)
        not functional ATM
        Parameters:
        removePduProbability - The PDU removal probability
      • getResendPduLasterProbability

        public int getResendPduLasterProbability()
        Returns:
        The delay before a resend
      • setResendPduLasterProbability

        public void setResendPduLasterProbability​(int resendPduLasterProbability)
        not functional ATM
        Parameters:
        resendPduLasterProbability - The delay before a resend
      • getMaxInsertByte

        public int getMaxInsertByte()
        Returns:
        maximum bytes inserted in a IoBuffer
      • setMaxInsertByte

        public void setMaxInsertByte​(int maxInsertByte)
        Set the maximum number of byte the filter can insert in a IoBuffer. The default value is 10.
        Parameters:
        maxInsertByte - maximum bytes inserted in a IoBuffer