Merge lp:~niemeyer/juju-core/stop-presence-watcher into lp:~juju/juju-core/trunk

Proposed by Gustavo Niemeyer
Status: Merged
Merged at revision: 475
Proposed branch: lp:~niemeyer/juju-core/stop-presence-watcher
Merge into: lp:~juju/juju-core/trunk
Diff against target: 81 lines (+5/-16)
3 files modified
mstate/open.go (+3/-2)
mstate/presence/presence.go (+2/-2)
mstate/presence/presence_test.go (+0/-12)
To merge this branch: bzr merge lp:~niemeyer/juju-core/stop-presence-watcher
Reviewer Review Type Date Requested Status
The Go Language Gophers Pending
Review via email: mp+123187@code.launchpad.net

Description of the change

mstate: stop presence watcher on State.Close

Also cleans up some trivials in the presence package.

https://codereview.appspot.com/6510043/

To post a comment you must log in.
Revision history for this message
Gustavo Niemeyer (niemeyer) wrote :

Reviewers: mp+123187_code.launchpad.net,

Message:
Please take a look.

Description:
Also cleans up some trivials in the presence package.

https://code.launchpad.net/~niemeyer/juju-core/stop-presence-watcher/+merge/123187

(do not edit description out of merge proposal)

Please review this at https://codereview.appspot.com/6510043/

Affected files:
   A [revision details]
   M mstate/open.go
   M mstate/presence/presence.go
   M mstate/presence/presence_test.go

Index: [revision details]
=== added file '[revision details]'
--- [revision details] 2012-01-01 00:00:00 +0000
+++ [revision details] 2012-01-01 00:00:00 +0000
@@ -0,0 +1,2 @@
+Old revision: <email address hidden>
+New revision: <email address hidden>

Index: mstate/open.go
=== modified file 'mstate/open.go'
--- mstate/open.go 2012-09-05 08:23:01 +0000
+++ mstate/open.go 2012-09-06 22:12:07 +0000
@@ -43,7 +43,8 @@
   return st, nil
  }

-func (st *State) Close() (err error) {
+func (st *State) Close() error {
+ err := st.presencew.Stop()
   st.db.Session.Close()
- return
+ return err
  }

Index: mstate/presence/presence.go
=== modified file 'mstate/presence/presence.go'
--- mstate/presence/presence.go 2012-09-04 11:45:47 +0000
+++ mstate/presence/presence.go 2012-09-06 22:12:07 +0000
@@ -70,7 +70,7 @@
   // the the gorotuine loop.
   request chan interface{}

- // refreshed contains pending ForcedRefresh done channels
+ // refreshed contains pending ForceRefresh done channels
   // that are waiting for the completion notice.
   refreshed []chan bool

@@ -92,7 +92,7 @@
   Alive bool
  }

-// New returns a new Watcher.
+// NewWatcher returns a new Watcher.
  func NewWatcher(base *mgo.Collection) *Watcher {
   w := &Watcher{
    base: base,

Index: mstate/presence/presence_test.go
=== modified file 'mstate/presence/presence_test.go'
--- mstate/presence/presence_test.go 2012-09-04 10:25:43 +0000
+++ mstate/presence/presence_test.go 2012-09-06 22:12:07 +0000
@@ -3,7 +3,6 @@
  import (
   "labix.org/v2/mgo"
   . "launchpad.net/gocheck"
- state "launchpad.net/juju-core/mstate"
   "launchpad.net/juju-core/mstate/presence"
   "launchpad.net/juju-core/testing"
   "strconv"
@@ -15,17 +14,11 @@
   testing.MgoTestPackage(t)
  }

-var (
- period = 50 * time.Millisecond
- longEnough = period * 6
-)
-
  type PresenceSuite struct {
   testing.MgoSuite
   testing.LoggingSuite
   presence *mgo.Collection
   pings *mgo.Collection
- state *state.State
  }

  var _ = Suite(&PresenceSuite{})
@@ -48,15 +41,10 @@
   s.presence = db.C("presence")
   s.pings = db.C("presence.pings")

- var err error
- s.state, err = state.Dial(testing.MgoAddr)
- c.Assert(err, IsNil)
-
   presence.FakeTimeSlot(0)
  }

  func (s *PresenceSuite) TearDownTest(c *C) {
- s.state.Close()
   s.MgoSuite.TearDownTest(c)
   s.LoggingSuite.TearDownTest(c)

Revision history for this message
Gustavo Niemeyer (niemeyer) wrote :
Revision history for this message
William Reade (fwereade) wrote :
Revision history for this message
Gustavo Niemeyer (niemeyer) wrote :

*** Submitted:

mstate: stop presence watcher on State.Close

Also cleans up some trivials in the presence package.

R=fwereade
CC=
https://codereview.appspot.com/6510043

https://codereview.appspot.com/6510043/

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'mstate/open.go'
--- mstate/open.go 2012-09-05 08:23:01 +0000
+++ mstate/open.go 2012-09-06 22:14:48 +0000
@@ -43,7 +43,8 @@
43 return st, nil43 return st, nil
44}44}
4545
46func (st *State) Close() (err error) {46func (st *State) Close() error {
47 err := st.presencew.Stop()
47 st.db.Session.Close()48 st.db.Session.Close()
48 return49 return err
49}50}
5051
=== modified file 'mstate/presence/presence.go'
--- mstate/presence/presence.go 2012-09-04 11:45:47 +0000
+++ mstate/presence/presence.go 2012-09-06 22:14:48 +0000
@@ -70,7 +70,7 @@
70 // the the gorotuine loop.70 // the the gorotuine loop.
71 request chan interface{}71 request chan interface{}
7272
73 // refreshed contains pending ForcedRefresh done channels73 // refreshed contains pending ForceRefresh done channels
74 // that are waiting for the completion notice.74 // that are waiting for the completion notice.
75 refreshed []chan bool75 refreshed []chan bool
7676
@@ -92,7 +92,7 @@
92 Alive bool92 Alive bool
93}93}
9494
95// New returns a new Watcher.95// NewWatcher returns a new Watcher.
96func NewWatcher(base *mgo.Collection) *Watcher {96func NewWatcher(base *mgo.Collection) *Watcher {
97 w := &Watcher{97 w := &Watcher{
98 base: base,98 base: base,
9999
=== modified file 'mstate/presence/presence_test.go'
--- mstate/presence/presence_test.go 2012-09-04 10:25:43 +0000
+++ mstate/presence/presence_test.go 2012-09-06 22:14:48 +0000
@@ -3,7 +3,6 @@
3import (3import (
4 "labix.org/v2/mgo"4 "labix.org/v2/mgo"
5 . "launchpad.net/gocheck"5 . "launchpad.net/gocheck"
6 state "launchpad.net/juju-core/mstate"
7 "launchpad.net/juju-core/mstate/presence"6 "launchpad.net/juju-core/mstate/presence"
8 "launchpad.net/juju-core/testing"7 "launchpad.net/juju-core/testing"
9 "strconv"8 "strconv"
@@ -15,17 +14,11 @@
15 testing.MgoTestPackage(t)14 testing.MgoTestPackage(t)
16}15}
1716
18var (
19 period = 50 * time.Millisecond
20 longEnough = period * 6
21)
22
23type PresenceSuite struct {17type PresenceSuite struct {
24 testing.MgoSuite18 testing.MgoSuite
25 testing.LoggingSuite19 testing.LoggingSuite
26 presence *mgo.Collection20 presence *mgo.Collection
27 pings *mgo.Collection21 pings *mgo.Collection
28 state *state.State
29}22}
3023
31var _ = Suite(&PresenceSuite{})24var _ = Suite(&PresenceSuite{})
@@ -48,15 +41,10 @@
48 s.presence = db.C("presence")41 s.presence = db.C("presence")
49 s.pings = db.C("presence.pings")42 s.pings = db.C("presence.pings")
5043
51 var err error
52 s.state, err = state.Dial(testing.MgoAddr)
53 c.Assert(err, IsNil)
54
55 presence.FakeTimeSlot(0)44 presence.FakeTimeSlot(0)
56}45}
5746
58func (s *PresenceSuite) TearDownTest(c *C) {47func (s *PresenceSuite) TearDownTest(c *C) {
59 s.state.Close()
60 s.MgoSuite.TearDownTest(c)48 s.MgoSuite.TearDownTest(c)
61 s.LoggingSuite.TearDownTest(c)49 s.LoggingSuite.TearDownTest(c)
6250

Subscribers

People subscribed via source and target branches