7.3 读写指针相关的API

readerIndex()与readerIndex(int)

前者表示返回当前的读指针readerIndex,后者表示设置读指针。

writeIndex()与writeIndex(int)

前者表示返回当前的写指针writerIndex,后者表示设置写指针。

markReaderIndex()与resetReaderIndex()

前者表示把当前的读指针保存起来,后者表示把当前的读指针恢复到之前保存的值。下面两段代码是等价的。

希望大家多使用代码片段二这种方式,不需要自己定义变量。无论Buffer被当作参数传递到哪里,调用resetReaderIndex()都可以恢复到之前的状态,在解析自定义协议的数据包时非常常见,推荐大家使用这一对API。

markWriterIndex()与resetWriterIndex()

这一对API的作用与上一对API类似,这里不再赘述。