func makeRaftPeer(addr net.Addr) raft.Peer {
	return raft.Peer{
		ID:      uint64(addr.(meshconn.MeshAddr).PeerUID),
		Context: nil, // TODO(pb): ??
	}
}
func makeRaftPeer(addr net.Addr) raft.Peer {
	return raft.Peer{
		ID:      uint64(addr.(meshconn.MeshAddr).PeerUID),
		Context: nil, 
	}
}
func makeRaftPeer ( addr net . Addr ) raft . Peer { return raft . Peer { ID : uint64 ( addr . ( meshconn . MeshAddr ) . PeerUID ) , Context : nil , // TODO(pb): ?? } }
// makeRaftPeer converts a net.Addr into a raft.Peer.
// All peers must perform the Addr-to-Peer mapping in the same way.
//
// The etcd Raft implementation tracks the committed entry for each node ID,
// and panics if it discovers a node has lost previously committed entries.
// In effect, it assumes commitment implies durability. But our storage is
// explicitly non-durable. So, whenever a node restarts, we need to give it
// a brand new ID. That is the peer UID.
makeRaftPeer converts a net . Addr into a raft . Peer . All peers must perform the Addr - to - Peer mapping in the same way . The etcd Raft implementation tracks the committed entry for each node ID and panics if it discovers a node has lost previously committed entries . In effect it assumes commitment implies durability . But our storage is explicitly non - durable . So whenever a node restarts we need to give it a brand new ID . That is the peer UID .