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 }