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) Root() *proxy.ObjectProxy
- func (d *Document) RootObject() *json.Object
- func (d *Document) SetActor(actor *time.ActorID)
- func (d *Document) SetStatus(status statusType)
- func (d *Document) Update(updater func(root *proxy.ObjectProxy) error, msgAndArgs ...interface{}) error
- 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) SetStatus(status statusType)
Constants ¶
const ( // Detached means that the document is not attached to the client. // The actor of the ticket is created without being assigned. Detached statusType = 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 (*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) Root ¶ added in v0.1.3
func (d *Document) Root() *proxy.ObjectProxy
Root returns the proxy of the root object.
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.
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) SetStatus ¶ added in v0.1.1
func (d *InternalDocument) SetStatus(status statusType)
SetStatus sets the status of this document.