[#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.
|
// GetSDKClient returns default frostfs-sdk-go client.
|
||||||
func GetSDKClient(ctx context.Context, cmd *cobra.Command, key *ecdsa.PrivateKey, addr network.Address) (*client.Client, error) {
|
func GetSDKClient(ctx context.Context, cmd *cobra.Command, key *ecdsa.PrivateKey, addr network.Address) (*client.Client, error) {
|
||||||
var (
|
var c client.Client
|
||||||
c client.Client
|
|
||||||
prmInit client.PrmInit
|
|
||||||
prmDial client.PrmDial
|
|
||||||
)
|
|
||||||
|
|
||||||
prmInit.SetDefaultPrivateKey(*key)
|
prmInit := client.PrmInit{
|
||||||
prmDial.SetServerURI(addr.URIAddr())
|
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 {
|
if timeout := viper.GetDuration(commonflags.Timeout); timeout > 0 {
|
||||||
// In CLI we can only set a timeout for the whole operation.
|
// In CLI we can only set a timeout for the whole operation.
|
||||||
// By also setting stream timeout we ensure that no operation hands
|
// By also setting stream timeout we ensure that no operation hands
|
||||||
// for too long.
|
// for too long.
|
||||||
prmDial.SetTimeout(timeout)
|
prmDial.DialTimeout = timeout
|
||||||
prmDial.SetStreamTimeout(timeout)
|
prmDial.StreamTimeout = timeout
|
||||||
|
|
||||||
common.PrintVerbose(cmd, "Set request timeout to %s.", timeout)
|
common.PrintVerbose(cmd, "Set request timeout to %s.", timeout)
|
||||||
}
|
}
|
||||||
prmDial.SetGRPCDialOptions(
|
|
||||||
grpc.WithChainUnaryInterceptor(tracing.NewUnaryClientInteceptor()),
|
|
||||||
grpc.WithChainStreamInterceptor(tracing.NewStreamClientInterceptor()))
|
|
||||||
|
|
||||||
c.Init(prmInit)
|
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-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-contract v0.18.1-0.20231102065436-9ed3845aa989
|
||||||
git.frostfs.info/TrueCloudLab/frostfs-observability v0.0.0-20231101111734-b3ad3335ff65
|
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/hrw v1.2.1
|
||||||
git.frostfs.info/TrueCloudLab/policy-engine v0.0.0-20231115094736-5db67021e10f
|
git.frostfs.info/TrueCloudLab/policy-engine v0.0.0-20231115094736-5db67021e10f
|
||||||
git.frostfs.info/TrueCloudLab/tzhash v1.8.0
|
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) {
|
func (x *multiClient) createForAddress(ctx context.Context, addr network.Address) (clientcore.Client, error) {
|
||||||
var (
|
var c client.Client
|
||||||
c client.Client
|
|
||||||
prmInit client.PrmInit
|
|
||||||
prmDial client.PrmDial
|
|
||||||
)
|
|
||||||
|
|
||||||
prmInit.DisableFrostFSFailuresResolution()
|
|
||||||
prmDial.SetServerURI(addr.URIAddr())
|
|
||||||
|
|
||||||
|
prmInit := client.PrmInit{
|
||||||
|
DisableFrostFSErrorResolution: true,
|
||||||
|
}
|
||||||
if x.opts.Key != nil {
|
if x.opts.Key != nil {
|
||||||
prmInit.SetDefaultPrivateKey(*x.opts.Key)
|
prmInit.Key = *x.opts.Key
|
||||||
}
|
}
|
||||||
|
|
||||||
if x.opts.DialTimeout > 0 {
|
prmDial := client.PrmDial{
|
||||||
prmDial.SetTimeout(x.opts.DialTimeout)
|
Endpoint: addr.URIAddr(),
|
||||||
}
|
GRPCDialOptions: []grpc.DialOption{
|
||||||
|
|
||||||
if x.opts.StreamTimeout > 0 {
|
|
||||||
prmDial.SetStreamTimeout(x.opts.StreamTimeout)
|
|
||||||
}
|
|
||||||
|
|
||||||
if x.opts.ResponseCallback != nil {
|
|
||||||
prmInit.SetResponseInfoCallback(x.opts.ResponseCallback)
|
|
||||||
}
|
|
||||||
|
|
||||||
prmDial.SetGRPCDialOptions(
|
|
||||||
grpc.WithChainUnaryInterceptor(
|
grpc.WithChainUnaryInterceptor(
|
||||||
metrics.NewUnaryClientInterceptor(),
|
metrics.NewUnaryClientInterceptor(),
|
||||||
tracing.NewUnaryClientInteceptor(),
|
tracing.NewUnaryClientInteceptor(),
|
||||||
|
@ -85,7 +71,19 @@ func (x *multiClient) createForAddress(ctx context.Context, addr network.Address
|
||||||
metrics.NewStreamClientInterceptor(),
|
metrics.NewStreamClientInterceptor(),
|
||||||
tracing.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)
|
c.Init(prmInit)
|
||||||
err := c.Dial(ctx, prmDial)
|
err := c.Dial(ctx, prmDial)
|
||||||
|
|
Loading…
Reference in a new issue