本文整理汇总了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(),
示例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()
示例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()