WithName sets service name, if service is still in New state, and returns service to allow usage like NewBasicService(...).WithName("service name").
(name string)
| 92 | // WithName sets service name, if service is still in New state, and returns service to allow |
| 93 | // usage like NewBasicService(...).WithName("service name"). |
| 94 | func (b *BasicService) WithName(name string) *BasicService { |
| 95 | // Hold lock to make sure state doesn't change while setting service name. |
| 96 | b.stateMu.Lock() |
| 97 | defer b.stateMu.Unlock() |
| 98 | |
| 99 | if b.state != New { |
| 100 | return b |
| 101 | } |
| 102 | |
| 103 | b.serviceName = name |
| 104 | return b |
| 105 | } |
| 106 | |
| 107 | func (b *BasicService) ServiceName() string { |
| 108 | b.stateMu.RLock() |
no outgoing calls