示例#1
0
func SendMessage(client *nsqd.ClientV2, msg *nsqd.Message, buf *bytes.Buffer, needFlush bool) error {
	buf.Reset()
	if !client.EnableTrace {
		_, err := msg.WriteTo(buf)
		if err != nil {
			return err
		}
	} else {
		_, err := msg.WriteToWithDetail(buf)
		if err != nil {
			return err
		}
	}

	err := internalSend(client, frameTypeMessage, buf.Bytes(), needFlush)
	if err != nil {
		return err
	}

	return nil
}