2
2
>
3
3
> ⛳️ STATE: WIP
4
4
>
5
- > 🇨🇳 [ 简体中文] ( README_CN.md ) 🇬🇧 [ English] ( https://github.com/yomorun/yomo -codec-golang/blob/master/README.md )
5
+ > 🇨🇳 [ 简体中文] ( README_CN.md ) 🇬🇧 [ English] ( https://github.com/yomorun/y3 -codec-golang/blob/master/README.md )
6
6
7
7
# Y3
8
- [ ![ FOSSA Status] ( https://app.fossa.com/api/projects/git%2Bgithub.com%2Fyomorun%2Fyomo -codec-golang.svg?type=shield )] ( https://app.fossa.com/projects/git%2Bgithub.com%2Fyomorun%2Fyomo -codec-golang?ref=badge_shield )
8
+ [ ![ FOSSA Status] ( https://app.fossa.com/api/projects/git%2Bgithub.com%2Fyomorun%2Fy3 -codec-golang.svg?type=shield )] ( https://app.fossa.com/projects/git%2Bgithub.com%2Fyomorun%2Fy3 -codec-golang?ref=badge_shield )
9
9
10
10
11
11
Golang implementation of [ YoMo Codec] ( https://github.com/yomorun/yomo-codec )
12
12
13
13
## 目标
14
14
15
- [ Yomo -codec-golang] ( https://github.com/yomorun/yomo -codec-golang ) 是通过golang语言实现[ YoMo Codec] ( https://github.com/yomorun/yomo-codec ) 的[ SPEC] ( https://github.com/yomorun/yomo-codec/blob/draft-01/SPEC.md ) 描述 ;提供对` TLV结构 ` 及基础数据类型进行编解码的能力,并且为[ YoMo] ( https://github.com/yomorun/yomo ) 提供支持其消息处理的编解码工具。你可以为其扩展出更多数据类型的处理,甚至可以扩展并应用到其它需要编解码的框架中。
15
+ [ y3 -codec-golang] ( https://github.com/yomorun/y3 -codec-golang ) 是通过golang语言实现[ YoMo Codec] ( https://github.com/yomorun/yomo-codec ) 的[ SPEC] ( https://github.com/yomorun/yomo-codec/blob/draft-01/SPEC.md ) 描述 ;提供对` TLV结构 ` 及基础数据类型进行编解码的能力,并且为[ YoMo] ( https://github.com/yomorun/yomo ) 提供支持其消息处理的编解码工具。你可以为其扩展出更多数据类型的处理,甚至可以扩展并应用到其它需要编解码的框架中。
16
16
17
17
## 结构
18
- ![ yomo -codec-golang-v1.0.png] ( ./docs/yomo -codec-golang-v1.0.png )
18
+ ![ y3 -codec-golang-v1.0.png] ( ./docs/y3 -codec-golang-v1.0.png )
19
19
20
20
逻辑结构上主要分为两部分:实现[ SPEC] ( https://github.com/yomorun/yomo-codec/blob/draft-01/SPEC.md ) 描述的基础编解码能力;在spec功能基础上为[ YoMo] ( https://github.com/yomorun/yomo ) 等外部框架提供的扩展能力。
21
21
@@ -133,7 +133,7 @@ package main
133
133
import (
134
134
" fmt"
135
135
136
- " github.com/yomorun/yomo -codec-golang/pkg/codes"
136
+ " github.com/yomorun/y3 -codec-golang/pkg/codes"
137
137
)
138
138
139
139
func main () {
@@ -155,7 +155,7 @@ package main
155
155
import (
156
156
" fmt"
157
157
158
- " github.com/yomorun/yomo -codec-golang/pkg/codes"
158
+ " github.com/yomorun/y3 -codec-golang/pkg/codes"
159
159
)
160
160
161
161
func main () {
@@ -180,7 +180,7 @@ import (
180
180
" fmt"
181
181
" reflect"
182
182
183
- " github.com/yomorun/yomo -codec-golang/pkg/codes"
183
+ " github.com/yomorun/y3 -codec-golang/pkg/codes"
184
184
)
185
185
186
186
func main () {
@@ -205,7 +205,7 @@ import (
205
205
" fmt"
206
206
" reflect"
207
207
208
- " github.com/yomorun/yomo -codec-golang/pkg/codes"
208
+ " github.com/yomorun/y3 -codec-golang/pkg/codes"
209
209
)
210
210
211
211
func main () {
@@ -233,7 +233,7 @@ package main
233
233
234
234
import (
235
235
" fmt"
236
- y3 " github.com/yomorun/yomo -codec-golang"
236
+ y3 " github.com/yomorun/y3 -codec-golang"
237
237
)
238
238
239
239
func main () {
@@ -271,7 +271,7 @@ package main
271
271
import (
272
272
" fmt"
273
273
274
- y3 " github.com/yomorun/yomo -codec-golang"
274
+ y3 " github.com/yomorun/y3 -codec-golang"
275
275
)
276
276
277
277
func main () {
@@ -294,7 +294,7 @@ package main
294
294
295
295
import (
296
296
" fmt"
297
- y3 " github.com/yomorun/yomo -codec-golang"
297
+ y3 " github.com/yomorun/y3 -codec-golang"
298
298
)
299
299
300
300
func main () {
@@ -335,7 +335,7 @@ import (
335
335
" fmt"
336
336
" reflect"
337
337
338
- " github.com/yomorun/yomo -codec-golang/pkg/spec/encoding"
338
+ " github.com/yomorun/y3 -codec-golang/pkg/spec/encoding"
339
339
)
340
340
341
341
func main () {
@@ -379,7 +379,7 @@ More examples in `/pkg/spec/encoding/pvarint_test.go|varfloat_test.go`
379
379
380
380
#### 测试源代码:
381
381
382
- * Y3: [ Y3 Benchmark] ( https://github.com/yomorun/yomo -codec-golang/blob/master/pkg/codes/yomo_benchmark_test.go )
382
+ * Y3: [ Y3 Benchmark] ( https://github.com/yomorun/y3 -codec-golang/blob/master/pkg/codes/yomo_benchmark_test.go )
383
383
* JSON: [ JSON Benchmark] ( https://github.com/10cella/yomo-json-codec/blob/master/codec_benchmark_test.go )
384
384
385
385
### 2. 性能比较
@@ -413,7 +413,7 @@ More examples in `/pkg/spec/encoding/pvarint_test.go|varfloat_test.go`
413
413
- [x] 支持Bool类型
414
414
- [x] v0.4.0 - 支持[ yomo-thermometer-plugin] ( https://github.com/10cella/yomo-thermometer-plugin ) 插件
415
415
- [x] 支持[ ] Thermometer{}的Mold形式
416
- - [x] [ YoMo] ( https://github.com/yomorun/yomo ) 框架的正式切换至[ Yomo -codec-golang] ( https://github.com/yomorun/yomo -codec-golang )
416
+ - [x] [ YoMo] ( https://github.com/yomorun/yomo ) 框架的正式切换至[ y3 -codec-golang] ( https://github.com/yomorun/y3 -codec-golang )
417
417
- [x] v1.0.0 - 性能压测及优化重构
418
418
- [x] YomoCodec的性能测试,与JSON实现版本的对比
419
419
- [x] 通过跳KEY解码字节流优化性能
@@ -441,4 +441,4 @@ See [SPEC](https://github.com/yomorun/yomo-codec)
441
441
[ // ] : contributor-faces
442
442
443
443
## License
444
- [ ![ FOSSA Status] ( https://app.fossa.com/api/projects/git%2Bgithub.com%2Fyomorun%2Fyomo -codec-golang.svg?type=large )] ( https://app.fossa.com/projects/git%2Bgithub.com%2Fyomorun%2Fyomo -codec-golang?ref=badge_large )
444
+ [ ![ FOSSA Status] ( https://app.fossa.com/api/projects/git%2Bgithub.com%2Fyomorun%2Fy3 -codec-golang.svg?type=large )] ( https://app.fossa.com/projects/git%2Bgithub.com%2Fyomorun%2Fy3 -codec-golang?ref=badge_large )
0 commit comments