Pavel Karpy
05f48d9394
[ #302 ] pkg/netmap: Convert nil NodeInfo
and NodeAttribute
to nil message
...
Document that `NodeAttribute.ToV2` and `NodeInfo.ToV2`
method return `nil` when called on `nil`. Document that
`NodeAttributeFromV2` and `NodeInfoFromV2` functions
return `nil` when called on `nil`. Write corresponding
unit tests.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-09 17:23:35 +03:00
Pavel Karpy
19cf3c2d0b
[ #302 ] pkg/netmap: Document default values set in NewNetworkInfo
...
Document field values of instance constructed via `NewNetworkInfo`.
Assert the values in corresponding unit test.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-09 17:23:35 +03:00
Pavel Karpy
6142a352da
[ #302 ] pkg/netmap: Convert nil NetworkInfo
to nil message
...
Document that `NetworkInfo.ToV2` method return `nil`
when called on `nil`. Document that `NewNetworkInfoFromV2`
function return `nil` when called on `nil`. Write
corresponding unit tests.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-09 17:23:35 +03:00
Pavel Karpy
44437bf81a
[ #302 ] pkg/netmap: Document default values set in NewFilter
...
Make `filtersFromV2` return `nil` if passed
value is `nil`. Document field values of
instance constructed via `NewFilter`. Assert
the values in corresponding unit test.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-09 17:23:35 +03:00
Pavel Karpy
9a7e120485
[ #302 ] pkg/netmap: Convert nil Filter
to nil message
...
Make `Filter.ToV2` method return `nil`
when called on `nil`. Make `NewFilterFromV2`
function return `nil` when called on `nil`.
Write corresponding unit tests.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-06-09 17:23:35 +03:00
Leonard Lyubich
3cf0ea022d
[ #293 ] pkg/netmap: Implement generators of the messages
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-06-08 18:59:15 +03:00
Leonard Lyubich
5a9dd7ab3f
[ #263 ] pkg/netmap: Do not allocate nil repeated fields during conversion
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-03-17 14:03:49 +03:00
Leonard Lyubich
f6268339d0
[ #259 ] pkg/netmap: Implement v2-compatible NetworkInfo type
...
Define NetworkInfo structure. Implement constructors, fields getters and
setters, binary and JSON encoding methods.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-19 16:25:53 +03:00
Leonard Lyubich
521df90def
[ #255 ] pkg/netmap: Define constant keys to all well-known attributes
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-11 15:04:13 +03:00
Leonard Lyubich
8254da2890
[ #255 ] pkg/netmap: Move common substring of well-known attributes to prefix
...
Rename `PriceAttr` constant to `AttrPrice`. Rename `CapacityAttr` constant
to `AttrCapacity`. Add documentation to both of them.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-11 15:04:13 +03:00
Evgenii Stratonikov
5d9ef5feec
[ #248 ] netmap: fulfill backup factor for default attribute
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-02-03 15:31:18 +03:00
Alex Vanin
c35e15a758
[ #249 ] pkg/netmap: Add CBF field in placement context
...
If CBF value is not set, then netmap package uses default CBF
value. However it modifies placement policy structure in
`GetContainerNodes()` because policy passed as a pointer.
Instead package can store CBF value in internal context and use
it without policy modification.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-01-27 15:47:06 +03:00
Alex Vanin
c2db2a54a1
[ #243 ] Fix exhaustive linter errors
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-01-12 18:22:07 +03:00
Evgenii Stratonikov
707a0bcb35
[ #220 ] netmap: process REP X
policies correctly
...
For `REP X` select X nodes from the default filter
and fail if it cannot be done.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2020-12-03 15:39:49 +03:00
Evgenii Stratonikov
576841e0e0
[ #215 ] netmap: add test with multiple replicas
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2020-12-01 13:33:11 +03:00
Evgenii Stratonikov
4e0a11b71a
[ #156 ] netmap: Use default value for CBF if unset
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2020-12-01 13:33:11 +03:00
Evgenii Stratonikov
4e65fa41b8
[ #213 ] netmap: Do not append not twice if selector is unnamed
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2020-12-01 13:33:11 +03:00
Evgenii Stratonikov
ea6b6adfe0
[ #157 ] netmap: Fallback to using minimal backup factor
...
Use CBF=1 when strict policy can't be satisfied.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2020-12-01 13:33:11 +03:00
Leonard Lyubich
3a966ee5df
[ #199 ] sdk/netmap: Correct linter's remarks
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-16 18:51:14 +03:00
Leonard Lyubich
e721734599
[ #168 ] netmap: Implement binary and JSON encoders/decoders on Filter
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Alex Vanin
d704795dcc
[ #189 ] sdk/netmap: Define unspecified clause
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
9834ed4e68
[ #189 ] sdk/netmap: Get rid of the use of v2 types in the placement code
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
40d7c9cd93
[ #189 ] sdk/netmap: Implement NodeInfo JSON encode/decode functions
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
8367b498d9
[ #189 ] sdk/netmap: Implement NodeInfo type
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
6347f846eb
[ #189 ] sdk/netmap: Implement NodeAttribute type
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
d4f5c27d47
[ #189 ] sdk/netmap: Implement NodeState enum
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
9f19139999
[ #189 ] sdk/netmap: Refactor PlacementPolicy type
...
Replace alias to v2 type PlacementPolicy with v2-compatible implementation.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
6a29d9c360
[ #189 ] sdk/netmap: Refactor Replica type
...
Replace alias to v2 type Replica with v2-compatible implementation.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
eb96fffa5c
[ #189 ] sdk/netmap: Refactor Selector type
...
Replace alias to v2 type Selector with v2-compatible implementation.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
fd0c10b832
[ #189 ] sdk/netmap: Refactor Filter type
...
Replace alias to v2 type Filter with v2-compatible implementation.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
8c1afc6bab
[ #189 ] sdk/netmap: Refactor Clause enum
...
Replace alias to v2 type Clause with v2-compatible implementation.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Leonard Lyubich
6d8612fd51
[ #189 ] sdk/netmap: Refactor Operation enum
...
Replace alias to v2 type Operation with v2-compatible implementation.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-06 09:28:50 +03:00
Alex Vanin
3fb3cfd1a5
[ #186 ] sdk/netmap: Use JSON placement policy converters in SDK
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-11-05 10:38:04 +03:00
Evgenii Stratonikov
6a69a896e5
[ #174 ] netmap: process unspecified attribute as ID
...
When selector attribute is provided it should be
silently replaced by transparent ID, so each node
resides in a separate bucket.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2020-10-20 13:05:15 +03:00
Alex Vanin
3347e53cde
[ #151 ] sdk/netmap: Add public key getter for node
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-22 10:25:09 +03:00
Leonard Lyubich
7ef249f8db
[ #149 ] sdk/netmap: Add net address getter to Node
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:45:11 +03:00
Alex Vanin
1cbfb337a7
[ #142 ] sdk/netmap: Add type aliases for netmap policy
...
Later on there should be version independent structures.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:45:11 +03:00
2026473733
[ #137 ] sdk: Implement netmap filtering and selection
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2020-09-18 10:45:11 +03:00