本文整理汇总了Golang中github.com/cascades-fbp/cascades/components/utils.CreateInputPort函数的典型用法代码示例。如果您正苦于以下问题:Golang CreateInputPort函数的具体用法?Golang CreateInputPort怎么用?Golang CreateInputPort使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了CreateInputPort函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: openPorts
// openPorts create ZMQ sockets and start socket monitoring loops
func openPorts() {
optionsPort, err = utils.CreateInputPort("tcp/server.options", *optionsEndpoint, nil)
utils.AssertError(err)
inPort, err = utils.CreateInputPort("tcp/server.in", *inputEndpoint, inCh)
utils.AssertError(err)
}
开发者ID:voxadam,项目名称:cascades-sockets,代码行数:8,代码来源:main.go
示例2: openPorts
// openPorts create ZMQ sockets and start socket monitoring loops
func openPorts() {
tplPort, err = utils.CreateInputPort("template.tpl", *tplEndpoint, nil)
utils.AssertError(err)
inPort, err = utils.CreateInputPort("template.in", *inputEndpoint, inCh)
utils.AssertError(err)
outPort, err = utils.CreateOutputPort("template.out", *outputEndpoint, outCh)
utils.AssertError(err)
}
开发者ID:vishnuvr,项目名称:cascades,代码行数:11,代码来源:main.go
示例3: openPorts
func openPorts() {
context, err = zmq.NewContext()
utils.AssertError(err)
optionsPort, err = utils.CreateInputPort(context, *optionsEndpoint)
utils.AssertError(err)
inPort, err = utils.CreateInputPort(context, *inputEndpoint)
utils.AssertError(err)
}
开发者ID:voxadam,项目名称:cascades-http,代码行数:10,代码来源:main.go
示例4: openPorts
// openPorts create ZMQ sockets and start socket monitoring loops
func openPorts() {
optionsPort, err = utils.CreateInputPort("influxdb/write.options", *optionsEndpoint, nil)
utils.AssertError(err)
inPort, err = utils.CreateInputPort("influxdb/write.in", *inputEndpoint, inCh)
utils.AssertError(err)
if *errorEndpoint != "" {
errPort, err = utils.CreateOutputPort("influxdb/write.err", *errorEndpoint, errCh)
utils.AssertError(err)
}
}
开发者ID:voxadam,项目名称:cascades-influxdb,代码行数:13,代码来源:main.go
示例5: openPorts
func openPorts() {
optsPort, err = utils.CreateInputPort("mqtt-property.options", *optionsEndpoint, nil)
utils.AssertError(err)
tmplPort, err = utils.CreateInputPort("mqtt-property.template", *templateEndpoint, nil)
utils.AssertError(err)
propPort, err = utils.CreateOutputPort("mqtt-property.property", *propertyEndpoint, outCh)
utils.AssertError(err)
if *errorEndpoint != "" {
errPort, err = utils.CreateOutputPort("mqtt-property.err", *errorEndpoint, nil)
utils.AssertError(err)
}
}
开发者ID:voxadam,项目名称:cascades-caf,代码行数:15,代码来源:main.go
示例6: openPorts
// openPorts create ZMQ sockets and start socket monitoring loops
func openPorts() {
inPort, err = utils.CreateInputPort("debug/crasher.in", *inputEndpoint, inCh)
utils.AssertError(err)
outPort, err = utils.CreateOutputPort("debug/crasher.out", *outputEndpoint, outCh)
utils.AssertError(err)
}
开发者ID:vishnuvr,项目名称:cascades,代码行数:8,代码来源:main.go
示例7: openPorts
// openPorts create ZMQ sockets and start socket monitoring loops
func openPorts() {
inPort, err = utils.CreateInputPort("", *inputEndpoint, nil)
utils.AssertError(err)
outPort, err = utils.CreateOutputPort("bonjour/discover.out", *outputEndpoint, outCh)
utils.AssertError(err)
}
开发者ID:voxadam,项目名称:cascades-bonjour,代码行数:8,代码来源:main.go
示例8: openPorts
// openPorts create ZMQ sockets and start socket monitoring loops
func openPorts() {
inPort, err = utils.CreateInputPort("fs/watchdog.in", *inputEndpoint, nil)
utils.AssertError(err)
if *errorEndpoint != "" {
errPort, err = utils.CreateOutputPort("fs/watchdog.err", *errorEndpoint, errCh)
utils.AssertError(err)
}
}
开发者ID:vishnuvr,项目名称:cascades,代码行数:10,代码来源:main.go
示例9: mainLoop
// mainLoop initiates all ports and handles the traffic
func mainLoop() {
openPorts()
defer closePorts()
// Receiver routine
go func() {
inPort, err = utils.CreateInputPort("websocket/server.in", *inputEndpoint, inCh)
utils.AssertError(err)
defer inPort.Close()
for {
ip, err := inPort.RecvMessageBytes(0)
if err != nil {
continue
}
if !runtime.IsValidIP(ip) {
continue
}
msg, err := wsutils.IP2Message(ip)
if err != nil {
log.Println("Failed to convert IP to Message:", err.Error())
continue
}
log.Printf("Received response: %#v\n", msg)
DefaultHub.Outgoing <- *msg
}
}()
// Sender routine
go func() {
outPort, err = utils.CreateOutputPort("websocket/server.out", *outputEndpoint, outCh)
utils.AssertError(err)
defer outPort.Close()
for msg := range DefaultHub.Incoming {
log.Printf("Received data from connection: %#v\n", msg)
ip, err := wsutils.Message2IP(&msg)
if err != nil {
log.Println("Failed to convert Message to IP:", err.Error())
continue
}
outPort.SendMessageDontwait(ip)
}
}()
waitCh := make(chan bool)
go func() {
total := 0
for {
select {
case v := <-inCh:
if !v {
log.Println("IN port is closed. Interrupting execution")
exitCh <- syscall.SIGTERM
break
} else {
total++
}
case v := <-outCh:
if !v {
log.Println("OUT port is closed. Interrupting execution")
exitCh <- syscall.SIGTERM
break
} else {
total++
}
}
if total >= 2 && waitCh != nil {
waitCh <- true
}
}
}()
log.Println("Waiting for port connections to establish... ")
select {
case <-waitCh:
log.Println("Ports connected")
waitCh = nil
case <-time.Tick(30 * time.Second):
log.Println("Timeout: port connections were not established within provided interval")
exitCh <- syscall.SIGTERM
return
}
log.Println("Waiting for configuration...")
var bindAddr string
for {
ip, err := optionsPort.RecvMessageBytes(0)
if err != nil {
continue
}
if !runtime.IsValidIP(ip) || !runtime.IsPacket(ip) {
continue
}
bindAddr = string(ip[1])
break
}
optionsPort.Close()
// Configure & start websocket server
http.Handle("/", websocket.Handler(WebHandler))
//.........这里部分代码省略.........
开发者ID:voxadam,项目名称:cascades-websocket,代码行数:101,代码来源:main.go
示例10: openPorts
// openPorts create ZMQ sockets and start socket monitoring loops
func openPorts() {
optionsPort, err = utils.CreateInputPort("websocket/server.options", *optionsEndpoint, nil)
utils.AssertError(err)
}
开发者ID:voxadam,项目名称:cascades-websocket,代码行数:5,代码来源:main.go
注:本文中的github.com/cascades-fbp/cascades/components/utils.CreateInputPort函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论