callRemote method
void
callRemote(})
集群节点间远程路由异步调用,dispatcher
为null时,从该集群的全部节点中随机选择一个节点
Implementation
void callRemote(String cluster, {required String route, Map<String, dynamic>? data, String? ucid, ClusterClientDispatcher? dispatcher}) {
final clientList = _clusterClientMap[cluster];
if (clientList == null) return;
final packet = EasyPacket.pushsign(_config.secret, route: route, data: data, ucid: ucid);
final client = clientList[dispatcher == null ? Random().nextInt(clientList.length) : dispatcher(cluster, ucid, data)];
logDebug(['callRemote >>>>>>', cluster, client.websocketUrl, packet]);
client.websocketRequest(EasyConstant.routeInnerRMC, data: packet.toJson(), waitCompleter: false);
}