MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / subscribe

Method subscribe

sqlchain/observer/service.go:174–200  ·  view source on GitHub ↗
(dbID proto.DatabaseID, resetSubscribePosition string)

Source from the content-addressed store, hash-verified

172}
173
174func (s *Service) subscribe(dbID proto.DatabaseID, resetSubscribePosition string) (err error) {
175 if atomic.LoadInt32(&s.stopped) == 1 {
176 return ErrStopped
177 }
178
179 if resetSubscribePosition != "" {
180 var fromPos int32
181
182 switch resetSubscribePosition {
183 case "newest":
184 fromPos = types.ReplicateFromNewest
185 case "oldest":
186 fromPos = types.ReplicateFromBeginning
187 default:
188 fromPos = types.ReplicateFromNewest
189 }
190
191 unpackWorker(s.subscription.LoadOrStore(dbID,
192 newSubscribeWorker(dbID, fromPos, s))).reset(fromPos)
193 } else {
194 // not resetting
195 unpackWorker(s.subscription.LoadOrStore(dbID,
196 newSubscribeWorker(dbID, types.ReplicateFromNewest, s))).start()
197 }
198
199 return
200}
201
202func unpackWorker(actual interface{}, _ ...interface{}) (worker *subscribeWorker) {
203 if actual == nil {

Callers 3

GetHighestBlockMethod · 0.80
GetHighestBlockV2Method · 0.80
GetHighestBlockV3Method · 0.80

Calls 4

unpackWorkerFunction · 0.85
newSubscribeWorkerFunction · 0.85
resetMethod · 0.65
startMethod · 0.45

Tested by

no test coverage detected