Files
iotlcm/admin-svr/server/internal/service/simstatus_queue.go
T

30 lines
929 B
Go

package service
import (
"context"
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/model"
)
// ISimStatusQueue publishes the additive status-sync queue protocol. It is
// deliberately separate from the existing synchronous status service.
type ISimStatusQueue interface {
StartFullSync(context.Context) error
StartFullSyncRun(context.Context) (string, error)
// StartFullSyncRunScoped narrows the run to a channel whitelist; a nil or
// empty scope is a full sync.
StartFullSyncRunScoped(context.Context, *model.SyncScope) (string, error)
EnqueueCard(context.Context, model.SimStatusQueueTaskMessage) error
}
var localSimStatusQueue ISimStatusQueue
func SimStatusQueue() ISimStatusQueue {
if localSimStatusQueue == nil {
panic("implement not found for interface ISimStatusQueue, forgot register?")
}
return localSimStatusQueue
}
func RegisterSimStatusQueue(i ISimStatusQueue) { localSimStatusQueue = i }