@@ -18,12 +18,12 @@ type QueueConnectionHandler struct {
18
18
name string
19
19
cfg queue.Cfg
20
20
21
- uuid uuid.UUID
22
- registered bool
23
- err error
24
- mutex sync.Mutex
25
- masterUpdated chan struct {}
26
- masterCnt int32
21
+ uuid uuid.UUID
22
+ registered bool
23
+ err error
24
+ mutex sync.Mutex
25
+ updated chan struct {}
26
+ masterCnt int32
27
27
}
28
28
29
29
// QueueConnectionHandler implements the ConnectionHandler interface.
@@ -32,9 +32,9 @@ var _ connection_pool.ConnectionHandler = &QueueConnectionHandler{}
32
32
// NewQueueConnectionHandler creates a QueueConnectionHandler object.
33
33
func NewQueueConnectionHandler (name string , cfg queue.Cfg ) * QueueConnectionHandler {
34
34
return & QueueConnectionHandler {
35
- name : name ,
36
- cfg : cfg ,
37
- masterUpdated : make (chan struct {}, 10 ),
35
+ name : name ,
36
+ cfg : cfg ,
37
+ updated : make (chan struct {}, 10 ),
38
38
}
39
39
}
40
40
@@ -53,11 +53,9 @@ func (h *QueueConnectionHandler) Discovered(conn *tarantool.Connection,
53
53
}
54
54
55
55
master := role == connection_pool .MasterRole
56
- if master {
57
- defer func () {
58
- h .masterUpdated <- struct {}{}
59
- }()
60
- }
56
+ defer func () {
57
+ h .updated <- struct {}{}
58
+ }()
61
59
62
60
// Set up a queue module configuration for an instance.
63
61
q := queue .New (conn , h .name )
@@ -106,7 +104,7 @@ func (h *QueueConnectionHandler) Deactivated(conn *tarantool.Connection,
106
104
107
105
// Closes closes a QueueConnectionHandler object.
108
106
func (h * QueueConnectionHandler ) Close () {
109
- close (h .masterUpdated )
107
+ close (h .updated )
110
108
}
111
109
112
110
// Example demonstrates how to use the queue package with the connection_pool
@@ -155,8 +153,10 @@ func Example_connectionPool() {
155
153
}
156
154
defer connPool .Close ()
157
155
158
- // Wait for a master instance identification in the queue.
159
- <- h .masterUpdated
156
+ // Wait for a queue initialization and master instance identification in
157
+ // the queue.
158
+ <- h .updated
159
+ <- h .updated
160
160
if h .err != nil {
161
161
fmt .Printf ("Unable to identify in the pool: %s" , h .err )
162
162
return
@@ -183,8 +183,10 @@ func Example_connectionPool() {
183
183
return
184
184
}
185
185
186
- // Wait for a new master instance re-identification.
187
- <- h .masterUpdated
186
+ // Wait for a replica instance connection and a new master instance
187
+ // re-identification.
188
+ <- h .updated
189
+ <- h .updated
188
190
h .mutex .Lock ()
189
191
err = h .err
190
192
h .mutex .Unlock ()
0 commit comments