@@ -11,24 +11,28 @@ import (
1111
1212type Subscriber interface {
1313 Child (prefix string ) Subscriber
14- Publish (ctx context.Context , key string , data string ) error
14+ Publish (ctx context.Context , key , data string ) error
1515 Subscribe (ctx context.Context , key string ) (<- chan string , error )
1616}
1717
18- type CloserSubscriber struct {
18+ type CloserSubscriber interface {
19+ Subscriber
20+ io.Closer
21+ }
22+ type closerSubscriber struct {
1923 Subscriber
2024 io.Closer
2125}
2226
23- func NewSubscriberFromURL (u string ) (* CloserSubscriber , error ) {
27+ func NewSubscriberFromURL (u string ) (CloserSubscriber , error ) {
2428 parse , err := url .Parse (u )
2529 if err != nil {
2630 return nil , err
2731 }
2832 switch parse .Scheme {
2933 case "memory" , "mem" :
3034 memory := NewMemorySubscriber ()
31- return & CloserSubscriber {
35+ return & closerSubscriber {
3236 Subscriber : memory ,
3337 Closer : memory ,
3438 }, nil
@@ -37,7 +41,7 @@ func NewSubscriberFromURL(u string) (*CloserSubscriber, error) {
3741 if err != nil {
3842 return nil , err
3943 }
40- return & CloserSubscriber {
44+ return & closerSubscriber {
4145 Subscriber : NewEtcdSubscriber (etcd , parse .Query ().Get ("prefix" )),
4246 Closer : etcd ,
4347 }, nil
0 commit comments