func newPeer(self mesh.PeerName, logger *log.Logger) *peer {
	actions := make(chan func())
	p := &peer{
		st:      newState(self),
		send:    nil, // must .register() later
		actions: actions,
		quit:    make(chan struct{}),
		logger:  logger,
	}
	go p.loop(actions)
	return p
}
func newPeer(self mesh.PeerName, logger *log.Logger) *peer {
	actions := make(chan func())
	p := &peer{
		st:      newState(self),
		send:    nil, 
		actions: actions,
		quit:    make(chan struct{}),
		logger:  logger,
	}
	go p.loop(actions)
	return p
}
func newPeer ( self mesh . PeerName , logger * log . Logger ) * peer { actions := make ( chan func ( ) ) p := & peer { st : newState ( self ) , send : nil , // must .register() later actions : actions , quit : make ( chan struct { } ) , logger : logger , } go p . loop ( actions ) return p }
// Construct a peer with empty state.
// Be sure to register a channel, later,
// so we can make outbound communication.
Construct a peer with empty state . Be sure to register a channel later so we can make outbound communication .