|  | @@ -20,6 +20,8 @@ using namespace std;
 | 
	
		
			
				|  |  |   *
 | 
	
		
			
				|  |  |   * <output> - a string that will name the files in which outputs for this run of
 | 
	
		
			
				|  |  |   *      the experiment will be written (that is, timings and traffic data)
 | 
	
		
			
				|  |  | + * <lambda> - a positive integer that determines the absolute soundness parameter
 | 
	
		
			
				|  |  | + *      for batched proofs
 | 
	
		
			
				|  |  |   * <servers_are_malicious> - a bool (given as T/t or F/f)
 | 
	
		
			
				|  |  |   *      which is true when servers are in malicious security
 | 
	
		
			
				|  |  |   *      and false when they are in HBC security
 | 
	
	
		
			
				|  | @@ -40,13 +42,14 @@ int main(int argc, char* argv[])
 | 
	
		
			
				|  |  |      if (argc > 1)
 | 
	
		
			
				|  |  |          output = argv[1];
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    size_t lambda = 0;
 | 
	
		
			
				|  |  | +    if (argc > 2)
 | 
	
		
			
				|  |  | +        lambda = atoi(argv[2]);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      // Default to malicious security if not specified
 | 
	
		
			
				|  |  |      bool maliciousServers = true;
 | 
	
		
			
				|  |  | -    if (argc > 2)
 | 
	
		
			
				|  |  | -    {
 | 
	
		
			
				|  |  | -        bool setting = argv[2][0] == 't' || argv[2][0] == 'T';
 | 
	
		
			
				|  |  | -        maliciousServers = setting;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +    if (argc > 3)
 | 
	
		
			
				|  |  | +        maliciousServers = argv[3][0] == 't' || argv[3][0] == 'T';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      vector<string> serverIPs, clientIPs;
 | 
	
		
			
				|  |  |      vector<int> serverPorts, clientPorts;
 | 
	
	
		
			
				|  | @@ -57,14 +60,16 @@ int main(int argc, char* argv[])
 | 
	
		
			
				|  |  |      targeter["129.97.119.208"] = "tick0";
 | 
	
		
			
				|  |  |      targeter["129.97.119.209"] = "tick1";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    string configDir = "cfg/" + output;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      // Read in from config files the server locations
 | 
	
		
			
				|  |  | -    load_multiple_instances_config(serverIPs, serverPorts, "cfg/serverIPs.cfg");
 | 
	
		
			
				|  |  | +    load_multiple_instances_config(serverIPs, serverPorts, configDir + "/serverIPs.cfg");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // And now the client locations
 | 
	
		
			
				|  |  | -    load_multiple_instances_config(clientIPs, clientPorts, "cfg/clientIPs.cfg");
 | 
	
		
			
				|  |  | +    load_multiple_instances_config(clientIPs, clientPorts, configDir + "/clientIPs.cfg");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // And finally the dealer location
 | 
	
		
			
				|  |  | -    load_single_instance_config(dealerIP, dealerPortStr, dealerPort, "cfg/dealerIP.cfg");
 | 
	
		
			
				|  |  | +    load_single_instance_config(dealerIP, dealerPortStr, dealerPort, configDir + "/dealerIP.cfg");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      size_t numServers = serverIPs.size();
 | 
	
		
			
				|  |  |      size_t numClients = clientIPs.size();
 | 
	
	
		
			
				|  | @@ -80,7 +85,7 @@ int main(int argc, char* argv[])
 | 
	
		
			
				|  |  |      cout << "[ORC] Starting BGN dealer server." << endl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      vector<thread> serverStartup, clientStartup;
 | 
	
		
			
				|  |  | -    serverStartup.push_back(thread(start_remote_actor, targeter[dealerIP], true, "d", output, maliciousServers));
 | 
	
		
			
				|  |  | +    serverStartup.push_back(thread(start_remote_actor, targeter[dealerIP], true, "d", output, lambda, maliciousServers));
 | 
	
		
			
				|  |  |      this_thread::sleep_for(ONE_SECOND);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      cout << "[ORC] Starting other servers." << endl;
 | 
	
	
		
			
				|  | @@ -90,7 +95,7 @@ int main(int argc, char* argv[])
 | 
	
		
			
				|  |  |          if (serverIPs[i] == dealerIP && serverPorts[i] == dealerPort)
 | 
	
		
			
				|  |  |              continue;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        serverStartup.push_back(thread(start_remote_actor, targeter[serverIPs[i]], true, "s" + to_string(i), output, maliciousServers));
 | 
	
		
			
				|  |  | +        serverStartup.push_back(thread(start_remote_actor, targeter[serverIPs[i]], true, "s" + to_string(i), output, lambda, maliciousServers));
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      cout << "[ORC] Waiting for confirmation that servers are ready to continue." << endl;
 | 
	
	
		
			
				|  | @@ -104,7 +109,7 @@ int main(int argc, char* argv[])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      for (size_t i = 0; i < numClients; i++)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | -        clientStartup.push_back(thread(start_remote_actor, targeter[clientIPs[i]], false, "c" + to_string(i), output, maliciousServers));
 | 
	
		
			
				|  |  | +        clientStartup.push_back(thread(start_remote_actor, targeter[clientIPs[i]], false, "c" + to_string(i), output, lambda, maliciousServers));
 | 
	
		
			
				|  |  |          this_thread::sleep_for(ONE_SECOND);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |