public void ReceiveCommandFromRemote(ReceivedEvent received, CommandRequest request) { var handler = _commandHandlers.GetOrDefault(request.Command); // TODO: Alert back that we can't handle this case? if (handler == null) { if (request.RequestsReceipt()) { _clusterSender.SendReceipt(false, received.FromNetworkId, request.ReplyToJobId, request.ReplyToTaskId); } return; } bool ok = handler.HandleLocal(request); if (request.RequestsReceipt()) { _clusterSender.SendReceipt(ok, received.FromNetworkId, request.ReplyToJobId, request.ReplyToTaskId); } }