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


Golang Envelope.GetHeartbeat方法代碼示例

本文整理匯總了Golang中github.com/cloudfoundry/dropsonde/events.Envelope.GetHeartbeat方法的典型用法代碼示例。如果您正苦於以下問題:Golang Envelope.GetHeartbeat方法的具體用法?Golang Envelope.GetHeartbeat怎麽用?Golang Envelope.GetHeartbeat使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在github.com/cloudfoundry/dropsonde/events.Envelope的用法示例。


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

示例1:

				Origin:      proto.String("tst"),
				Identifier:  factories.NewControlUUID(id),
				Timestamp:   proto.Int64(time.Now().UnixNano()),
				ControlType: control.ControlMessage_HeartbeatRequest.Enum(),
			}

			heartbeatResponder.Respond(heartbeatRequest)
			Expect(wrappedEmitter.GetMessages()).To(HaveLen(1))
			hbBytes := wrappedEmitter.GetMessages()[0]

			var heartbeat events.Envelope
			err := proto.Unmarshal(hbBytes, &heartbeat)
			Expect(err).NotTo(HaveOccurred())

			heartbeatUuid := heartbeatRequest.GetIdentifier().String()
			Expect(heartbeat.GetHeartbeat().ControlMessageIdentifier.String()).To(Equal(heartbeatUuid))
		})

		It("logs an error when heartbeat emission fails", func() {
			wrappedEmitter.ReturnError = errors.New("fake error")

			logWriter := new(bytes.Buffer)
			log.SetOutput(logWriter)

			id, _ := uuid.NewV4()

			heartbeatRequest := &control.ControlMessage{
				Origin:      proto.String("tst"),
				Identifier:  factories.NewControlUUID(id),
				Timestamp:   proto.Int64(time.Now().UnixNano()),
				ControlType: control.ControlMessage_HeartbeatRequest.Enum(),
開發者ID:trainchou,項目名稱:gorouter,代碼行數:31,代碼來源:heartbeat_responder_test.go

示例2:

					}
					envelope := new(events.Envelope)
					err = proto.Unmarshal(buffer[0:n], envelope)
					if err != nil {
						panic(err)
					}

					var eventId = envelope.GetEventType().String()

					switch envelope.GetEventType() {
					case events.Envelope_HttpStart:
						eventId += envelope.GetHttpStart().GetPeerType().String()
					case events.Envelope_HttpStop:
						eventId += envelope.GetHttpStop().GetPeerType().String()
					case events.Envelope_Heartbeat:
						heartbeatUuidsChan <- envelope.GetHeartbeat().GetControlMessageIdentifier().String()
					case events.Envelope_ValueMetric:
						eventId += envelope.GetValueMetric().GetName()
					case events.Envelope_CounterEvent:
						eventId += envelope.GetCounterEvent().GetName()
					default:
						panic("Unexpected message type")

					}

					if envelope.GetOrigin() != strings.Join(origin, "/") {
						panic("origin not as expected")
					}

					func() {
						lock.Lock()
開發者ID:jungle0755,項目名稱:gorouter,代碼行數:31,代碼來源:dropsonde_end_to_end_test.go

示例3:

					err = proto.Unmarshal(buffer[0:n], envelope)
					if err != nil {
						panic(err)
					}

					var eventId = envelope.GetEventType().String()

					tracker := eventTracker{eventType: eventId}

					switch envelope.GetEventType() {
					case events.Envelope_HttpStart:
						tracker.name = envelope.GetHttpStart().GetPeerType().String()
					case events.Envelope_HttpStop:
						tracker.name = envelope.GetHttpStop().GetPeerType().String()
					case events.Envelope_Heartbeat:
						tracker.name = envelope.GetHeartbeat().GetControlMessageIdentifier().String()
					case events.Envelope_ValueMetric:
						tracker.name = envelope.GetValueMetric().GetName()
					case events.Envelope_CounterEvent:
						tracker.name = envelope.GetCounterEvent().GetName()
					default:
						panic("Unexpected message type")

					}

					if envelope.GetOrigin() != strings.Join(origin, "/") {
						panic("origin not as expected")
					}

					func() {
						lock.Lock()
開發者ID:trainchou,項目名稱:gorouter,代碼行數:31,代碼來源:dropsonde_end_to_end_test.go


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