stream

package
v0.0.20 Latest Latest
Warning

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

Go to latest
Published: Dec 1, 2019 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Request       = "request"
	Response      = "response"
	StatusSuccess = "success"
	StatusError   = "error"
	Notify        = "notify"
	Broadcast     = "broadcast"
)
View Source
const (
	WEBSOCK = ConnectType("websock")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BroadcastClient added in v0.0.15

type BroadcastClient interface {
	Broadcast(message []byte)
}

type Client

type Client struct {
	ConnType  ConnectType
	Connect   *websocket.Conn
	Ip        string
	Referer   string
	UserAgent string
	Width     int
	Height    int
	Cookie    bool
	Language  string
	Platform  string
	Location  string
	Href      string

	// message buffered channel
	Send chan []byte
}

func (*Client) Close

func (c *Client) Close()

func (*Client) Notify

func (c *Client) Notify(t, b string)

func (*Client) UpdateInfo

func (c *Client) UpdateInfo(msg Message)

func (*Client) Write

func (c *Client) Write(opCode int, payload []byte) error

func (*Client) WritePump

func (c *Client) WritePump()

send message to client

type ConnectType

type ConnectType string

type Hub

type Hub struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func NewHub

func NewHub() *Hub

func (*Hub) AddClient

func (h *Hub) AddClient(client *Client)

func (*Hub) Broadcast

func (h *Hub) Broadcast(message []byte)

func (*Hub) Clients

func (h *Hub) Clients() (clients []*Client)

func (*Hub) Recv

func (h *Hub) Recv(client *Client, b []byte)

func (*Hub) Run

func (h *Hub) Run()

func (*Hub) Send

func (h *Hub) Send(client *Client, message []byte)

func (*Hub) Subscribe

func (h *Hub) Subscribe(command string, f func(client *Client, msg Message))

func (*Hub) Subscriber added in v0.0.15

func (h *Hub) Subscriber(command string) (f func(client *Client, msg Message))

func (*Hub) UnSubscribe

func (h *Hub) UnSubscribe(command string)

type Message added in v0.0.9

type Message struct {
	Id      uuid.UUID              `json:"id"`
	Command string                 `json:"command"`
	Payload map[string]interface{} `json:"payload"`
	Forward string                 `json:"forward"`
	Status  string                 `json:"status"`
	Type    string                 `json:"type"`
}

func NewMessage added in v0.0.9

func NewMessage(b []byte) (message Message, err error)

func (*Message) Error added in v0.0.9

func (m *Message) Error(err error) *Message

func (*Message) IsError added in v0.0.15

func (m *Message) IsError() (err error)

func (*Message) Pack added in v0.0.9

func (m *Message) Pack() []byte

func (*Message) Response added in v0.0.9

func (m *Message) Response(payload map[string]interface{}) *Message

func (*Message) Success added in v0.0.9

func (m *Message) Success() *Message

type StreamService

type StreamService struct {
	Hub *Hub
}

func NewStreamService

func NewStreamService(hub *Hub) *StreamService

func (*StreamService) AddClient

func (s *StreamService) AddClient(client *Client)

func (*StreamService) Broadcast

func (s *StreamService) Broadcast(message []byte)

func (*StreamService) GateClient added in v0.0.15

func (w *StreamService) GateClient(client BroadcastClient)

func (*StreamService) Subscribe

func (s *StreamService) Subscribe(command string, f func(client *Client, msg Message))

func (*StreamService) UnSubscribe

func (s *StreamService) UnSubscribe(command string)

func (*StreamService) Ws

func (w *StreamService) Ws(ctx *gin.Context)

Jump to

Keyboard shortcuts

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