optimize: packet builder & string/bytes I/O process #32
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
utils.PacketBuilder
与binary.Builder
极为相似,因此将二者合并(有助于日后池化)。string
和[]bytes
互转为零拷贝的utils.B2S
和utils.S2B
(为引入此方法,升级go版本到1.20)。main.go
自动生成的文件添加到ignore。make([]byte, 0)
为等价的nil
。Pack
的默认参数-1
添加宏定义binary.PackTypeNone
。info/sig.go
中默认空值的冗余声明使其更简洁。NewBuilder
添加64字节的预分配空间以减少append时的扩容次数。