}
MixMessage msg = new MixMessage(event, feature, weight, covar, clock, deltaUpdates);
msg.setGroupID(groupID);
NodeInfo server = router.selectNode(msg);
Channel ch = channelMap.get(server);
if(!ch.isActive()) {// reconnect
SocketAddress remoteAddr = server.getSocketAddress();
ch.connect(remoteAddr).sync();
}
//ch.writeAndFlush(msg).sync();
ch.writeAndFlush(msg); // send asynchronously in the background