Documentation ¶
Index ¶
Constants ¶
const ( EventCreate = "CREATED" EventUpdate = "UPDATED" EventDelete = "DELETED" EventNotify = "NOTIFIED" )
Basic data events
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Event ¶
type Event struct { Cluster int `json:"cluster,omitempty"` Domain string `json:"domain"` Prefix string `json:"prefix,omitempty"` Verb string `json:"verb"` Doc Doc `json:"doc"` OldDoc Doc `json:"old,omitempty"` }
Event is the basic message structure manipulated by the realtime package
func (*Event) DomainName ¶
DomainName implements the prefixer.Prefixer interface.
type Hub ¶
type Hub interface { // Emit is used by publishers when an event occurs Publish(db prefixer.Prefixer, verb string, doc Doc, oldDoc Doc) // Subscriber creates a Subscriber that can subscribe to several // doctypes. Call its Close method to Unsubscribe. Subscriber(prefixer.Prefixer) *Subscriber // SubscribeFirehose adds a listener for all events that happened in this // cozy-stack process. SubscribeFirehose() *Subscriber // contains filtered or unexported methods }
Hub is an object which recive events and calls appropriate listener
type JSONDoc ¶
JSONDoc is a map representing a simple json object that implements the couchdb.Doc interface.
Note: we can't use the couchdb.JSONDoc as the couchdb package imports the realtime package, and it would create an import loop. And we cannot move the JSONDoc from couchdb here, as some of its methods use other functions from the couchdb package.
func (*JSONDoc) MarshalJSON ¶
MarshalJSON is used for marshalling the document to JSON, with the doctype as _type.
type Subscriber ¶
type Subscriber struct { prefixer.Prefixer Channel EventsChan // contains filtered or unexported fields }
Subscriber is used to subscribe to several doctypes
func (*Subscriber) Close ¶
func (sub *Subscriber) Close()
Close will unsubscribe to all topics and the subscriber should no longer be used after that.
func (*Subscriber) Subscribe ¶
func (sub *Subscriber) Subscribe(doctype string)
Subscribe adds a listener for events on a whole doctype
func (*Subscriber) Unsubscribe ¶
func (sub *Subscriber) Unsubscribe(doctype string)
Unsubscribe removes a listener for events on a whole doctype
func (*Subscriber) Unwatch ¶
func (sub *Subscriber) Unwatch(doctype, id string)
Unwatch removes a listener for events for a specific document (doctype+id)
func (*Subscriber) Watch ¶
func (sub *Subscriber) Watch(doctype, id string)
Watch adds a listener for events for a specific document (doctype+id)