add interface to SegmentalByteBuffer, and add new unit test cases