[#222] client: Fix docs of resolving the failure statuses

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2022-07-04 18:33:33 +03:00 committed by LeL
parent cec2373b50
commit 6994eb0e55
9 changed files with 36 additions and 24 deletions

View file

@ -40,21 +40,33 @@ to perform certain actions on behalf of the user.
### client ### client
Contains client for working with NeoFS. Contains client for working with NeoFS.
```go ```go
c, _ := client.New( var prmInit client.PrmInit
client.WithAddress("localhost:40005"), // endpoint address prmInit.SetDefaultPrivateKey(key) // private key for request signing
client.WithDefaultPrivateKey(key), // private key for request signing prmInit.ResolveNeoFSFailures() // enable erroneous status parsing
client.WithNeoFSErrorHandling(), // enable erroneous status parsing
client.WithTLSConfig(&tls.Config{})) // custom TLS configuration var c client.Client
c.Init(prmInit)
var prmDial client.PrmDial
prmDial.SetServerURI("grpcs://localhost:40005") // endpoint address
err := c.Dial(prmDial)
if err != nil {
return
}
ctx, cancel := context.WithTimeout(context.Background(), 5 * time.Second) ctx, cancel := context.WithTimeout(context.Background(), 5 * time.Second)
defer cancel() defer cancel()
res, err := c.BalanceGet(ctx, owner) var prm client.PrmBalanceGet
prm.SetAccount(acc)
res, err := c.BalanceGet(ctx, prm)
if err != nil { if err != nil {
return return
} }
fmt.Printf("Balance for %s: %s\n", owner, res.Amount()) fmt.Printf("Balance for %s: %v\n", acc, res.Amount())
``` ```
#### Response status #### Response status
@ -66,7 +78,7 @@ these details to the user as well as retry an operation, possibly with different
Status wire-format is extendable and each node can report any set of details it wants. Status wire-format is extendable and each node can report any set of details it wants.
The set of reserved status codes can be found in The set of reserved status codes can be found in
[NeoFS API](https://github.com/nspcc-dev/neofs-api/blob/master/status/types.proto). There is also [NeoFS API](https://github.com/nspcc-dev/neofs-api/blob/master/status/types.proto). There is also
a `client.WithNeoFSErrorHandling()` to seamlessly convert erroneous statuses into Go error type. a `client.PrmInit.ResolveNeoFSFailures()` to seamlessly convert erroneous statuses into Go error type.
### policy ### policy
Contains helpers allowing conversion of placing policy from/to JSON representation Contains helpers allowing conversion of placing policy from/to JSON representation

View file

@ -48,7 +48,7 @@ func (x ResBalanceGet) Amount() *accounting.Decimal {
// //
// Exactly one return value is non-nil. By default, server status is returned in res structure. // Exactly one return value is non-nil. By default, server status is returned in res structure.
// Any client's internal or transport errors are returned as `error`, // Any client's internal or transport errors are returned as `error`,
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //

View file

@ -74,7 +74,7 @@ func (x *ResContainerPut) setID(id *cid.ID) {
// //
// Exactly one return value is non-nil. By default, server status is returned in res structure. // Exactly one return value is non-nil. By default, server status is returned in res structure.
// Any client's internal or transport errors are returned as `error`. // Any client's internal or transport errors are returned as `error`.
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //
@ -208,7 +208,7 @@ func (x *ResContainerGet) setContainer(cnr container.Container) {
// //
// Exactly one return value is non-nil. By default, server status is returned in res structure. // Exactly one return value is non-nil. By default, server status is returned in res structure.
// Any client's internal or transport errors are returned as `error`. // Any client's internal or transport errors are returned as `error`.
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //
@ -317,7 +317,7 @@ func (x *ResContainerList) setContainers(ids []cid.ID) {
// //
// Exactly one return value is non-nil. By default, server status is returned in res structure. // Exactly one return value is non-nil. By default, server status is returned in res structure.
// Any client's internal or transport errors are returned as `error`. // Any client's internal or transport errors are returned as `error`.
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //
@ -419,7 +419,7 @@ type ResContainerDelete struct {
// //
// Exactly one return value is non-nil. By default, server status is returned in res structure. // Exactly one return value is non-nil. By default, server status is returned in res structure.
// Any client's internal or transport errors are returned as `error`. // Any client's internal or transport errors are returned as `error`.
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //
@ -545,7 +545,7 @@ func (x *ResContainerEACL) setTable(table *eacl.Table) {
// //
// Exactly one return value is non-nil. By default, server status is returned in res structure. // Exactly one return value is non-nil. By default, server status is returned in res structure.
// Any client's internal or transport errors are returned as `error`. // Any client's internal or transport errors are returned as `error`.
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //
@ -651,7 +651,7 @@ type ResContainerSetEACL struct {
// //
// Exactly one return value is non-nil. By default, server status is returned in res structure. // Exactly one return value is non-nil. By default, server status is returned in res structure.
// Any client's internal or transport errors are returned as `error`. // Any client's internal or transport errors are returned as `error`.
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //
@ -756,7 +756,7 @@ type ResAnnounceSpace struct {
// //
// Exactly one return value is non-nil. By default, server status is returned in res structure. // Exactly one return value is non-nil. By default, server status is returned in res structure.
// Any client's internal or transport errors are returned as `error`. // Any client's internal or transport errors are returned as `error`.
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //

View file

@ -53,7 +53,7 @@ func (x *ResEndpointInfo) setNodeInfo(info *netmap.NodeInfo) {
// Method can be used as a health check to see if node is alive and responds to requests. // Method can be used as a health check to see if node is alive and responds to requests.
// //
// Any client's internal or transport errors are returned as `error`. // Any client's internal or transport errors are returned as `error`.
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //
@ -150,7 +150,7 @@ func (x *ResNetworkInfo) setInfo(info *netmap.NetworkInfo) {
// NetworkInfo requests information about the NeoFS network of which the remote server is a part. // NetworkInfo requests information about the NeoFS network of which the remote server is a part.
// //
// Any client's internal or transport errors are returned as `error`. // Any client's internal or transport errors are returned as `error`.
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //

View file

@ -117,7 +117,7 @@ func (x ResObjectDelete) ReadTombstoneID(dst *oid.ID) bool {
// //
// Exactly one return value is non-nil. By default, server status is returned in res structure. // Exactly one return value is non-nil. By default, server status is returned in res structure.
// Any client's internal or transport errors are returned as `error`, // Any client's internal or transport errors are returned as `error`,
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //

View file

@ -432,7 +432,7 @@ func (x *ResObjectHead) ReadHeader(dst *object.Object) bool {
// //
// Exactly one return value is non-nil. By default, server status is returned in res structure. // Exactly one return value is non-nil. By default, server status is returned in res structure.
// Any client's internal or transport errors are returned as `error`, // Any client's internal or transport errors are returned as `error`,
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //

View file

@ -140,7 +140,7 @@ func (x ResObjectHash) Checksums() [][]byte {
// //
// Exactly one return value is non-nil. By default, server status is returned in res structure. // Exactly one return value is non-nil. By default, server status is returned in res structure.
// Any client's internal or transport errors are returned as `error`, // Any client's internal or transport errors are returned as `error`,
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //

View file

@ -41,7 +41,7 @@ type ResAnnounceLocalTrust struct {
// //
// Exactly one return value is non-nil. By default, server status is returned in res structure. // Exactly one return value is non-nil. By default, server status is returned in res structure.
// Any client's internal or transport errors are returned as `error`. // Any client's internal or transport errors are returned as `error`.
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //
@ -142,7 +142,7 @@ type ResAnnounceIntermediateTrust struct {
// //
// Exactly one return value is non-nil. By default, server status is returned in res structure. // Exactly one return value is non-nil. By default, server status is returned in res structure.
// Any client's internal or transport errors are returned as `error`. // Any client's internal or transport errors are returned as `error`.
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //

View file

@ -68,7 +68,7 @@ func (x ResSessionCreate) PublicKey() []byte {
// //
// Exactly one return value is non-nil. By default, server status is returned in res structure. // Exactly one return value is non-nil. By default, server status is returned in res structure.
// Any client's internal or transport errors are returned as `error`. // Any client's internal or transport errors are returned as `error`.
// If WithNeoFSErrorParsing option has been provided, unsuccessful // If PrmInit.ResolveNeoFSFailures has been called, unsuccessful
// NeoFS status codes are returned as `error`, otherwise, are included // NeoFS status codes are returned as `error`, otherwise, are included
// in the returned result structure. // in the returned result structure.
// //