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 }