void setReadPercentage() throws Exception { double tmp = Util.readDoubleFromStdin("Read percentage: "); if (tmp < 0 || tmp > 1.0) { System.err.println("read percentage must be >= 0 or <= 1.0"); return; } disp.callRemoteMethods(null, new MethodCall(SET_READ_PERCENTAGE, tmp), RequestOptions.SYNC()); }
void setAnycastCount() throws Exception { int tmp = Util.readIntFromStdin("Anycast count: "); View view = channel.getView(); if (tmp > view.size()) { System.err.println( "anycast count must be smaller or equal to the view size (" + view + ")\n"); return; } disp.callRemoteMethods(null, new MethodCall(SET_ANYCAST_COUNT, tmp), RequestOptions.SYNC()); }
void setMessageSize() throws Exception { int tmp = Util.readIntFromStdin("Message size: "); disp.callRemoteMethods(null, new MethodCall(SET_MSG_SIZE, tmp), RequestOptions.SYNC()); }
void setNumMessages() throws Exception { int tmp = Util.readIntFromStdin("Number of RPCs: "); disp.callRemoteMethods(null, new MethodCall(SET_NUM_MSGS, tmp), RequestOptions.SYNC()); }
void setSenderThreads() throws Exception { int threads = Util.readIntFromStdin("Number of sender threads: "); disp.callRemoteMethods(null, new MethodCall(SET_NUM_THREADS, threads), RequestOptions.SYNC()); }
public void eventLoop() throws Throwable { int c; while (true) { c = Util.keyPress( "[1] Send msgs [2] Print view [3] Print conns " + "[4] Trash conn [5] Trash all conns" + "\n[6] Set sender threads (" + num_threads + ") [7] Set num msgs (" + num_msgs + ") " + "[8] Set msg size (" + Util.printBytes(msg_size) + ")" + " [9] Set anycast count (" + anycast_count + ")" + "\n[o] Toggle OOB (" + oob + ") [s] Toggle sync (" + sync + ") [r] Set read percentage (" + f.format(read_percentage) + ")" + "\n[q] Quit\n"); switch (c) { case -1: break; case '1': try { startBenchmark(); } catch (Throwable t) { System.err.println(t); } break; case '2': printView(); break; case '3': printConnections(); break; case '4': removeConnection(); break; case '5': removeAllConnections(); break; case '6': setSenderThreads(); break; case '7': setNumMessages(); break; case '8': setMessageSize(); break; case '9': setAnycastCount(); break; case 'o': boolean new_value = !oob; disp.callRemoteMethods(null, new MethodCall(SET_OOB, new_value), RequestOptions.SYNC()); break; case 's': boolean new_val = !sync; disp.callRemoteMethods(null, new MethodCall(SET_SYNC, new_val), RequestOptions.SYNC()); break; case 'r': setReadPercentage(); break; case 'q': channel.close(); return; case '\n': case '\r': break; default: break; } } }