trpc.group/trpc-go/trpc-go@v1.0.3/naming/registry/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 registry
    15  
    16  // Options is the node register options.
    17  type Options struct {
    18  	Address string
    19  	Event   EventType
    20  }
    21  
    22  // Option modifies the Options.
    23  type Option func(*Options)
    24  
    25  // WithAddress returns an Option which sets the server address. The format of address is "IP:Port" or
    26  // just ":Port".
    27  func WithAddress(s string) Option {
    28  	return func(opts *Options) {
    29  		opts.Address = s
    30  	}
    31  }
    32  
    33  // EventType defines the event types.
    34  type EventType int
    35  
    36  // GracefulRestart represents the hot restart event.
    37  const GracefulRestart = EventType(iota)
    38  
    39  // WithEvent returns an Option which sets the event type.
    40  func WithEvent(e EventType) Option {
    41  	return func(opts *Options) {
    42  		opts.Event = e
    43  	}
    44  }