Class DefaultIoEventSizeEstimator

  • All Implemented Interfaces:
    IoEventSizeEstimator

    public class DefaultIoEventSizeEstimator
    extends Object
    implements IoEventSizeEstimator
    A default IoEventSizeEstimator implementation.

    Martin's Java Notes was used for estimation. For unknown types, it inspects declaring fields of the class of the specified event and the parameter of the event. The size of unknown declaring fields are approximated to the specified averageSizePerField (default: 64).

    All the estimated sizes of classes are cached for performance improvement.

    Author:
    Apache MINA Project
    • Constructor Detail

      • DefaultIoEventSizeEstimator

        public DefaultIoEventSizeEstimator()
        Create a new instance of this class, injecting the known size of basic java types.
    • Method Detail

      • estimateSize

        public int estimateSize​(IoEvent event)
        Estimate the IoEvent size in number of bytes
        Specified by:
        estimateSize in interface IoEventSizeEstimator
        Parameters:
        event - The event we want to estimate the size of
        Returns:
        The estimated size of this event
      • estimateSize

        public int estimateSize​(Object message)
        Estimate the size of an Object in number of bytes
        Parameters:
        message - The object to estimate
        Returns:
        The estimated size of the object