zmq-notify/noti/sub_zmq3.go

32 lines
752 B
Go

// +build !zmq2
package main
import "github.com/pebbe/zmq3"
func NewSubscriber(endpoint string) (Subscriber, error) {
sub, err := zmq3.NewSocket(zmq3.SUB)
if err != nil {
return nil, err
}
return v3Subscriber{Socket: sub}, nil
}
type v3Subscriber struct {
Socket *zmq3.Socket
endpoint string
}
func (v3b v3Subscriber) Connect() error {
return v3b.Socket.Connect(v3b.endpoint)
}
func (v3b v3Subscriber) SetSubscribe(topic string) error {
return v3b.Socket.SetSubscribe(topic)
}
func (v3b v3Subscriber) RecvMessage(flag int) (msg []string, err error) {
return v3b.Socket.RecvMessage(zmq3.Flag(flag))
}
func (v3b v3Subscriber) RecvMessageBytes(flag int) (msg [][]byte, err error) {
return v3b.Socket.RecvMessageBytes(zmq3.Flag(flag))
}