本文整理汇总了Golang中doppler/sinkserver.MessageRouter.Start方法的典型用法代码示例。如果您正苦于以下问题:Golang MessageRouter.Start方法的具体用法?Golang MessageRouter.Start怎么用?Golang MessageRouter.Start使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类doppler/sinkserver.MessageRouter
的用法示例。
在下文中一共展示了MessageRouter.Start方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1:
services.Add(1)
goRoutineSpawned.Add(1)
go func() {
goRoutineSpawned.Done()
defer services.Done()
sinkManager.Start(newAppServiceChan, deletedAppServiceChan)
}()
TestMessageRouter = sinkserver.NewMessageRouter(sinkManager, logger)
services.Add(1)
goRoutineSpawned.Add(1)
go func() {
goRoutineSpawned.Done()
defer services.Done()
TestMessageRouter.Start(dataReadChannel)
}()
apiEndpoint := "localhost:" + serverPort
TestWebsocketServer = websocketserver.New(apiEndpoint, sinkManager, 10*time.Second, 100, "dropsonde-origin", logger)
services.Add(1)
goRoutineSpawned.Add(1)
go func() {
goRoutineSpawned.Done()
defer services.Done()
TestWebsocketServer.Start()
}()
goRoutineSpawned.Wait()
})
示例2:
var _ = Describe("Message Router", func() {
var fakeManager *fakeSinkManager
var messageRouter *sinkserver.MessageRouter
BeforeEach(func() {
fakeManager = &fakeSinkManager{receivedMessages: make([]*events.Envelope, 0), receivedDrains: make([][]string, 0)}
messageRouter = sinkserver.NewMessageRouter(fakeManager, loggertesthelper.Logger())
})
Describe("Start", func() {
Context("with an incoming message", func() {
var incomingLogChan chan *events.Envelope
BeforeEach(func() {
incomingLogChan = make(chan *events.Envelope)
go messageRouter.Start(incomingLogChan)
})
AfterEach(func() {
messageRouter.Stop()
})
It("sends the message to the sink manager if it is an app message", func() {
message, _ := emitter.Wrap(factories.NewLogMessage(events.LogMessage_OUT, "testMessage", "app", "App"), "origin")
incomingLogChan <- message
Eventually(fakeManager.received).Should(HaveLen(1))
Expect(fakeManager.received()[0].GetLogMessage()).To(Equal(message.GetLogMessage()))
})
})
})