KLALB 3.6.0开发一半的状态

This commit is contained in:
2026-07-06 17:03:27 +08:00
parent 620afef715
commit c8b183da71
90 changed files with 1963 additions and 3757 deletions
+27 -19
View File
@@ -4,7 +4,6 @@ import java.io.File;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
@@ -12,20 +11,17 @@ import java.util.List;
import java.util.NoSuchElementException;
import java.util.Scanner;
import javax.swing.JFrame;
import org.kne.cloud.network.MultipurposeSocketAddress;
import org.kne.cloud.network.SocketChannelListener;
import org.kne.cloud.network.SocketListener;
import org.kne.cloud.network.ipv6.IPv6NetworkLink;
import org.kne.cloud.network.ipv6.RouteItem;
import org.kne.cloud.network.klalb.ui.KLALBStateGUI3;
import org.kne.cloud.network.klalb.ui.UIEnv;
import org.kne.cloud.network.perf.Kperf;
import org.kne.cloud.network.perf.NodeBenchmark;
import org.kne.debug.Debuger;
import org.kne.debug.TimeDebugger;
import org.kne.membandboost.MembandBenchmark;
import org.kne.membandboost.ObjectPoolBandwidthTest;
public class KLALBMain {
public static KLALBStateGUI3 ksg;
@@ -90,8 +86,9 @@ public class KLALBMain {
System.out.println(" links-add <addr:port>: add link");
System.out.println(" links-remove <addr:port>: remove link");
System.out.println(" links-reconnect: reconnect all link");
System.out.println(" kltp-state: query kltp states");
System.out.println(" route: display internal route table");
System.out.println(" kperf <addr:port>: Porformance benchmark");
System.out.println(" kperf <addr:port>: performance benchmark");
System.out.println(" exit: Exit");
break;
@@ -104,12 +101,13 @@ public class KLALBMain {
break;
case "links-state":
System.out.println("links state");
System.out.println("状态\t上传流量\t下载流量\t上传速度\t下载速度\t上传延迟\t下载延迟\t上传抖动\t下载抖动");
//System.out.println("状态\t上传流量\t下载流量\t上传速度\t下载速度\t上传延迟\t下载延迟\t上传抖动\t下载抖动");
System.out.println("state\tspd↑\tspd↓\tPPS↑\tPPS↓\tdelay↑\tdelay↓\tjitter↑\tjitter↓");
synchronized (kpcje.getKlalbController().getLines()) {
for (Iterator<IPv6NetworkLink> iterator = kpcje.getKlalbController().getLines().iterator(); iterator.hasNext();) {
IPv6NetworkLink link=iterator.next();
if(link instanceof KLALBRemoteLine) {
KLALBRemoteLine hostPort = (KLALBRemoteLine) link;
if(link instanceof KLALBRemoteLink) {
KLALBRemoteLink hostPort = (KLALBRemoteLink) link;
System.out.println(hostPort .toString());
}
}
@@ -118,31 +116,34 @@ public class KLALBMain {
case "links-add":
if(sc.length>=2) {
MultipurposeSocketAddress mpsa=new MultipurposeSocketAddress(sc[1]);
List<KLALBRemoteLine>addl=kpcje.getKlalbController().addRemoteLines(mpsa);
List<KLALBRemoteLink>addl=kpcje.getKlalbController().addRemoteLines(mpsa);
if(addl.isEmpty()) {
System.out.println("添加失败,线路已存在!");
//System.out.println("添加失败,线路已存在!");
System.out.println("link already exist!");
}else {
for (Iterator<KLALBRemoteLine> iterator = addl.iterator(); iterator.hasNext();) {
KLALBRemoteLine klalbRemoteLine = (KLALBRemoteLine) iterator.next();
for (Iterator<KLALBRemoteLink> iterator = addl.iterator(); iterator.hasNext();) {
KLALBRemoteLink klalbRemoteLine = (KLALBRemoteLink) iterator.next();
System.out.println("添加成功:"+klalbRemoteLine.getMonitor().getName());
//System.out.println("添加成功:"+klalbRemoteLine.getMonitor().getName());
System.out.println("Successfully added: "+klalbRemoteLine.getName());
}
}
}else {
System.out.println("请输入要添加地址:端口!");
// System.out.println("请输入要添加地址:端口!");
System.out.println("Input Address:port");
}
break;
case "links-remove":
if(sc.length>=2) {
MultipurposeSocketAddress mpsa=new MultipurposeSocketAddress(sc[1]);
List<KLALBRemoteLine>rmvl=kpcje.getKlalbController().removeRemoteLines(mpsa);
List<KLALBRemoteLink>rmvl=kpcje.getKlalbController().removeRemoteLines(mpsa);
if(rmvl.isEmpty()) {
System.out.println("No matched link has been found.");
}else {
for (Iterator iterator = rmvl.iterator(); iterator.hasNext();) {
KLALBRemoteLine klalbRemoteLine = (KLALBRemoteLine) iterator.next();
KLALBRemoteLink klalbRemoteLine = (KLALBRemoteLink) iterator.next();
System.out.println("Successfully removed: "+klalbRemoteLine.getMonitor().getName());
System.out.println("Successfully removed: "+klalbRemoteLine.getName());
}
}
}else {
@@ -157,6 +158,9 @@ public class KLALBMain {
System.out.println("Trying to reconnect all links.");
kpcje.getKlalbController().reconnectImmediately();
break;
case "kltp-state":
System.out.println(kpcje.getKlalbController().getKLTPregister().toString());
break;
case "route":
List<RouteItem> lri=new ArrayList<>( kpcje.getKlalbController().getIpv6Router().getCurrentRouteTabel());
Collections.sort(lri);
@@ -178,9 +182,13 @@ public class KLALBMain {
}
break;
case "memcpy":
case "membandbenchmark":
MembandBenchmark.main(args);
break;
case "memqueuebenchmark":
ObjectPoolBandwidthTest.main(args);
break;
//case "$$SYSTEM:":
//System.out.println();
//break;