[#809] client: Refactor PrmInit, PrmDial usage
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
This commit is contained in:
parent
76ff26039c
commit
02454df14a
4 changed files with 36 additions and 36 deletions
|
@ -43,26 +43,28 @@ func getSDKClientByFlag(cmd *cobra.Command, key *ecdsa.PrivateKey, endpointFlag
|
|||
|
||||
// GetSDKClient returns default frostfs-sdk-go client.
|
||||
func GetSDKClient(ctx context.Context, cmd *cobra.Command, key *ecdsa.PrivateKey, addr network.Address) (*client.Client, error) {
|
||||
var (
|
||||
c client.Client
|
||||
prmInit client.PrmInit
|
||||
prmDial client.PrmDial
|
||||
)
|
||||
var c client.Client
|
||||
|
||||
prmInit.SetDefaultPrivateKey(*key)
|
||||
prmDial.SetServerURI(addr.URIAddr())
|
||||
prmInit := client.PrmInit{
|
||||
Key: *key,
|
||||
}
|
||||
|
||||
prmDial := client.PrmDial{
|
||||
Endpoint: addr.URIAddr(),
|
||||
GRPCDialOptions: []grpc.DialOption{
|
||||
grpc.WithChainUnaryInterceptor(tracing.NewUnaryClientInteceptor()),
|
||||
grpc.WithChainStreamInterceptor(tracing.NewStreamClientInterceptor()),
|
||||
},
|
||||
}
|
||||
if timeout := viper.GetDuration(commonflags.Timeout); timeout > 0 {
|
||||
// In CLI we can only set a timeout for the whole operation.
|
||||
// By also setting stream timeout we ensure that no operation hands
|
||||
// for too long.
|
||||
prmDial.SetTimeout(timeout)
|
||||
prmDial.SetStreamTimeout(timeout)
|
||||
prmDial.DialTimeout = timeout
|
||||
prmDial.StreamTimeout = timeout
|
||||
|
||||
common.PrintVerbose(cmd, "Set request timeout to %s.", timeout)
|
||||
}
|
||||
prmDial.SetGRPCDialOptions(
|
||||
grpc.WithChainUnaryInterceptor(tracing.NewUnaryClientInteceptor()),
|
||||
grpc.WithChainStreamInterceptor(tracing.NewStreamClientInterceptor()))
|
||||
|
||||
c.Init(prmInit)
|
||||
|
||||
|
|
2
go.mod
2
go.mod
|
@ -6,7 +6,7 @@ require (
|
|||
git.frostfs.info/TrueCloudLab/frostfs-api-go/v2 v2.16.1-0.20231031104748-498877e378fd
|
||||
git.frostfs.info/TrueCloudLab/frostfs-contract v0.18.1-0.20231102065436-9ed3845aa989
|
||||
git.frostfs.info/TrueCloudLab/frostfs-observability v0.0.0-20231101111734-b3ad3335ff65
|
||||
git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20231101144515-6fbe1595cb3d
|
||||
git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20231114081800-3787477133f3
|
||||
git.frostfs.info/TrueCloudLab/hrw v1.2.1
|
||||
git.frostfs.info/TrueCloudLab/policy-engine v0.0.0-20231115094736-5db67021e10f
|
||||
git.frostfs.info/TrueCloudLab/tzhash v1.8.0
|
||||
|
|
BIN
go.sum
BIN
go.sum
Binary file not shown.
44
pkg/network/cache/multi.go
vendored
44
pkg/network/cache/multi.go
vendored
|
@ -51,32 +51,18 @@ func newMultiClient(addr network.AddressGroup, opts ClientCacheOpts) *multiClien
|
|||
}
|
||||
|
||||
func (x *multiClient) createForAddress(ctx context.Context, addr network.Address) (clientcore.Client, error) {
|
||||
var (
|
||||
c client.Client
|
||||
prmInit client.PrmInit
|
||||
prmDial client.PrmDial
|
||||
)
|
||||
|
||||
prmInit.DisableFrostFSFailuresResolution()
|
||||
prmDial.SetServerURI(addr.URIAddr())
|
||||
var c client.Client
|
||||
|
||||
prmInit := client.PrmInit{
|
||||
DisableFrostFSErrorResolution: true,
|
||||
}
|
||||
if x.opts.Key != nil {
|
||||
prmInit.SetDefaultPrivateKey(*x.opts.Key)
|
||||
prmInit.Key = *x.opts.Key
|
||||
}
|
||||
|
||||
if x.opts.DialTimeout > 0 {
|
||||
prmDial.SetTimeout(x.opts.DialTimeout)
|
||||
}
|
||||
|
||||
if x.opts.StreamTimeout > 0 {
|
||||
prmDial.SetStreamTimeout(x.opts.StreamTimeout)
|
||||
}
|
||||
|
||||
if x.opts.ResponseCallback != nil {
|
||||
prmInit.SetResponseInfoCallback(x.opts.ResponseCallback)
|
||||
}
|
||||
|
||||
prmDial.SetGRPCDialOptions(
|
||||
prmDial := client.PrmDial{
|
||||
Endpoint: addr.URIAddr(),
|
||||
GRPCDialOptions: []grpc.DialOption{
|
||||
grpc.WithChainUnaryInterceptor(
|
||||
metrics.NewUnaryClientInterceptor(),
|
||||
tracing.NewUnaryClientInteceptor(),
|
||||
|
@ -85,7 +71,19 @@ func (x *multiClient) createForAddress(ctx context.Context, addr network.Address
|
|||
metrics.NewStreamClientInterceptor(),
|
||||
tracing.NewStreamClientInterceptor(),
|
||||
),
|
||||
)
|
||||
},
|
||||
}
|
||||
if x.opts.DialTimeout > 0 {
|
||||
prmDial.DialTimeout = x.opts.DialTimeout
|
||||
}
|
||||
|
||||
if x.opts.StreamTimeout > 0 {
|
||||
prmDial.StreamTimeout = x.opts.StreamTimeout
|
||||
}
|
||||
|
||||
if x.opts.ResponseCallback != nil {
|
||||
prmInit.ResponseInfoCallback = x.opts.ResponseCallback
|
||||
}
|
||||
|
||||
c.Init(prmInit)
|
||||
err := c.Dial(ctx, prmDial)
|
||||
|
|
Loading…
Reference in a new issue