Documentation
¶
Index ¶
- Constants
- Variables
- func CreateRemoteRepoURI(instanceUrl string) (string, error)
- func InstanceForBackrestURI(repoUri string) (string, error)
- func IsBackrestRemoteRepoURI(repoUri string) bool
- func RepoForBackrestURI(repoUri string) (string, error)
- type BackrestSyncHandler
- type BackrestSyncStateHandler
- type InMemoryPeerStateManager
- func (m *InMemoryPeerStateManager) Close() error
- func (m *InMemoryPeerStateManager) GetAll() []*PeerState
- func (m *InMemoryPeerStateManager) GetPeerState(keyID string) *PeerState
- func (m *InMemoryPeerStateManager) OnStateChanged() eventemitter.Receiver[*PeerState]
- func (m *InMemoryPeerStateManager) SetPeerState(keyID string, state *PeerState)
- type PeerState
- type PeerStateManager
- type SqlitePeerStateManager
- func (m *SqlitePeerStateManager) Close() error
- func (m *SqlitePeerStateManager) GetAll() []*PeerState
- func (m *SqlitePeerStateManager) GetPeerState(keyID string) *PeerState
- func (m *SqlitePeerStateManager) OnStateChanged() eventemitter.Receiver[*PeerState]
- func (m *SqlitePeerStateManager) SetPeerState(keyID string, state *PeerState)
- type SyncClient
- type SyncError
- func NewSyncErrorAuth(message error) *SyncError
- func NewSyncErrorConnected(message error) *SyncError
- func NewSyncErrorDisconnected(message error) *SyncError
- func NewSyncErrorInternal(message error) *SyncError
- func NewSyncErrorPending(message error) *SyncError
- func NewSyncErrorProtocol(message error) *SyncError
- func NewSyncErrorRetryWait(message error) *SyncError
- func NewSyncErrorUnknown(message error) *SyncError
- type SyncManager
Constants ¶
View Source
const SyncProtocolVersion = 1
Variables ¶
View Source
var ErrNotBackrestURI = errors.New("not a backrest URI")
Functions ¶
func CreateRemoteRepoURI ¶
func InstanceForBackrestURI ¶
func IsBackrestRemoteRepoURI ¶
func RepoForBackrestURI ¶
Types ¶
type BackrestSyncHandler ¶
type BackrestSyncHandler struct {
v1connect.UnimplementedBackrestSyncServiceHandler
// contains filtered or unexported fields
}
func NewBackrestSyncHandler ¶
func NewBackrestSyncHandler(mgr *SyncManager) *BackrestSyncHandler
func (*BackrestSyncHandler) Sync ¶
func (h *BackrestSyncHandler) Sync(ctx context.Context, stream *connect.BidiStream[v1.SyncStreamItem, v1.SyncStreamItem]) error
type BackrestSyncStateHandler ¶ added in v1.9.0
type BackrestSyncStateHandler struct {
v1connect.UnimplementedBackrestSyncStateServiceHandler
// contains filtered or unexported fields
}
func NewBackrestSyncStateHandler ¶ added in v1.9.0
func NewBackrestSyncStateHandler(mgr *SyncManager) *BackrestSyncStateHandler
func (*BackrestSyncStateHandler) GetPeerSyncStatesStream ¶ added in v1.9.0
func (h *BackrestSyncStateHandler) GetPeerSyncStatesStream(ctx context.Context, req *connect.Request[v1.SyncStateStreamRequest], stream *connect.ServerStream[v1.PeerState]) error
type InMemoryPeerStateManager ¶ added in v1.9.0
type InMemoryPeerStateManager struct {
// contains filtered or unexported fields
}
func NewInMemoryPeerStateManager ¶ added in v1.9.0
func NewInMemoryPeerStateManager() *InMemoryPeerStateManager
func (*InMemoryPeerStateManager) Close ¶ added in v1.9.0
func (m *InMemoryPeerStateManager) Close() error
func (*InMemoryPeerStateManager) GetAll ¶ added in v1.9.0
func (m *InMemoryPeerStateManager) GetAll() []*PeerState
func (*InMemoryPeerStateManager) GetPeerState ¶ added in v1.9.0
func (m *InMemoryPeerStateManager) GetPeerState(keyID string) *PeerState
func (*InMemoryPeerStateManager) OnStateChanged ¶ added in v1.9.0
func (m *InMemoryPeerStateManager) OnStateChanged() eventemitter.Receiver[*PeerState]
func (*InMemoryPeerStateManager) SetPeerState ¶ added in v1.9.0
func (m *InMemoryPeerStateManager) SetPeerState(keyID string, state *PeerState)
type PeerState ¶ added in v1.9.0
type PeerState struct {
InstanceID string
KeyID string
LastHeartbeat time.Time
ConnectionState v1.SyncConnectionState
ConnectionStateMessage string
// Plans and repos available on this peer
KnownRepos map[string]struct{}
KnownPlans map[string]struct{}
// Partial configuration available for this peer
Config *v1.RemoteConfig
}
type PeerStateManager ¶ added in v1.9.0
type SqlitePeerStateManager ¶ added in v1.9.0
type SqlitePeerStateManager struct {
// contains filtered or unexported fields
}
func NewSqlitePeerStateManager ¶ added in v1.9.0
func NewSqlitePeerStateManager(dbpool *sqlitex.Pool) (*SqlitePeerStateManager, error)
func (*SqlitePeerStateManager) Close ¶ added in v1.9.0
func (m *SqlitePeerStateManager) Close() error
func (*SqlitePeerStateManager) GetAll ¶ added in v1.9.0
func (m *SqlitePeerStateManager) GetAll() []*PeerState
func (*SqlitePeerStateManager) GetPeerState ¶ added in v1.9.0
func (m *SqlitePeerStateManager) GetPeerState(keyID string) *PeerState
func (*SqlitePeerStateManager) OnStateChanged ¶ added in v1.9.0
func (m *SqlitePeerStateManager) OnStateChanged() eventemitter.Receiver[*PeerState]
func (*SqlitePeerStateManager) SetPeerState ¶ added in v1.9.0
func (m *SqlitePeerStateManager) SetPeerState(keyID string, state *PeerState)
type SyncClient ¶
type SyncClient struct {
// contains filtered or unexported fields
}
func NewSyncClient ¶
func NewSyncClient( mgr *SyncManager, snapshot syncConfigSnapshot, peer *v1.Multihost_Peer, oplog *oplog.OpLog, ) (*SyncClient, error)
func (*SyncClient) RunSync ¶
func (c *SyncClient) RunSync(ctx context.Context)
type SyncError ¶ added in v1.9.0
type SyncError struct {
State v1.SyncConnectionState
Message error
}
func NewSyncErrorAuth ¶ added in v1.9.0
func NewSyncErrorConnected ¶ added in v1.9.0
func NewSyncErrorDisconnected ¶ added in v1.9.0
func NewSyncErrorInternal ¶ added in v1.9.0
func NewSyncErrorPending ¶ added in v1.9.0
func NewSyncErrorProtocol ¶ added in v1.9.0
func NewSyncErrorRetryWait ¶ added in v1.9.0
func NewSyncErrorUnknown ¶ added in v1.9.0
type SyncManager ¶
type SyncManager struct {
// contains filtered or unexported fields
}
func NewSyncManager ¶
func NewSyncManager(configMgr *config.ConfigManager, oplog *oplog.OpLog, orchestrator *orchestrator.Orchestrator, peerStateManager PeerStateManager) *SyncManager
func (*SyncManager) GetSyncClients ¶
func (m *SyncManager) GetSyncClients() map[string]*SyncClient
GetSyncClients returns a copy of the sync clients map. This makes the map safe to read from concurrently.
func (*SyncManager) RunSync ¶
func (m *SyncManager) RunSync(ctx context.Context)
Note: top level function will be called holding the lock, must kick off goroutines and then return.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.