not need to call data.readableBytes() two times... just do it one time and use the value here.