當前位置: 首頁>>代碼示例>>Golang>>正文


Golang git.Message類代碼示例

本文整理匯總了Golang中git/eclipse/org/gitroot/paho/org/eclipse/paho/mqtt/golang/git.Message的典型用法代碼示例。如果您正苦於以下問題:Golang Message類的具體用法?Golang Message怎麽用?Golang Message使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Message類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: HandleMqttMessage

func HandleMqttMessage(client *MQTT.Client, msg MQTT.Message) {
	var r message.Response
	if err := json.Unmarshal(msg.Payload(), &r); err != nil {
		log.Println(err)
		return
	}
	log.Printf("Incoming: %v", r)
	if ch, ok := chanMap[r.RequestId]; ok {
		ch <- r
	}
}
開發者ID:callumj,項目名稱:iot-router,代碼行數:11,代碼來源:http.go

示例2: NewEvent

// NewEvent -
func NewEvent(msg MQTT.Message) (Event, error) {
	e := Event{Message: msg}

	decoder := json.NewDecoder(bytes.NewReader(msg.Payload()))

	if err := decoder.Decode(&e); err != nil {
		return e, err
	}

	if err := e.Validate(); err != nil {
		return e, err
	}

	return e, nil
}
開發者ID:powerunit-io,項目名稱:platform,代碼行數:16,代碼來源:event.go

示例3: commandHandler

func (d *Device) commandHandler(client *MQTT.Client, msg MQTT.Message) {
	cmd := protocol.Command{}

	err := cmd.UnMarshal(msg.Payload())
	if err != nil {
		fmt.Println(err)
		return
	}

	switch cmd.Head.No {
	case commonCmdGetStatus:
		d.reportStatus(client)
	default:
		fmt.Printf("received command : %v: %v", cmd.Head.No, cmd.Params)
	}
}
開發者ID:lg0491986,項目名稱:pando-cloud,代碼行數:16,代碼來源:device.go

示例4: publishHandler

func (self *Subscriber) publishHandler(client *MQTT.MqttClient, msg MQTT.Message) {
	body := string(msg.Payload())
	event := pubsub.Parse(body)
	if event == nil {
		return
	}
	self.channelsLock.Lock()
	// fmt.Printf("Event: %+v\n", event)
	for _, ch := range self.channels {
		if ch.filter(event) {
			// fmt.Printf("Sending to: %+v\n", ch.topics)
			ch.C <- event
		}
	}
	self.channelsLock.Unlock()
}
開發者ID:kienhung,項目名稱:gohome,代碼行數:16,代碼來源:subscriber.go

示例5: BrokerHandler

// BrokerHandler -
func (c *Connection) BrokerHandler(client *MQTT.Client, msg MQTT.Message) {
	c.Info(
		"Received new mqtt (worker: %s) - (message: %s) for (topic: %s). Building event now ...",
		c.Name(), msg.Payload(), msg.Topic(),
	)

	event, err := events.NewEvent(msg)

	if err != nil {
		c.Error("Could not handle received event due to (err: %s)", err)
		return
	}

	c.Info("Event successfully created (data: %v)", event)
	c.events <- event
}
開發者ID:powerunit-io,項目名稱:platform,代碼行數:17,代碼來源:connection.go

示例6: statusHandler

func (d *Device) statusHandler(client *MQTT.Client, msg MQTT.Message) {
	status := protocol.Data{}

	err := status.UnMarshal(msg.Payload())
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Println("device receiving status set : ")

	for _, one := range status.SubData {
		fmt.Println("subdeviceid : ", one.Head.SubDeviceid)
		fmt.Println("no : ", one.Head.PropertyNum)
		fmt.Println("params : ", one.Params)
	}
}
開發者ID:lg0491986,項目名稱:pando-cloud,代碼行數:17,代碼來源:device.go

示例7: onMessageReceived

func (b *Broker) onMessageReceived(client *MQTT.Client, m MQTT.Message) {
	log.Debugf("topic:%s / msg:%s", m.Topic(), m.Payload())

	msg := message.Message{
		Sender: b.Name,
		Type:   message.TypeSubscribed,
		Body:   m.Payload(),
		Topic:  m.Topic(),
	}
	b.GwChan <- msg
}
開發者ID:chansuke,項目名稱:fuji,代碼行數:11,代碼來源:broker.go

示例8: handleMessage

// messageHandler is called when a new message arrives
func handleMessage(client *MQTT.Client, msg MQTT.Message) {

	// Unmarshal JSON to RxPacket
	var packet shared.RxPacket
	err := json.Unmarshal(msg.Payload(), &packet)
	if err != nil {
		log.WithField("topic", msg.Topic()).WithError(err).Warn("Failed to unmarshal JSON.")
		return
	}

	// Filter messages by gateway
	if gateway != "" && packet.GatewayEui != gateway {
		return
	}

	// Decode payload
	data, err := base64.StdEncoding.DecodeString(packet.Data)
	if err != nil {
		log.WithField("topic", msg.Topic()).WithError(err).Warn("Failed to decode Payload.")
		return
	}

	ctx := log.WithFields(log.Fields{
		"devAddr": packet.NodeEui,
	})

	if showMeta {
		ctx = ctx.WithFields(log.Fields{
			"gatewayEui": packet.GatewayEui,
			"time":       packet.Time,
			"frequency":  *packet.Frequency,
			"dataRate":   packet.DataRate,
			"rssi":       *packet.Rssi,
			"snr":        *packet.Snr,
		})
	}

	if showRaw {
		ctx = ctx.WithField("data", fmt.Sprintf("%x", data))
	}

	if showTiming {
		rawData, err := base64.StdEncoding.DecodeString(packet.Data)
		if err == nil {
			airtime, err := util.CalculatePacketTime(len(rawData), packet.DataRate)
			if err == nil {
				ctx = ctx.WithField("airtime", fmt.Sprintf("%.1f ms", airtime))
			}
		}
	}

	// Check for unprintable characters
	unprintable, _ := regexp.Compile(`[^[:print:]]`)
	if unprintable.Match(data) {
		ctx.Debug("Received Message")
	} else {
		ctx.WithField("message", fmt.Sprintf("%s", data)).Info("Received Message")
	}

}
開發者ID:batulzii,項目名稱:ttntool,代碼行數:61,代碼來源:follow.go

示例9: mqttMsgToWolfMsg

func mqttMsgToWolfMsg(msg MQTT.Message) models.IncomingPacket {
	inMsg := models.IncomingPacket{}
	inMsg.Message = string(msg.Payload())
	inMsg.Topic = msg.Topic()
	inMsg.QoS = int(msg.Qos())
	return inMsg
}
開發者ID:shalinlk,項目名稱:wolf,代碼行數:7,代碼來源:connection.go

示例10: MsgRecvfun

func MsgRecvfun(client *MQTT.Client, msg MQTT.Message) {
	appUpChan <- msg.Topic()
	fmt.Printf("appUp")
	fmt.Printf("topic:[%s]  ", msg.Topic())
	fmt.Printf("Mesg:%s\n", msg.Payload())

}
開發者ID:huoyan108,項目名稱:dataRelayGo,代碼行數:7,代碼來源:routing.go

示例11: messageHandler

func messageHandler(client *mqtt.MqttClient, message mqtt.Message) {
	var data interface{}
	if strings.HasSuffix(options.ContentType, "json") {
		err = json.Unmarshal(message.Payload(), &data)
		if err != nil {
			log.Println("ERROR unmarshaling the JSON message:", err.Error())
			return
		}
	} else {
		// TODO: support other content-types
		log.Printf("WARNING processing of %s is not supported", options.ContentType)
		return
	}
	prop, err := propTemplate.Fill(data)

	if err != nil {
		log.Println("ERROR filling template with data: ", err.Error())
		return
	}
	out, _ := json.Marshal(prop)
	propPort.SendMessage(runtime.NewPacket(out))
}
開發者ID:voxadam,項目名稱:cascades-caf,代碼行數:22,代碼來源:main.go

示例12: onMessageReceived

func onMessageReceived(client *MQTT.MqttClient, message MQTT.Message) {
	fmt.Printf("Received message on topic: %s\n", message.Topic())
	fmt.Printf("Message: %s\n", message.Payload())

	if string(message.Payload()) == "ぬるぽ" {
		Publish(client, "say", "ガッ")
	}
}
開發者ID:kyokomi-sandbox,項目名稱:sandbox,代碼行數:8,代碼來源:mqtt.go

示例13: onMessageReceived

func (m *MqttClient) onMessageReceived(client *MQTT.Client, message MQTT.Message) {
	log.Infof("topic:%s", message.Topic())

	// Remove topic root
	ct := strings.TrimRight(m.Config.Topic, "#")
	topic := strings.Replace(message.Topic(), ct, "", 1)

	chun := Message{
		Topic:   topic,
		Payload: message.Payload(),
	}

	m.mqttChan <- chun
}
開發者ID:wolfeidau,項目名稱:mqforward,代碼行數:14,代碼來源:mqtt.go

示例14: actionHandler

func actionHandler(client *MQTT.Client, message MQTT.Message) {
	fmt.Println("Received action message on", message.Topic(), "-", string(message.Payload()))
	action := strings.ToLower(string(message.Payload()))
	switch action {
	case "off":
		host.LedsOff()
	case "on":
		host.LedsOn()
	case "toggle":
		host.LedsToggle()
	case "slide":
		host.LedsCycle(3)
	}
}
開發者ID:alsm,項目名稱:goIoT,代碼行數:14,代碼來源:main.go

示例15: messageHandler

func (d *Device) messageHandler(client *MQTT.Client, msg MQTT.Message) {
	fmt.Printf("TOPIC: %s\n", msg.Topic())
	fmt.Printf("MSG: %x\n", msg.Payload())
	msgtype := msg.Topic()
	fmt.Println(msgtype)

	switch msgtype {
	case "c":
		d.commandHandler(client, msg)
	case "s":
		d.statusHandler(client, msg)
	default:
		fmt.Println("unsuported message type :", msgtype)
	}
}
開發者ID:lg0491986,項目名稱:pando-cloud,代碼行數:15,代碼來源:device.go


注:本文中的git/eclipse/org/gitroot/paho/org/eclipse/paho/mqtt/golang/git.Message類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。