29f2157563
[ #123 ] protogen: Treat bytes field as non-nullable
...
In protobuf 3.12 they have added an support for `optional` keyword,
which has made it into the main branch in 3.15.
https://github.com/protocolbuffers/protobuf/blob/main/docs/implementing_proto3_presence.md
https://github.com/protocolbuffers/protobuf/blob/v3.12.0/docs/field_presence.md#presence-in-proto3-apis
This means that without an explicit `optional` keyword field presence
for scalars is not tracked, thus empty string in JSON should be
unmarshaled to a nil byte slice. Relevant decoding code and tests from
protojson:
fb995f184a/internal/impl/message_reflect_field.go (L327)
fb995f184a/encoding/protojson/decode_test.go (L134)
fb995f184a/encoding/protojson/decode_test.go (L156)
We do not support `optional` keyword and the generator will fail if it sees on.
So only implement the default behaviour.
Refs #122
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-10-11 14:40:54 +03:00
29c522d5d8
[ #122 ] protogen: Always marshal empty fields
...
This is how it was done previously:
a0a9b765f3/rpc/message/encoding.go (L31)
The tricky part is `[]byte` which is marshaled as `null` by easyjson
helper, but as `""` by protojson.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-10-07 15:05:43 +03:00
d94b9c6d0d
[ #120 ] protogen: Unmarshal stringified integers from JSON
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-10-01 14:18:45 +03:00
eeb754c327
[ #120 ] protogen: Omit empty fields from JSON output
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-10-01 14:11:43 +03:00
805da79319
[ #120 ] protogen: Marshal enum as string
...
Be compatible with protojson.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-10-01 14:11:43 +03:00
5fece80b42
[ #108 ] protogen: Distinguish between empty and nil messages
...
Refs #59
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-27 11:02:18 +03:00
adb7c602d7
[ #77 ] protogen: Initial implementation
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-19 10:47:00 +03:00
3dfa2f4fd6
[ #95 ] *: Regenerate proto files
...
Remove SetExtendedEACL and AnnounceUsedSpace methods from the container
package.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-07-26 10:24:25 +03:00
0fe6b9adbb
[ #76 ] Make setter names more consistent
...
This will make the transition to a new codegen more seamless.
1. Setter should be named as the field itself.
2. Setter should accept 1 parameter.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-05-03 08:52:04 +03:00
1772b92182
[ #69 ] object: Initial EC implementation
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-03-19 15:23:01 +03:00
17bed735a1
[ #20 ] Update api version
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-08-17 11:10:12 +03:00
ff6d8db741
[ #19 ] subnet: Drop related types and fields
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-04-18 13:29:50 +03:00
Pavel Karpy
d9347a05f0
[ #21 ] *: Drop reputation system
...
Signed-off-by: Pavel Karpy <p.karpy@yadro.com>
2023-04-17 15:46:52 +03:00
f69d2ad83c
Rename package name
...
Due to source code relocation from GitHub.
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-03-07 13:42:36 +03:00
1351b6656d
Move to frostfs-api
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2022-12-12 17:40:48 +03:00
Leonard Lyubich
cf868188ef
[ #418 ] netmap: Support NetmapService.NetmapSnapshot
RPC
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-09-19 16:44:34 +04:00
Evgenii Stratonikov
ea7a3811bf
[ #415 ] *: Add maintenance status and node state
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-09-16 18:50:53 +04:00
Pavel Karpy
1cd3a43d5b
[ #407 ] *: Regenerate v2.13.0 API
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-06-30 08:19:57 +03:00
Evgenii Stratonikov
dd233c3fbc
[ #386 ] util/signature: Add WalletConnect API support
...
To avoid introducing new dependency (neo-go), crypto routines are used
as in other code.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-06-21 20:09:33 +03:00
Pavel Karpy
f9a91e5f33
[ #404 ] *: Regenerate code after language fixes
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-06-21 14:08:31 +03:00
Evgenii Stratonikov
732dd51b1b
[ #388 ] *: Remove nil check from setters
...
I knew one day `sed` would save me an hour of manual work:
```
sed -i -n -e '
s/) Set/) Set/
p
t setter
b end
:setter
n
s/nil/nil/
t hasif
p
b end
:hasif
n
:loop
p
n
s/}/}/
t end
b loop
:end
' $@
goimports -w $@
```
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-31 11:32:04 +03:00
Leonard Lyubich
d065453bd0
[ #380 ] Support changes in signature schemes
...
Support new `SignatureRFC6979` message. Make `refs.ECDSA_SHA512` to be
default scheme.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-03-02 16:49:50 +03:00
Evgenii Stratonikov
a4349f6692
[ #55 ] refs: Add Scheme field to Signature
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-02-25 10:15:28 +03:00
Evgenii Stratonikov
66e1fb8c53
[ #55 ] refs: Fix linter warnings
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-02-25 10:15:28 +03:00
Leonard Lyubich
e9a8451fb7
[ #367 ] *: Re-compile proto files of NeoFS API protocol
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-01-14 13:17:21 +03:00
Leonard Lyubich
580f6c5554
[ #355 ] subnet: Implement types for the new messages
...
Define `subnet.Info` structure of corresponding message from NeoFS API
protocol. Provide field getters and setters. Implement
`StableMarshal` / `StableSize` methods of binary encoding. Implement
`ToGRPCMessage` / `FromGRPCMessage` method for testing and
potential transport.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-18 17:40:33 +03:00
Evgenii Stratonikov
ad6a7999cd
[ #355 ] *: regenerate proto files
...
Add subnetwork ID to placement policy.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-18 15:04:15 +03:00
Leonard Lyubich
0f09f0dfc6
Re-compile NeoFS API proto files using updated script
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-17 15:29:33 +03:00
Leonard Lyubich
25da5d2e13
Add v2
version to go module name
...
Replace all elements from `v2` to root directory.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-17 15:29:33 +03:00