config: gen default configuration file

This commit is contained in:
singchia
2024-05-02 17:01:33 +08:00
parent 889494ce59
commit 28f9af4434
11 changed files with 476 additions and 91 deletions

View File

@@ -17,6 +17,45 @@ type serviceEnd struct {
}
func newServiceEnd(dialer client.Dialer, opts ...ServiceOption) (*serviceEnd, error) {
// options
sopt := &serviceOption{}
for _, opt := range opts {
opt(sopt)
}
sopts := &client.EndOptions{}
if sopt.tmr != nil {
sopts.SetTimer(sopt.tmr)
}
if sopt.logger != nil {
sopts.SetLog(sopt.logger)
}
// meta
meta := &apis.Meta{}
if sopt.topics != nil {
// we deliver topics in meta
meta.Topics = sopt.topics
}
if sopt.service != "" {
meta.Service = sopt.service
}
data, err := json.Marshal(meta)
if err != nil {
return nil, err
}
sopts.SetMeta(data)
// delegate
if sopt.delegate != nil {
sopts.SetDelegate(sopt.delegate)
}
// new geminio end
end, err := client.NewEndWithDialer(dialer, sopts)
if err != nil {
return nil, err
}
return &serviceEnd{end}, nil
}
func newRetryServiceEnd(dialer client.Dialer, opts ...ServiceOption) (*serviceEnd, error) {
// options
sopt := &serviceOption{}
for _, opt := range opts {