mina prefixedDataAvailable:
not that using this method can allow DoS (Denial of Service) attack in case the remote peer sends too big data length value.
意思是说要注意数据太大问题, 默认方法是MaxInt上限,相当于没有限制长度的发送。
/**
* Returns <tt>true</tt> if this buffer contains a data which has a data
* length as a prefix and the buffer has remaining data as enough as
* specified in the data length field. This method is identical with
* <tt>prefixedDataAvailable( prefixLength, Integer.MAX_VALUE )</tt>. Please
* not that using this method can allow DoS (Denial of Service) attack in
* case the remote peer sends too big data length value. It is recommended
* to use {@link #prefixedDataAvailable(int, int)} instead.
*
* @param prefixLength
* the length of the prefix field (1, 2, or 4)
*
* @throws IllegalArgumentException
* if prefixLength is wrong
* @throws BufferDataException
* if data length is negative
*/
public abstract boolean prefixedDataAvailable(int prefixLength);
/**
* Returns <tt>true</tt> if this buffer contains a data which has a data
* length as a prefix and the buffer has remaining data as enough as
* specified in the data length field.
*
* @param prefixLength
* the length of the prefix field (1, 2, or 4)
* @param maxDataLength
* the allowed maximum of the read data length
*
* @throws IllegalArgumentException
* if prefixLength is wrong
* @throws BufferDataException
* if data length is negative or greater then
* <tt>maxDataLength</tt>
*/
public abstract boolean prefixedDataAvailable(int prefixLength, int maxDataLength);