Skip to content

Commit b0bb58e

Browse files
新增 subscribe
1 parent d582701 commit b0bb58e

4 files changed

Lines changed: 866 additions & 102 deletions

File tree

subscribe/common.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,28 @@ import (
1111

1212
type 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

Comments
 (0)