Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Backend ¶
type Backend struct { Config *Config DB db.DB Coordinator sync.Coordinator Metrics metrics.Metrics AuthWebhookCache *cache.LRUExpireCache // contains filtered or unexported fields }
Backend manages Yorkie's remote states such as data store, distributed lock and etc. And it has the server status like the configuration.
func New ¶
func New( conf *Config, mongoConf *mongo.Config, etcdConf *etcd.Config, rpcAddr string, met metrics.Metrics, ) (*Backend, error)
New creates a new instance of Backend.
func (*Backend) AttachGoroutine ¶
func (b *Backend) AttachGoroutine(f func())
AttachGoroutine creates a goroutine on a given function and tracks it using the backend's WaitGroup.
type Config ¶
type Config struct { // SnapshotThreshold is the threshold that determines if changes should be // sent with snapshot when the number of changes is greater than this value. SnapshotThreshold uint64 `json:"SnapshotThreshold"` // SnapshotInterval is the interval of changes to create a snapshot. SnapshotInterval uint64 `json:"SnapshotInterval"` // AuthorizationWebhookURL is the url of the authorization webhook. AuthorizationWebhookURL string `json:"AuthorizationWebhookURL"` // AuthorizationWebhookMethods is the methods that run the authorization webhook. AuthorizationWebhookMethods []string `json:"AuthorizationWebhookMethods"` // AuthorizationWebhookMaxRetries is the max count // that retries the authorization webhook. AuthorizationWebhookMaxRetries uint64 `json:"AuthorizationWebhookMaxRetries"` // AuthorizationWebhookMaxWaitIntervalMillis is the max interval // that waits before retrying the authorization webhook. AuthorizationWebhookMaxWaitIntervalMillis uint64 `json:"AuthorizationWebhookMaxWaitIntervalMillis"` // AuthorizationWebhookCacheAuthorizedTTLSec is the TTL value to set when caching the authorized result. AuthorizationWebhookCacheAuthorizedTTLSec uint64 `json:"AuthorizationWebhookCacheAuthorizedTTLSec"` AuthorizationWebhookCacheUnauthorizedTTLSec uint64 `json:"AuthorizationWebhookCacheUnauthorizedTTLSec"` }
Config is the configuration for creating a Backend instance.
func (*Config) RequireAuth ¶ added in v0.1.6
RequireAuth returns whether the given method require authorization.
Click to show internal directories.
Click to hide internal directories.