/*
* Copyright (c) 2015 Huawei, Inc and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
package org.opendaylight.usc.test;
public class EchoServer {
public static void main(String[] args) throws Exception {
int argsNumber = args.length;
int pos = 0;
int port = 2007;
boolean tcpFlag = true;
boolean encryptFlag = false;
while (argsNumber - pos > 0) {
if (args[pos].equals("-t")) {
pos++;
if (pos > argsNumber) {
usage();
return;
}
tcpFlag = Boolean.parseBoolean(args[pos]);
} else if (args[pos].equals("-p")) {
pos++;
if (pos > argsNumber) {
usage();
return;
}
port = Integer.parseInt(args[pos]);
} else if (args[pos].equals("-e")) {
pos++;
if (pos > argsNumber) {
usage();
return;
}
encryptFlag = Boolean.parseBoolean(args[pos]);
} else {
usage();
return;
}
pos++;
}
if (tcpFlag) {
try (EchoServerTcp server = new EchoServerTcp(encryptFlag, port)) {
server.run();
}
} else {
try (EchoServerUdp server = new EchoServerUdp(encryptFlag, port)) {
server.run();
}
}
}
public static void usage() {
System.out.println("Usage: [-t tcpFlag] [ -p port ] [ -e encryptFlag ]");
System.out.println("\t tcpFlag: 'true' for tcp (default), 'false' for udp");
System.out.println("\t port: Application port,default is 2007");
System.out.println("\t encryptFlag: if using secure channel,'true' for using, 'false'(default) for not using");
System.out
.println("\t fileName: the alternative reponse content file,default using the same content of request");
System.out
.println("\t rate: the rate of receive data, which will decide how many times of request data is the reponse data, it can be less than 1.");
}
}