Documentation
¶
Index ¶
- Variables
- type AttrMatcher
- type Cable
- type CableModule
- type Channel
- func (ch *Channel) AckDuration() int64
- func (ch *Channel) IgnoreReads()
- func (ch *Channel) OnMessage(fn sobek.Value)
- func (ch *Channel) Perform(action string, attr sobek.Value) error
- func (ch *Channel) Receive(attr sobek.Value) interface{}
- func (ch *Channel) ReceiveAll(sec int, cond sobek.Value) []interface{}
- func (ch *Channel) ReceiveN(n int, cond sobek.Value) []interface{}
- type Client
- type Codec
- type FuncMatcher
- type Matcher
- type PassthruMatcher
- type RootModule
- type StringMatcher
- type SubscribePromise
Constants ¶
This section is empty.
Variables ¶
View Source
var JSONCodec = &Codec{ Receive: func(c *websocket.Conn, v interface{}) error { return c.ReadJSON(v) }, Send: func(c *websocket.Conn, v interface{}) error { return c.WriteJSON(v) }, }
View Source
var MsgPackCodec = &Codec{ Receive: func(c *websocket.Conn, v interface{}) error { _, r, err := c.NextReader() if err != nil { return err } enc := msgpack.NewDecoder(r) enc.SetCustomStructTag("json") return enc.Decode(v) }, Send: func(c *websocket.Conn, v interface{}) error { w, err := c.NextWriter(websocket.BinaryMessage) if err != nil { return err } enc := msgpack.NewEncoder(w) enc.SetCustomStructTag("json") err1 := enc.Encode(v) err2 := w.Close() if err1 != nil { return err1 } return err2 }, }
View Source
var ProtobufCodec = &Codec{ Receive: func(c *websocket.Conn, v interface{}) error { mtype, r, err := c.NextReader() if err != nil { return err } if mtype != websocket.BinaryMessage { return fmt.Errorf("Unexpected message type: %v", mtype) } raw, err := ioutil.ReadAll(r) if err != nil { return err } buf := &pb.Message{} if err := proto.Unmarshal(raw, buf); err != nil { return err } msg := (v).(*cableMsg) msg.Type = buf.Type.String() msg.Identifier = buf.Identifier if buf.Message != nil { var message interface{} err = msgpack.Unmarshal(buf.Message, &message) msg.Message = message } return nil }, Send: func(c *websocket.Conn, v interface{}) error { msg := (v).(*cableMsg) buf := &pb.Message{} buf.Command = pb.Command(pb.Command_value[msg.Command]) buf.Identifier = msg.Identifier buf.Data = msg.Data b, err := proto.Marshal(buf) if err != nil { return err } w, err := c.NextWriter(websocket.BinaryMessage) if err != nil { return err } w.Write(b) err = w.Close() return err }, }
Functions ¶
This section is empty.
Types ¶
type AttrMatcher ¶
type AttrMatcher struct {
// contains filtered or unexported fields
}
func (*AttrMatcher) Match ¶
func (m *AttrMatcher) Match(msg interface{}) bool
type CableModule ¶ added in v0.3.0
type CableModule struct {
*Cable
}
func (*CableModule) Exports ¶ added in v0.3.0
func (c *CableModule) Exports() modules.Exports
type Channel ¶
type Channel struct {
// contains filtered or unexported fields
}
func NewChannel ¶ added in v0.7.0
func (*Channel) AckDuration ¶ added in v0.7.0
func (*Channel) IgnoreReads ¶ added in v0.0.2
func (ch *Channel) IgnoreReads()
IgnoreReads allows skipping collecting incoming messages (in case you only care about the subscription)
func (*Channel) Receive ¶
Receive checks channels messages query for message, sugar for ReceiveN(1, attrs)
func (*Channel) ReceiveAll ¶ added in v0.5.0
ReceiveAll fethes all messages for a given number of seconds.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) Disconnect ¶
func (c *Client) Disconnect()
func (*Client) SubscribeAsync ¶ added in v0.7.0
func (c *Client) SubscribeAsync(channelName string, paramsIn sobek.Value) (*SubscribePromise, error)
Subscribe creates and returns Channel
type FuncMatcher ¶
type FuncMatcher struct {
// contains filtered or unexported fields
}
func (*FuncMatcher) Match ¶
func (m *FuncMatcher) Match(msg interface{}) bool
type PassthruMatcher ¶
type PassthruMatcher struct{}
func (PassthruMatcher) Match ¶
func (PassthruMatcher) Match(_ interface{}) bool
type RootModule ¶ added in v0.3.0
type RootModule struct{}
func New ¶ added in v0.3.0
func New() *RootModule
func (*RootModule) NewModuleInstance ¶ added in v0.3.0
func (*RootModule) NewModuleInstance(vu modules.VU) modules.Instance
type StringMatcher ¶
type StringMatcher struct {
// contains filtered or unexported fields
}
func (*StringMatcher) Match ¶
func (m *StringMatcher) Match(msg interface{}) bool
type SubscribePromise ¶ added in v0.7.0
type SubscribePromise struct {
// contains filtered or unexported fields
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.