func (m *Message) Send(c context.Context) error {
	req := &pb.XmppMessageRequest{
		Jid:    m.To,
		Body:   &m.Body,
		RawXml: &m.RawXML,
	}
	if m.Type != "" && m.Type != "chat" {
		req.Type = &m.Type
	}
	if m.Sender != "" {
		req.FromJid = &m.Sender
	}
	res := &pb.XmppMessageResponse{}
	if err := internal.Call(c, "xmpp", "SendMessage", req, res); err != nil {
		return err
	}

	if len(res.Status) != len(req.Jid) {
		return fmt.Errorf("xmpp: sent message to %d JIDs, but only got %d statuses back", len(req.Jid), len(res.Status))
	}
	me, any := make(appengine.MultiError, len(req.Jid)), false
	for i, st := range res.Status {
		if st != pb.XmppMessageResponse_NO_ERROR {
			me[i] = errors.New(st.String())
			any = true
		}
	}
	if any {
		return me
	}
	return nil
}
func (m *Message) Send(c context.Context) error {
	req := &pb.XmppMessageRequest{
		Jid:    m.To,
		Body:   &m.Body,
		RawXml: &m.RawXML,
	}
	if m.Type != "" && m.Type != "chat" {
		req.Type = &m.Type
	}
	if m.Sender != "" {
		req.FromJid = &m.Sender
	}
	res := &pb.XmppMessageResponse{}
	if err := internal.Call(c, "xmpp", "SendMessage", req, res); err != nil {
		return err
	}

	if len(res.Status) != len(req.Jid) {
		return fmt.Errorf("xmpp: sent message to %d JIDs, but only got %d statuses back", len(req.Jid), len(res.Status))
	}
	me, any := make(appengine.MultiError, len(req.Jid)), false
	for i, st := range res.Status {
		if st != pb.XmppMessageResponse_NO_ERROR {
			me[i] = errors.New(st.String())
			any = true
		}
	}
	if any {
		return me
	}
	return nil
}
func ( m * Message ) Send ( c context . Context ) error { req := & pb . XmppMessageRequest { Jid : m . To , Body : & m . Body , RawXml : & m . RawXML , } if m . Type != " " && m . Type != " " { req . Type = & m . Type } if m . Sender != " " { req . FromJid = & m . Sender } res := & pb . XmppMessageResponse { } if err := internal . Call ( c , " " , " " , req , res ) ; err != nil { return err } if len ( res . Status ) != len ( req . Jid ) { return fmt . Errorf ( " " , len ( req . Jid ) , len ( res . Status ) ) } me , any := make ( appengine . MultiError , len ( req . Jid ) ) , false for i , st := range res . Status { if st != pb . XmppMessageResponse_NO_ERROR { me [ i ] = errors . New ( st . String ( ) ) any = true } } if any { return me } return nil }
// Send sends a message.
// If any failures occur with specific recipients, the error will be an appengine.MultiError.
Send sends a message . If any failures occur with specific recipients the error will be an appengine . MultiError .