Commit Graph

57 Commits

Author SHA1 Message Date
Marina Sakai ba1cfef7ae
fix(thrift): write default val for optional fields (#79)
fix: write default val for optional fields
2024-10-25 18:05:19 +08:00
Kehan Yin fa8cd914a0
chore: update protobuf version in go mod for security (#78)
chore: update protobuf version in go mod

Co-authored-by: yinkehan <yinkehan666@gmail.com>
2024-10-15 19:12:27 +08:00
Marina Sakai 81665bf110
feat(proto): support an API to return whether the pb idl is parsed with CombineServices mode (#77)
* feat: support isCombinedServices

* chore: import
2024-10-09 16:22:47 +08:00
Yi Duan 63139a6dd8
fix:(j2t/native) panic when fieldmap is empty (#76)
* test

* fix:(j2t) should check if all names are empty
2024-09-24 10:58:39 +08:00
Yi Duan 3c00b4dbf8
refactor: merge fieldmap code into one package; (#75)
fix: get() panic when no field is set
2024-09-20 18:51:01 +08:00
Kyle Xiao b8eee870d3
chore: rm unused base.TrafficEnv (#73) 2024-08-26 17:20:06 +08:00
ThinkerQAQ cb44ce6d91
feat:(thrift) support putting IDL filename into Descriptor's annotations (#71)
Co-authored-by: zhangshengkun <zhangshengkun@bytedance.com>
2024-08-12 19:11:02 +08:00
cicada 0edfd20a9a
fix empty biz body unwrapBinary EOF error (#70)
Co-authored-by: xielei.xielei <xielei.xielei@bytedance.com>
2024-08-11 01:13:48 +08:00
Kyle Xiao 2326e652ba
refactor: rm github.com/apache/thrift (#68) 2024-07-31 18:06:25 +08:00
Xin Hao ec9390301d
chore: Delete .DS_Store file (#65) 2024-07-31 17:21:13 +08:00
Yi Duan 1e6bfcabfa
feat: support go1.23 (#66)
* chore: support go1.23

* update sonic

* opt: recover to print more context

* opt: make more panic msg

* update mod

* update ci

* add go1.23 ci

* fix: checkptr

* remove all API docs onto go.dev

* update
2024-07-31 11:10:13 +08:00
Yi Duan 7f139dd108
fix:(j2t) keep input memory alive (#64) 2024-07-19 16:38:44 +08:00
Marina Sakai 2d344ea7df
fix(conv): fix misuse of String2Int64 (#62)
* fix: conv option

* chore: modify comment
2024-07-01 17:30:20 +08:00
Kyle Xiao 4d3e104749
perf(thrift): new pure go Skip impl, 1x better performance (#59)
perf(thrift): new pure go Skip impl

goos: darwin
goarch: amd64
pkg: github.com/cloudwego/dynamicgo/thrift
cpu: VirtualApple @ 2.50GHz
                      │  ./old.txt  │              ./new.txt              │
                      │   sec/op    │   sec/op     vs base                │
SkipNoCheck/native-10   185.9n ± 1%   172.6n ± 1%   -7.13% (p=0.000 n=10)
SkipNoCheck/go-10       199.2n ± 1%   100.4n ± 1%  -49.62% (p=0.000 n=10)
geomean                 192.4n        131.6n       -31.60%

                      │  ./old.txt   │              ./new.txt               │
                      │     B/s      │     B/s       vs base                │
SkipNoCheck/native-10   333.6Mi ± 1%   359.1Mi ± 1%   +7.65% (p=0.000 n=10)
SkipNoCheck/go-10       311.1Mi ± 1%   617.9Mi ± 1%  +98.58% (p=0.000 n=10)
geomean                 322.2Mi        471.0Mi       +46.21%
2024-06-26 15:08:09 +08:00
Kyle Xiao 738bcc32f7
chore: ci minimum go1.17, benchmark go1.19 (#60) 2024-06-26 13:43:15 +08:00
Kehan Yin 1ce2e1f5d2
fix(j2p): support sint/fixed/sfixed types convertion and generic call (#57)
* test: add test data for pb

* fix: fix convert error with sint,fix32,fix64

* test: test proto generic example

* feat(proto): support streaming mode for proto (#56)

feat: support streaming mode for proto

* fix: fix unsafe convert

* style: delete unused code

* test: delete service code in proto

* test: update test data

* fix: encodeMapKey

* test: test sint/fix types map

---------

Co-authored-by: Marina Sakai <118230951+Marina-Sakai@users.noreply.github.com>
2024-06-17 12:02:20 +08:00
Marina Sakai 5f5563faf1
fix: register api key (#58)
fix: reigster api key
2024-06-12 11:45:56 +08:00
Yi Duan f16948c92f
fix:(j2t) write redundant `base.Base` to thrift (#55)
* refactor: handler write base better

* comment
2024-06-11 15:33:37 +08:00
Marina Sakai 4e62279d00
feat(proto): support streaming mode for proto (#56)
feat: support streaming mode for proto
2024-06-10 18:01:38 +08:00
Yi Duan 6c0a5cc0fc
chore: drop dependency on kitex (#54)
* chore: drop dependency on kitex

* update CI

* chore
2024-06-06 22:35:20 +08:00
Yi Duan 8e8185338d
fix:(thrift/generic) NewTypedNode should construct empty value (#53) 2024-05-24 16:52:53 +08:00
Yi Duan 7d0f9d3e80
fix:(conv/j2p) support skip unknow fields (#52)
* fix:(conv/j2p) support skip unknow fields

* more test

* fix: clear `visitorUserNode.inskip` when recycle

* upate sonic
2024-05-24 16:51:03 +08:00
Yi Duan 707f41b6b8
Update README.md 2024-05-19 18:15:09 +08:00
duanyi.aster c91e1b9498 fix:(conv/j2p) shoudl support skip unknown fields 2024-05-17 15:43:56 +08:00
Yi Duan cdf39e6446
refactor: remove internal spec's annotations (#50)
* feat: remove handling internal spec's annotations

* udpate kitex

* fix
2024-05-08 12:37:32 +08:00
Yi Duan 4e6336a386
feat:(thrift) nested thrift type constructor API (#41)
* feat:(thrift) support construction of nested-typed nodes

* tmp

* downgrade testify

* add example

* return error for unsupported type

* add `NewNodeAny()`

* resolve comments

* rebase
2024-04-29 13:15:40 +08:00
Yi Duan db744009c5
feat:(thrift) support putting IDL name-space into Descriptor's annotations (#49)
* feat:(thrift) support putting IDL name-space into annotations

* commnent

* update sonic
2024-04-26 19:04:32 +08:00
Yi Duan d2b8419946
fix:(conv/j2t) Option `WriteRequireField` didn't effect (#48) 2024-04-25 11:28:40 +08:00
Yi Duan 5c81c4c35d
chore: update kitex to v0.9.3-rc (#47)
* chore: dep kitex v0.9.3-rc

* update
2024-04-19 14:38:05 +08:00
Yi Duan 8dad45e5ce
chore: update cloudwego dependencies (#46)
* feat: remove dependency on kitex old version

* update

* update

* final
2024-04-19 11:14:54 +08:00
sbs-copilot b93142e6e2
proto/generic/cast.go: let Value struct func <Interface> support Enum… (#44)
proto/generic/cast.go: let Value struct func <Interface> support Enum type

Co-authored-by: shibaoshun <shibaoshun@beeplay123.com>
2024-04-14 22:48:53 +08:00
Yi Duan ad0502380b
chore: immigrate some dependencies to 'cloudwego' (#45)
* chore: immigrate dependency to cloudwego

* update
2024-04-11 14:23:27 +08:00
Yi Duan e0bb330e07
Update README.md 2024-03-12 11:30:36 +08:00
Yi Duan 497e7b3c4b
feat:(thrift/generic) add option `DescriptorToPathNodeWriteOptional` (#39)
feat:(thrift/generic) add option `DescriptorToPathNodeWriteOptional` for API `DescriptorToPathNode()`
2024-01-07 16:53:06 +08:00
Yi Duan bda904ce05
feat: upgrade `DescriptorToPathNode` API (#38) 2023-12-12 18:42:29 +08:00
Kehan Yin 4f7ec0bf3e
feat: support high-performance generic-call SDK for protobuf protocol (#37) 2023-11-30 19:29:06 +08:00
Yi Duan 7bf2c54929
fix: negative int to double overflows (#36) 2023-11-21 20:44:16 +08:00
Yi Duan acc77fea9e
fix: redundant print (#35)
fix: print
2023-11-16 10:59:57 +08:00
Yi Duan 36127414d3
build: compile native with new asm2asm (#34)
* feat: compile native with new asm2asm

* feat: remove unnecessary json api

* update
2023-10-25 22:14:29 -05:00
Yi Duan d811de5520
feat:(conv) separate `String2Int64` and `Int642String` (#32)
* feat:(conv) seprate `String2Int64` and `Int642String`

* fix: should support string->DOUBLE when option `String2Int64` is enabled
2023-08-28 16:23:07 +08:00
Yi Duan b3c7613901
fix: not support unknown-fields for `ReadAnyWithDesc()` (#31)
* fix: not support unknown-fields for `ReadAnyWithDesc()`

* fix CI
2023-08-21 12:33:35 +08:00
Yi Duan 1942a99f61
feat: support `Foreach()` on Value (#29)
* feat: support `Foreach()` on Value

* test option `IterStructByName`

* feat(thrift): pass thrift AST annotation through
2023-08-03 16:29:49 +08:00
Yi Duan 7965a6adf1
opt: only write StructEnd while `WriteEmpty()` (#28)
* opt: only write StructEnd while `WriteEmpty()`

* opt: support quoted go.tag

* adjust test case
2023-07-10 21:33:54 +08:00
Yi Duan 6ec0698076
build: remove unused modules (#27)
* feat: remove unused modules

* update CI
2023-06-28 16:28:36 +08:00
Yi Duan e821b25e3c
refactor(conv): http-value encoding logics (#26)
feat: fallback using kitex's http value encoding
2023-06-21 11:04:55 +08:00
Yi Duan 683f982d6c
fix: fix native C FSM issues (#25)
* add submodule code

* build: update asm2asm

* fix: incorrect free size of `ReqCache`

* update bench.py

* opt: reduce J2TExtra memory

* test: add `go:nocheckptr`

* test: add parallel tests

* feat: update pcsp

* feat: update asm2asm

* update sonic

* not support go1.15

* fallback for all

* update sonic

* rollback asm2asm

* update sonic

* update go mod
2023-05-08 15:30:00 +08:00
Yi Duan 1f846f24bd
fix: dead loop introduced by thrift IDL file cycle-referring (#24) 2023-04-27 16:39:16 +08:00
Marina Sakai 52b70ac401
feat(thrift): add a function to remove annotation mapper (#23)
* remove annotation mapper

* put it back in the original format

* remove an additional line
2023-04-26 22:10:28 +09:00
Marina Sakai 962f7eaad2
feat: support exception fields in BinaryConv t2j (#21)
* support exception field

* delete unused fields

* delete unused file

* optimize

* return json string

* add comments

* fix comment
2023-04-21 13:08:41 +09:00
Yi Duan e68c1c1068
feat:(thrift/genenric) add more utility APIs (#20)
* feat:(thrift) update API

* add `NewTypedNode` API

* fix

* add api `PathNode.CopyTo()`

* feat: add access API for PathNode
2023-04-13 18:18:01 +08:00