/
githubmirror
/
client
Обзор
Документация
Войти
/
githubmirror
/
client
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
go/libkb/syncer.go
69 строк
2 KB
zoom-ua
remove golang.org/x/net/context in favor of context (#28708)
17 дек 2025, 18:24
Не верифицирован
17 дек 2025, 18:24
67b0ffe
Код
Авторство
О чём код?
// Copyright 2015 Keybase, Inc. All rights reserved. Use of // this source code is governed by the included BSD license. package libkb import ( "context" "fmt" "sync" keybase1 "github.com/keybase/client/go/protocol/keybase1" ) type Syncer interface { Contextifier sync.Locker loadFromStorage(m MetaContext, u keybase1.UID, useExpiration bool) error syncFromServer(m MetaContext, u keybase1.UID, forceReload bool) error store(m MetaContext, u keybase1.UID) error needsLogin(m MetaContext) bool } func RunSyncer(m MetaContext, s Syncer, uid keybase1.UID, loggedIn bool, forceReload bool) (err error) { if uid.IsNil() { return NotFoundError{"No UID given to syncer"} } // unnecessary for secret syncer, but possibly useful for tracker syncer. s.Lock() defer s.Unlock() defer m.Trace(fmt.Sprintf("RunSyncer(%s)", uid), &err)() if err = s.loadFromStorage(m, uid, true); err != nil { return } if m.G().ConnectivityMonitor.IsConnected(context.Background()) == ConnectivityMonitorNo { m.Debug("| not connected, won't sync with server") return } if s.needsLogin(m) && !loggedIn { m.Debug("| Won't sync with server since we're not logged in") return } if err = s.syncFromServer(m, uid, forceReload); err != nil { return } if err = s.store(m, uid); err != nil { return } return } func RunSyncerCached(m MetaContext, s Syncer, uid keybase1.UID) (err error) { if uid.IsNil() { return NotFoundError{"No UID given to syncer"} } // unnecessary for secret syncer, but possibly useful for tracker syncer. s.Lock() defer s.Unlock() defer m.Trace(fmt.Sprintf("RunSyncerCached(%s)", uid), &err)() return s.loadFromStorage(m, uid, false) }