14.go开源groupcache项目笔记——peers代码
属于groupcache包。定义了进程如何找到并和其他peers通信。
定义Content为接口,可以是任何类型。
ProtoGetter也为接口,必须被一个peer来实现,包含一个Get函数。入参Content可以为nil.
定义PeerPicker为接口,包含PickPeer函数。
定义NoPeers为结构体。
声明函数PickPeer。
定义portPicker为一函数PeerPicker。
RegisterPeerPicker函数入参为PeerPicker函数。
如果portPicker不为nil,则panic;否则将入参函数赋值给portPicker
getPeers函数如果portPicker为nil,则返回NoPeers。
否则调用portPicker函数,如果返回为nil,则返回NoPeers,否则返回pk.