@@ -17,7 +17,6 @@ package stream
17
17
import (
18
18
"fmt"
19
19
"reflect"
20
- "sync/atomic"
21
20
22
21
"github.com/opensergo/opensergo-go/pkg/common/logging"
23
22
"github.com/opensergo/opensergo-go/pkg/configkind"
@@ -36,22 +35,15 @@ type subscribeConfigPbStreamObserver struct {
36
35
outsStream * SubscribeConfigOutsStream
37
36
38
37
subscribeResponseChan chan * transportPb.SubscribeResponse
39
-
40
- scObserverStatus atomic.Value // type of value is bool
41
38
}
42
39
43
40
func newSubscribeConfigPbStreamObserver (outsStream * SubscribeConfigOutsStream ) * subscribeConfigPbStreamObserver {
44
41
scObserver := & subscribeConfigPbStreamObserver {
45
42
outsStream : outsStream ,
46
43
}
47
- scObserver .scObserverStatus .Store (PbStreamObserverInitial )
48
44
return scObserver
49
45
}
50
46
51
- func (scObserver * subscribeConfigPbStreamObserver ) setSubscribeConfigOutsStream (outsStream * SubscribeConfigOutsStream ) {
52
- scObserver .outsStream = outsStream
53
- }
54
-
55
47
func (scObserver * subscribeConfigPbStreamObserver ) start (subscribeResponseChan chan * transportPb.SubscribeResponse ) {
56
48
scObserver .subscribeResponseChan = subscribeResponseChan
57
49
@@ -66,12 +58,7 @@ func (scObserver *subscribeConfigPbStreamObserver) start(subscribeResponseChan c
66
58
logging .Info ("[OpenSergo SDK] started subscribeConfigPbStreamObserver with goroutines of doObserve() and doHandle()." )
67
59
}
68
60
69
- func (scObserver * subscribeConfigPbStreamObserver ) pbStreamObserverStatus () PbStreamObserverStatus {
70
- return scObserver .scObserverStatus .Load ().(PbStreamObserverStatus )
71
- }
72
-
73
61
func (scObserver * subscribeConfigPbStreamObserver ) doObserve () {
74
- scObserver .scObserverStatus .Store (PbStreamObserverRunning )
75
62
for {
76
63
pbStreamWrapper := scObserver .outsStream .subscribeConfigPbStreamWrapper ()
77
64
if ! reflect .DeepEqual (pbStreamWrapper , & subscribeConfigPbStreamWrapper {}) {
@@ -99,7 +86,6 @@ func (scObserver *subscribeConfigPbStreamObserver) observeReceive() (resp *trans
99
86
errRecover := errors .Errorf ("%+v" , r )
100
87
scObserver .outsStream .setSubscribeConfigPbStreamWrapper (& subscribeConfigPbStreamWrapper {})
101
88
scObserver .outsStream .pbStreamStatus .Store (PbStreamInterrupted )
102
- scObserver .scObserverStatus .Store (PbStreamObserverStopped )
103
89
logging .Error (errRecover , "[OpenSergo SDK] interrupted gRpc Stream (SubscribeConfigStream) because of panic occurring when receive data from opensergo-control-plane." )
104
90
resp = nil
105
91
err = errRecover
@@ -117,7 +103,6 @@ func (scObserver *subscribeConfigPbStreamObserver) observeReceive() (resp *trans
117
103
logging .Error (errorLocal , "error when receive config-data." )
118
104
scObserver .outsStream .setSubscribeConfigPbStreamWrapper (& subscribeConfigPbStreamWrapper {})
119
105
scObserver .outsStream .pbStreamStatus .Store (PbStreamInterrupted )
120
- scObserver .scObserverStatus .Store (PbStreamObserverStopped )
121
106
logging .Warn ("[OpenSergo SDK] interrupted gRpc Stream (SubscribeConfigStream) because of error occurring when receive data from opensergo-control-plane." )
122
107
return nil , errorLocal
123
108
}
@@ -129,7 +114,6 @@ func (scObserver *subscribeConfigPbStreamObserver) observeReceive() (resp *trans
129
114
//
130
115
// Handle the subscribeResponse from the subscribeResponseChan channel in subscribeConfigPbStreamObserver
131
116
func (scObserver * subscribeConfigPbStreamObserver ) doHandle () {
132
- scObserver .scObserverStatus .Store (PbStreamObserverRunning )
133
117
for {
134
118
pbStreamWrapper := scObserver .outsStream .subscribeConfigPbStreamWrapper ()
135
119
if ! reflect .DeepEqual (pbStreamWrapper , & subscribeConfigPbStreamWrapper {}) {
@@ -175,7 +159,6 @@ func (scObserver *subscribeConfigPbStreamObserver) handleReceive(subscribeRespon
175
159
logging .Error (errRecover2 , fmt .Sprintf ("[OpenSergo SDK] [subscribeResponseId:%v] panic occurred when invoking doHandleReceive() for subscribe." , subscribeResponse .ResponseId ))
176
160
scObserver .outsStream .setSubscribeConfigPbStreamWrapper (& subscribeConfigPbStreamWrapper {})
177
161
scObserver .outsStream .pbStreamStatus .Store (PbStreamInterrupted )
178
- scObserver .scObserverStatus .Store (PbStreamObserverStopped )
179
162
logging .Warn ("[OpenSergo SDK] interrupted gRpc Stream (SubscribeConfigStream) because of error occurring when receive data from opensergo-control-plane." )
180
163
err = errRecover2
181
164
}
0 commit comments