Esempio n. 1
0
func NewMessagingNode(n *xn.Node, stopCh, stoppedCh chan bool) (
	mn *MessagingNode, err error) {

	var k int
	if n == nil {
		err = NilNode
	}
	if err == nil {
		if k = n.SizePeers(); k == 0 {
			err = NoPeers
		}
	}
	tcpAcc := n.GetAcceptor(0).(*xt.TcpAcceptor)
	if err == nil && tcpAcc == nil {
		err = AcceptorNotLive
	}
	if err == nil && stopCh == nil {
		err = NilControlCh
	}
	if err == nil {
		mn = &MessagingNode{
			Acc:       tcpAcc,
			K:         k,
			StopCh:    stopCh,
			StoppedCh: stoppedCh,
			Node:      *n,
		}
	}
	return

}