trpc.group/trpc-go/trpc-go@v1.0.3/naming/discovery/options.go (about)

     1  //
     2  //
     3  // Tencent is pleased to support the open source community by making tRPC available.
     4  //
     5  // Copyright (C) 2023 THL A29 Limited, a Tencent company.
     6  // All rights reserved.
     7  //
     8  // If you have downloaded a copy of the tRPC source code from Tencent,
     9  // please note that tRPC source code is licensed under the  Apache 2.0 License,
    10  // A copy of the Apache 2.0 License is included in this file.
    11  //
    12  //
    13  
    14  package discovery
    15  
    16  import (
    17  	"context"
    18  )
    19  
    20  // Options is the call options.
    21  type Options struct {
    22  	Ctx       context.Context
    23  	Namespace string
    24  }
    25  
    26  // Option modifies the Options.
    27  type Option func(*Options)
    28  
    29  // WithContext returns an Option which sets ctx.
    30  func WithContext(ctx context.Context) Option {
    31  	return func(o *Options) {
    32  		o.Ctx = ctx
    33  	}
    34  }
    35  
    36  // WithNamespace returns an Option which sets namespace.
    37  func WithNamespace(namespace string) Option {
    38  	return func(opts *Options) {
    39  		opts.Namespace = namespace
    40  	}
    41  }