package manualsync import ( "context" "fmt" "sync" "modelRT/orm" ) var ( defaultSyncerMu sync.RWMutex defaultSyncer Syncer ) // SetDefaultSyncer sets the process-wide manual measurement syncer. // Passing nil clears the current default. func SetDefaultSyncer(syncer Syncer) { defaultSyncerMu.Lock() defer defaultSyncerMu.Unlock() defaultSyncer = syncer } // Sync uses the process-wide manual measurement syncer. func Sync(ctx context.Context, dataSource orm.JSONMap, mode int16, sample *SyntheticData) error { defaultSyncerMu.RLock() syncer := defaultSyncer defaultSyncerMu.RUnlock() if syncer == nil { return fmt.Errorf("manual measurement sync client is not initialized") } return syncer.Sync(ctx, dataSource, mode, sample) }