realtime

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2019 License: Apache-2.0 Imports: 15 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Message

type Message struct {
	ID   string          `json:"id"`
	Type string          `json:"type"`
	Ack  bool            `json:"ack"`
	Data *model.FeedData `json:"feed"`
}

Message is the message sent over nats

type Module

type Module struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

Module is responsible for managing the realtime module

func Init

func Init(crud *crud.Module) *Module

Init creates a new instance of the realtime module

func (*Module) AddLiveQuery

func (m *Module) AddLiveQuery(id, project, group, clientID string, whereObj map[string]interface{}, sendFeed SendFeed)

AddLiveQuery tracks a client for a live query

func (*Module) RemoveClient

func (m *Module) RemoveClient(clientID string)

RemoveClient removes a client

func (*Module) RemoveLiveQuery

func (m *Module) RemoveLiveQuery(group, clientID, queryID string)

RemoveLiveQuery removes a particular live query

func (*Module) SendAck

func (m *Module) SendAck(msgID, project, col string, ack bool)

SendAck send an ack for the intent

func (*Module) SendCreateIntent

func (m *Module) SendCreateIntent(project, dbType, col string, req *model.CreateRequest) string

SendCreateIntent broadcasts a realtime create datapoint to the concerned clients

func (*Module) SendDeleteIntent

func (m *Module) SendDeleteIntent(project, dbType, col string, req *model.DeleteRequest) string

SendDeleteIntent broadcasts a realtime delete datapoint to the concerned clients

func (*Module) SendUpdateIntent

func (m *Module) SendUpdateIntent(project, dbType, col string, req *model.UpdateRequest) string

SendUpdateIntent broadcasts a realtime update datapoint to the concerned clients

func (*Module) SetConfig

func (m *Module) SetConfig(project string, conf *config.Realtime) error

SetConfig set the rules and secret key required by the crud block

func (*Module) Subscribe

func (m *Module) Subscribe(ctx context.Context, clientID string, auth *auth.Module, crud *crud.Module, data *model.RealtimeRequest, sendFeed SendFeed) ([]*model.FeedData, error)

Subscribe performs the realtime subscribe operation.

func (*Module) Unsubscribe

func (m *Module) Unsubscribe(clientID string, data *model.RealtimeRequest)

Unsubscribe performs the realtime unsubscribe operation.

type SendFeed

type SendFeed func(*model.FeedData)

SendFeed is the function called whenever a data point (feed) is to be sent

Jump to

Keyboard shortcuts

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