示例#1
0
// Send sends marshaled data through 0mq socket.
func (t *Types) Send(sock *goczmq.Sock) (err error) {
	frame, err := t.Marshal()
	if err != nil {
		return err
	}

	socType := sock.GetType()
	if err != nil {
		return err
	}

	// If we're sending to a ROUTER, we send the routingID first
	if socType == goczmq.Router {
		err = sock.SendFrame(t.routingID, goczmq.FlagMore)
		if err != nil {
			return err
		}
	}

	// Now send the data frame
	err = sock.SendFrame(frame, 0)
	if err != nil {
		return err
	}

	return err
}
示例#2
0
// Send sends marshaled data through 0mq socket.
func (b *Binary) Send(sock *goczmq.Sock) (err error) {
	frame, err := b.Marshal()
	if err != nil {
		return err
	}

	socType := sock.GetType()
	if err != nil {
		return err
	}

	// If we're sending to a ROUTER, we send the routingID first
	if socType == goczmq.Router {
		err = sock.SendFrame(b.routingID, goczmq.FlagMore)
		if err != nil {
			return err
		}
	}

	// Now send the data frame
	err = sock.SendFrame(frame, goczmq.FlagMore)
	if err != nil {
		return err
	}
	// Now send any frame fields, in order
	err = sock.SendFrame(b.Address, goczmq.FlagMore)
	err = sock.SendFrame(b.Content, 0)

	return err
}