mongo

package
v0.1.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 4, 2021 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client is a client that connects to Mongo DB and reads or saves Yorkie data.

func Dial added in v0.1.3

func Dial(conf *Config) (*Client, error)

Dial creates an instance of Client and dials the given MongoDB.

func (*Client) ActivateClient

func (c *Client) ActivateClient(ctx context.Context, key string) (*db.ClientInfo, error)

ActivateClient activates the client of the given key.

func (*Client) Close

func (c *Client) Close() error

Close all resources of this client.

func (*Client) CreateChangeInfos

func (c *Client) CreateChangeInfos(
	ctx context.Context,
	docInfo *db.DocInfo,
	initialServerSeq uint64,
	changes []*change.Change,
) error

CreateChangeInfos stores the given changes and doc info.

func (*Client) CreateSnapshotInfo

func (c *Client) CreateSnapshotInfo(
	ctx context.Context,
	docID db.ID,
	doc *document.InternalDocument,
) error

CreateSnapshotInfo stores the snapshot of the given document.

func (*Client) DeactivateClient

func (c *Client) DeactivateClient(ctx context.Context, clientID db.ID) (*db.ClientInfo, error)

DeactivateClient deactivates the client of the given ID.

func (*Client) FindChangeInfosBetweenServerSeqs

func (c *Client) FindChangeInfosBetweenServerSeqs(
	ctx context.Context,
	docID db.ID,
	from uint64,
	to uint64,
) ([]*db.ChangeInfo, error)

FindChangeInfosBetweenServerSeqs returns the changeInfos between two server sequences.

func (*Client) FindChangesBetweenServerSeqs added in v0.1.10

func (c *Client) FindChangesBetweenServerSeqs(
	ctx context.Context,
	docID db.ID,
	from uint64,
	to uint64,
) ([]*change.Change, error)

FindChangesBetweenServerSeqs returns the changes between two server sequences.

func (*Client) FindClientInfoByID

func (c *Client) FindClientInfoByID(ctx context.Context, clientID db.ID) (*db.ClientInfo, error)

FindClientInfoByID finds the client of the given ID.

func (*Client) FindDocInfoByKey

func (c *Client) FindDocInfoByKey(
	ctx context.Context,
	clientInfo *db.ClientInfo,
	bsonDocKey string,
	createDocIfNotExist bool,
) (*db.DocInfo, error)

FindDocInfoByKey finds the document of the given key. If the createDocIfNotExist condition is true, create the document if it does not exist.

func (*Client) FindLastSnapshotInfo

func (c *Client) FindLastSnapshotInfo(
	ctx context.Context,
	docID db.ID,
) (*db.SnapshotInfo, error)

FindLastSnapshotInfo finds the last snapshot of the given document.

func (*Client) UpdateAndFindMinSyncedTicket

func (c *Client) UpdateAndFindMinSyncedTicket(
	ctx context.Context,
	clientInfo *db.ClientInfo,
	docID db.ID,
	serverSeq uint64,
) (*time.Ticket, error)

UpdateAndFindMinSyncedTicket updates the given serverSeq of the given client and returns the min synced ticket.

func (*Client) UpdateClientInfoAfterPushPull

func (c *Client) UpdateClientInfoAfterPushPull(
	ctx context.Context,
	clientInfo *db.ClientInfo,
	docInfo *db.DocInfo,
) error

UpdateClientInfoAfterPushPull updates the client from the given clientInfo after handling PushPull.

type Config

type Config struct {
	ConnectionTimeout string `json:"ConnectionTimeout"`
	ConnectionURI     string `json:"ConnectionURI"`
	YorkieDatabase    string `json:"YorkieDatabase"`
	PingTimeout       string `json:"PingTimeout"`
}

Config is the configuration for creating a Client instance.

func (*Config) ParseConnectionTimeout added in v0.1.7

func (c *Config) ParseConnectionTimeout() time.Duration

ParseConnectionTimeout returns connection timeout duration.

func (*Config) ParsePingTimeout added in v0.1.7

func (c *Config) ParsePingTimeout() time.Duration

ParsePingTimeout returns ping timeout duration.

func (*Config) Validate added in v0.1.7

func (c *Config) Validate() error

Validate returns an error if the provided Config is invalidated.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL