Documentation ¶
Index ¶
- Constants
- type Document
- func (d *Document) Actor() *time.ActorID
- func (d *Document) ApplyChangePack(pack *change.Pack) error
- func (d *Document) Checkpoint() *checkpoint.Checkpoint
- func (d *Document) CreateChangePack() *change.Pack
- func (d *Document) GarbageCollect(ticket *time.Ticket) int
- func (d *Document) GarbageLen() int
- func (d *Document) HasLocalChanges() bool
- func (d *Document) IsAttached() bool
- func (d *Document) Key() *key.Key
- func (d *Document) Marshal() string
- func (d *Document) RootObject() *json.Object
- func (d *Document) SetActor(actor *time.ActorID)
- func (d *Document) Update(updater func(root *proxy.ObjectProxy) error, msgAndArgs ...interface{}) error
- func (d *Document) UpdateState(state stateType)
- type InternalDocument
- func (d *InternalDocument) Actor() *time.ActorID
- func (d *InternalDocument) ApplyChangePack(pack *change.Pack) error
- func (d *InternalDocument) Checkpoint() *checkpoint.Checkpoint
- func (d *InternalDocument) CreateChangePack() *change.Pack
- func (d *InternalDocument) GarbageCollect(ticket *time.Ticket) int
- func (d *InternalDocument) GarbageLen() int
- func (d *InternalDocument) HasLocalChanges() bool
- func (d *InternalDocument) IsAttached() bool
- func (d *InternalDocument) Key() *key.Key
- func (d *InternalDocument) Marshal() string
- func (d *InternalDocument) RootObject() *json.Object
- func (d *InternalDocument) SetActor(actor *time.ActorID)
- func (d *InternalDocument) UpdateState(state stateType)
Constants ¶
const ( // Detached means that the document is not attached to the client. // The actor of the ticket is created without being assigned. Detached stateType = iota // Attached means that this document is attached to the client. // The actor of the ticket is created with being assigned by the client. Attached )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Document ¶
type Document struct {
// contains filtered or unexported fields
}
Document represents a document accessible to the user.
How document works: The operations are generated by the proxy while executing user's command on the clone. Then the operations will apply the changes into the base json root. This is to protect the base json from errors that may occur while user edit the document.
func FromSnapshot ¶
func FromSnapshot( collection string, document string, serverSeq uint64, snapshot []byte, ) (*Document, error)
FromSnapshot creates a new instance of Document with the snapshot.
func (*Document) ApplyChangePack ¶
ApplyChangePack applies the given change pack into this document.
func (*Document) Checkpoint ¶
func (d *Document) Checkpoint() *checkpoint.Checkpoint
Checkpoint returns the checkpoint of this document.
func (*Document) CreateChangePack ¶
CreateChangePack creates pack of the local changes to send to the server.
func (*Document) GarbageCollect ¶
GarbageCollect purge elements that were removed before the given time.
func (*Document) GarbageLen ¶
GarbageLen returns the count of removed elements.
func (*Document) HasLocalChanges ¶
HasLocalChanges returns whether this document has local changes or not.
func (*Document) IsAttached ¶
IsAttached returns the whether this document is attached or not.
func (*Document) RootObject ¶
RootObject returns the root object.
func (*Document) SetActor ¶
SetActor sets actor into this document. This is also applied in the local changes the document has.
func (*Document) Update ¶
func (d *Document) Update( updater func(root *proxy.ObjectProxy) error, msgAndArgs ...interface{}, ) error
Update executes the given updater to update this document.
func (*Document) UpdateState ¶
func (d *Document) UpdateState(state stateType)
UpdateState updates the state of this document.
type InternalDocument ¶
type InternalDocument struct {
// contains filtered or unexported fields
}
InternalDocument represents a document in MongoDB and contains logical clocks.
func NewInternalDocument ¶
func NewInternalDocument(collection, document string) *InternalDocument
NewInternalDocument creates a new instance of InternalDocument.
func NewInternalDocumentFromSnapshot ¶
func NewInternalDocumentFromSnapshot( collection string, document string, serverSeq uint64, snapshot []byte, ) (*InternalDocument, error)
NewInternalDocumentFromSnapshot creates a new instance of InternalDocument with the snapshot.
func (*InternalDocument) ApplyChangePack ¶
func (d *InternalDocument) ApplyChangePack(pack *change.Pack) error
ApplyChangePack applies the given change pack into this document.
func (*InternalDocument) Checkpoint ¶
func (d *InternalDocument) Checkpoint() *checkpoint.Checkpoint
Checkpoint returns the checkpoint of this document.
func (*InternalDocument) CreateChangePack ¶
func (d *InternalDocument) CreateChangePack() *change.Pack
CreateChangePack creates pack of the local changes to send to the server.
func (*InternalDocument) GarbageCollect ¶
func (d *InternalDocument) GarbageCollect(ticket *time.Ticket) int
GarbageCollect purge elements that were removed before the given time.
func (*InternalDocument) GarbageLen ¶
func (d *InternalDocument) GarbageLen() int
GarbageLen returns the count of removed elements.
func (*InternalDocument) HasLocalChanges ¶
func (d *InternalDocument) HasLocalChanges() bool
HasLocalChanges returns whether this document has local changes or not.
func (*InternalDocument) IsAttached ¶
func (d *InternalDocument) IsAttached() bool
IsAttached returns the whether this document is attached or not.
func (*InternalDocument) Key ¶
func (d *InternalDocument) Key() *key.Key
Key returns the key of this document.
func (*InternalDocument) Marshal ¶
func (d *InternalDocument) Marshal() string
Marshal returns the JSON encoding of this document.
func (*InternalDocument) RootObject ¶
func (d *InternalDocument) RootObject() *json.Object
RootObject returns the root object.
func (*InternalDocument) SetActor ¶
func (d *InternalDocument) SetActor(actor *time.ActorID)
SetActor sets actor into this document. This is also applied in the local changes the document has.
func (*InternalDocument) UpdateState ¶
func (d *InternalDocument) UpdateState(state stateType)
UpdateState updates the state of this document.