优化代码,性能暴涨

This commit is contained in:
Administrator
2025-01-29 14:01:11 +08:00
parent e243203535
commit 6de65562be
130 changed files with 9138 additions and 1020 deletions
@@ -0,0 +1,67 @@
package org.kne.cloud.network.scanner;
import java.io.Serializable;
import java.net.UnknownHostException;
import java.util.Objects;
import org.kne.cloud.network.MultipurposeSocketAddress;
public class ScanRange implements Serializable {
public ScanRange(String range) throws UnknownHostException {
setMsaString(range);
}
protected void setMsaString(String range) throws UnknownHostException {
String[]sp=range.split("~");
MultipurposeSocketAddress begin=new MultipurposeSocketAddress(sp[0]);
MultipurposeSocketAddress end;
if(sp.length>1) {
end=new MultipurposeSocketAddress(sp[1]);
}else {
end=new MultipurposeSocketAddress(sp[0]);
}
setMsa(begin, end);
}
public ScanRange(MultipurposeSocketAddress begin,MultipurposeSocketAddress end) throws UnknownHostException {
setMsa(begin,end);
}
protected void setMsa(MultipurposeSocketAddress begin, MultipurposeSocketAddress end) throws UnknownHostException {
this.addressRange=new InetAddressRange(begin.getHost(), end.getHost());
this.portRange=new PortRange(begin.getPort(), end.getPort());
}
public ScanRange(InetAddressRange addressRange, PortRange portRange) {
super();
this.addressRange = addressRange;
this.portRange = portRange;
}
private static final long serialVersionUID = 1L;
protected InetAddressRange addressRange;
protected PortRange portRange;
public InetAddressRange getAddressRange() {
return addressRange;
}
public PortRange getPortRange() {
return portRange;
}
public String toString() {
return new MultipurposeSocketAddress(addressRange.getBeginHost(), portRange.getBegin())+"~"+new MultipurposeSocketAddress(addressRange.getEndHost(), portRange.getEnd());
}
@Override
public int hashCode() {
return Objects.hash(addressRange, portRange);
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
ScanRange other = (ScanRange) obj;
return Objects.equals(addressRange, other.addressRange) && Objects.equals(portRange, other.portRange);
}
}