diff --git a/registry/service/service.go b/registry/service/service.go index 9585c242..5bc3cffb 100644 --- a/registry/service/service.go +++ b/registry/service/service.go @@ -58,13 +58,12 @@ func (s *serviceRegistry) Register(srv *registry.Service, opts ...registry.Regis o(&options) } - ctx := context.Background() - if options.TTL.Nanoseconds() != 0.0 { - ctx = context.WithValue(ctx, "register_ttl", options.TTL) - } + // encode srv into protobuf and pack Register TTL into it + pbSrv := ToProto(srv) + pbSrv.Options.Ttl = int64(options.TTL.Seconds()) // register the service - _, err := s.client.Register(ctx, ToProto(srv), s.callOpts()...) + _, err := s.client.Register(context.TODO(), pbSrv, s.callOpts()...) if err != nil { return err }