push

package
v0.15.13 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2019 License: GPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Init

func Init(jsconfig string) error

Init initializes registered handlers.

func Push

func Push(msg *Receipt)

Push a single message

func Register

func Register(name string, hnd Handler)

Register a push handler

func Stop

func Stop()

Stop all pushes

Types

type Handler

type Handler interface {
	// Initialize the handler
	Init(jsonconf string) error

	// Check if the handler is initialized
	IsReady() bool

	// Push returns a channel that the server will use to send messages to.
	// The message will be dropped if the channel blocks.
	Push() chan<- *Receipt

	// Stop operations
	Stop()
}

Handler is an interface which must be implemented by handlers.

type Payload

type Payload struct {
	Topic       string    `json:"topic"`
	From        string    `json:"from"`
	Timestamp   time.Time `json:"ts"`
	SeqId       int       `json:"seq"`
	ContentType string    `json:"mime"`
	// Actual Data.Content of the message, if requested
	Content interface{} `json:"content,omitempty"`
}

Payload is content of the push.

type Receipt

type Receipt struct {
	// List of recipients, including those who did not receive the message
	To []Recipient `json:"to"`
	// Actual content to be delivered to the client
	Payload Payload `json:"payload"`
}

Receipt is the push payload with a list of recipients.

type Recipient

type Recipient struct {
	// Addressee
	User t.Uid `json:"user"`
	// Count of user's connections that were live when the packet was dispatched from the server
	Delivered int `json:"delivered"`
	// List of user's devices that the packet was delivered to (if known). Len(Devices) >= Delivered
	Devices []string `json:"devices,omitempty"`
}

Recipient is a user targeted by the push.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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