replicasync
packageThis package is not in the latest version of its module.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
Documentation¶
Index¶
- Variables
- func CreateDERPMeshTLSConfig(hostname string, tlsCertificates []tls.Certificate) (*tls.Config, error)
- func PingPeerReplica(ctx context.Context, client http.Client, relayAddress string) error
- type Manager
- func (m *Manager) AllPrimary() []database.Replica
- func (m *Manager) Close() error
- func (m *Manager) ID() uuid.UUID
- func (m *Manager) InRegion(regionID int32) []database.Replica
- func (m *Manager) PublishUpdate() error
- func (m *Manager) Regional() []database.Replica
- func (m *Manager) Self() database.Replica
- func (m *Manager) SetCallback(callback func())
- func (m *Manager) UpdateNow(ctx context.Context) error
- type Options
Constants¶
This section is empty.
Variables¶
var PubsubEvent = "replica"
Functions¶
funcCreateDERPMeshTLSConfig¶added inv2.8.5
CreateDERPMeshTLSConfig creates a TLS configuration for connecting to peersin the DERP mesh over private networking. It overrides the ServerName to bethe expected public hostname of the peer, and trusts all of the TLS servercertificates used by this replica (as we expect all replicas to use the sameTLS certificates).
Types¶
typeManager¶
type Manager struct {// contains filtered or unexported fields}
Manager keeps the replica up to date and in sync with other replicas.
funcNew¶
func New(ctxcontext.Context, loggerslog.Logger, dbdatabase.Store, pspubsub.Pubsub, options *Options) (*Manager,error)
New registers the replica with the database and periodically updates toensure it's healthy. It contacts all other alive replicas to ensure they arereachable.
func (*Manager)AllPrimary¶
AllPrimary returns every primary replica (not workspace proxy replicas),including itself.
func (*Manager)PublishUpdate¶
PublishUpdate notifies all other replicas to update.
func (*Manager)SetCallback¶
func (m *Manager) SetCallback(callback func())
SetCallback sets a function to execute whenever new peersare refreshed or updated.