From 938122af6b0491c73521450b84284e5771f65182 Mon Sep 17 00:00:00 2001 From: Makonike Date: Mon, 28 Aug 2023 12:15:54 +0800 Subject: [PATCH] fix --- dtmsvr/utils.go | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/dtmsvr/utils.go b/dtmsvr/utils.go index 6fac299..fb13f2e 100644 --- a/dtmsvr/utils.go +++ b/dtmsvr/utils.go @@ -9,16 +9,13 @@ package dtmsvr import ( "context" "fmt" - "reflect" - "time" - "unsafe" - "github.com/dtm-labs/dtm/client/dtmcli/dtmimp" "github.com/dtm-labs/dtm/dtmsvr/config" "github.com/dtm-labs/dtm/dtmsvr/storage" "github.com/dtm-labs/dtm/dtmsvr/storage/registry" "github.com/lithammer/shortuuid/v3" "google.golang.org/grpc/metadata" + "time" ) type branchStatus struct { @@ -71,29 +68,9 @@ func CopyContext(ctx context.Context) context.Context { return ctx } newCtx := context.Background() - kv := make(map[interface{}]interface{}) - getKeyValues(ctx, kv) - for k, v := range kv { - newCtx = context.WithValue(newCtx, k, v) - } + // TODO: copy value in context if md, ok := metadata.FromIncomingContext(ctx); ok { newCtx = metadata.NewIncomingContext(newCtx, md) } return newCtx } - -func getKeyValues(ctx context.Context, kv map[interface{}]interface{}) { - rtType := reflect.TypeOf(ctx).String() - if rtType == "*context.emptyCtx" { - return - } - ictx := *(*iface)(unsafe.Pointer(&ctx)) - if ictx.data == 0 { - return - } - valCtx := (*valueCtx)(unsafe.Pointer(ictx.data)) - if valCtx != nil && valCtx.key != nil && valCtx.value != nil { - kv[valCtx.key] = valCtx.value - } - getKeyValues(valCtx.Context, kv) -}