Hide result channel into subscription

This commit is contained in:
2014-09-24 16:26:05 +04:00
parent a73ec0887c
commit f29268776b
2 changed files with 14 additions and 11 deletions
+8 -3
View File
@@ -3,7 +3,7 @@ package hub
type (
Subscription struct {
Queues []string
result chan<- Result
result chan Result
done chan struct{}
}
Result struct {
@@ -12,10 +12,10 @@ type (
}
)
func NewSubscription(queues []string, result chan<- Result) *Subscription {
func NewSubscription(queues []string) *Subscription {
return &Subscription{
Queues: queues,
result: result,
result: make(chan Result),
done: make(chan struct{}),
}
}
@@ -47,10 +47,15 @@ func (s *Subscription) Send(res Result) bool {
return <-success
}
func (s *Subscription) Result() <-chan Result {
return s.result
}
func (s *Subscription) Done() <-chan struct{} {
return s.done
}
func (s *Subscription) Close() {
close(s.done)
close(s.result)
}