当前位置: 首页>>代码示例>>Golang>>正文


Golang Router.AttachRecvChan方法代码示例

本文整理汇总了Golang中code/google/com/p/go-router/trunk/router.Router.AttachRecvChan方法的典型用法代码示例。如果您正苦于以下问题:Golang Router.AttachRecvChan方法的具体用法?Golang Router.AttachRecvChan怎么用?Golang Router.AttachRecvChan使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在code/google/com/p/go-router/trunk/router.Router的用法示例。


在下文中一共展示了Router.AttachRecvChan方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: newPonger

func newPonger(rot router.Router, done chan<- bool) {
	//attach chans to router
	pingChan := make(chan *Msg)
	pongChan := make(chan *Msg)
	rot.AttachSendChan(router.StrID("pong"), pongChan)
	rot.AttachRecvChan(router.StrID("ping"), pingChan)
	//start ponger
	pong := &Ponger{pongChan, pingChan, done}
	go pong.Run()
}
开发者ID:xconns-com,项目名称:go-router,代码行数:10,代码来源:game4.go

示例2: newPinger

func newPinger(rot router.Router, done chan<- bool, numRuns int) {
	//attach chans to router
	pingChan := make(chan Msg)
	pongChan := make(chan Msg)
	rot.AttachSendChan(router.StrID("ping"), pingChan)
	rot.AttachRecvChan(router.StrID("pong"), pongChan)
	//start pinger
	ping := &Pinger{pingChan, pongChan, done, numRuns}
	go ping.Run()
}
开发者ID:xconns-com,项目名称:go-router,代码行数:10,代码来源:game6.go

示例3: init

func (dt *DbTask) init(r router.Router, sn string, role ServantRole) {
	dt.rot = r
	dt.role = role
	dt.servName = sn
	dt.random = rand.New(rand.NewSource(time.Now().UnixNano()))
	dt.dbRespChans = make(map[string](chan string))
	dt.dbReqChan = make(chan *DbReq)
	dt.sysCmdChan = make(chan string)
	//output_intf or send chans
	dt.FaultRaiser = router.NewFaultRaiser(router.StrID("/Fault/DB/Exception"), r, "DbTask")
	//input_intf or recv chans
	r.AttachRecvChan(router.StrID("/Sys/Command"), dt.sysCmdChan)
	//use a bindChan to keep dbReqChan open when all clients detach & exit
	bc := make(chan *router.BindEvent, 1)
	r.AttachRecvChan(router.StrID("/DB/Request"), dt.dbReqChan, bc)
}
开发者ID:xconns-com,项目名称:go-router,代码行数:16,代码来源:dbtask.go

示例4: newPonger

func newPonger(rot router.Router, done chan<- bool) {
	//attach chans to router
	pingChan := make(chan *Msg)
	pongChan := make(chan *Msg)
	//bindChan := make(chan *router.BindEvent, 1)
	rot.AttachSendChan(router.StrID("pong"), pongChan /*, bindChan*/)
	rot.AttachRecvChan(router.StrID("ping"), pingChan)
	//wait for pinger connecting
	/*
		for {
			if (<-bindChan).Count > 0 {
				break
			}
		}
	*/
	//start ponger
	pong := &Ponger{pongChan, pingChan, done}
	go pong.Run()
}
开发者ID:xconns-com,项目名称:go-router,代码行数:19,代码来源:game3.go


注:本文中的code/google/com/p/go-router/trunk/router.Router.AttachRecvChan方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。