Рефакторинг

This commit is contained in:
serega6531
2020-02-04 23:06:44 +03:00
parent bc847f2045
commit 5d4ab29f98
4 changed files with 15 additions and 13 deletions

View File

@@ -27,8 +27,8 @@ dependencies {
implementation 'org.springframework.session:spring-session-core'
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.7'
compile group: 'commons-io', name: 'commons-io', version: '2.6'
compile 'org.pcap4j:pcap4j-core:1.+'
compile 'org.pcap4j:pcap4j-packetfactory-static:1.+'
compile 'org.pcap4j:pcap4j-core:1.8.2'
compile 'org.pcap4j:pcap4j-packetfactory-static:1.8.2'
compile group: 'com.google.guava', name: 'guava', version: '28.2-jre'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'org.springframework.boot:spring-boot-devtools'

View File

@@ -33,7 +33,8 @@ public class ApplicationConfiguration extends WebSecurityConfigurerAdapter imple
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser(login).password(passwordEncoder().encode(password))
.withUser(login)
.password(passwordEncoder().encode(password))
.authorities("ROLE_USER");
}

View File

@@ -44,7 +44,7 @@ public class PcapWorker implements PacketListener {
private final ListMultimap<UnfinishedStream, ru.serega6531.packmate.model.Packet> unfinishedStreams = ArrayListMultimap.create();
// в следующих мапах в Set находится srcIp соответствующего пакета
// в следующих мапах в значениях находится srcIp соответствующего пакета
private final SetMultimap<UnfinishedStream, ImmutablePair<Inet4Address, Integer>> fins = HashMultimap.create();
private final SetMultimap<UnfinishedStream, ImmutablePair<Inet4Address, Integer>> acks = HashMultimap.create();

View File

@@ -58,8 +58,7 @@ class StreamOptimizer {
Packet packet = packets.get(i);
if (packet.isIncoming() != incoming) {
if (packetsInRow > 1) {
final List<Packet> cut = packets.subList(start, i);
compress(cut, incoming);
compress(start, i);
i++; // продвигаем указатель на следующий после склеенного блок
}
@@ -73,17 +72,18 @@ class StreamOptimizer {
}
if (packetsInRow > 1) {
final List<Packet> cut = packets.subList(start, packets.size());
compress(cut, incoming);
compress(start, packets.size());
}
}
/**
* Сжать кусок cut в один пакет
* Сжать кусок со start по end в один пакет
*/
private void compress(List<Packet> cut, boolean incoming) {
private void compress(int start, int end) {
final List<Packet> cut = packets.subList(start, end);
final long timestamp = cut.get(0).getTimestamp();
final boolean ungzipped = cut.stream().anyMatch(Packet::isUngzipped);
boolean incoming = cut.get(0).isIncoming();
//noinspection OptionalGetWithoutIsPresent
final byte[] content = cut.stream()
.map(Packet::getContent)
@@ -91,7 +91,7 @@ class StreamOptimizer {
.get();
packets.removeAll(cut);
packets.add(Packet.builder()
packets.add(start, Packet.builder()
.incoming(incoming)
.timestamp(timestamp)
.ungzipped(ungzipped)
@@ -176,6 +176,7 @@ class StreamOptimizer {
/**
* Попытаться распаковать кусок пакетов с gzip body и вставить результат на их место
*
* @return получилось ли распаковать
*/
private boolean extractGzip(int gzipStartPacket, int gzipEndPacket) {