Исправлено заполнение pcap фильтра при запуске, добавлен вывод состояния очереди

This commit is contained in:
sshkurov
2022-02-06 08:52:09 +03:00
parent 6bfa09d960
commit 56ed2f5878
13 changed files with 103 additions and 31 deletions

View File

@@ -257,7 +257,6 @@ public abstract class AbstractPcapWorker implements PcapWorker, PacketListener {
}
@Override
@SneakyThrows
public void setFilter(String filter) {
this.filter = filter;
applyFilter();

View File

@@ -79,4 +79,9 @@ public class FilePcapWorker extends AbstractPcapWorker {
subscriptionService.broadcast(new SubscriptionMessage(SubscriptionMessageType.PCAP_STOPPED, null));
}
@Override
public String getExecutorState() {
return "inline";
}
}

View File

@@ -10,7 +10,9 @@ import ru.serega6531.packmate.service.ServicesService;
import ru.serega6531.packmate.service.StreamService;
import java.net.UnknownHostException;
import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@Slf4j
public class LivePcapWorker extends AbstractPcapWorker {
@@ -30,7 +32,7 @@ public class LivePcapWorker extends AbstractPcapWorker {
BasicThreadFactory factory = new BasicThreadFactory.Builder()
.namingPattern("pcap-processor").build();
processorExecutorService = Executors.newSingleThreadExecutor(factory);
processorExecutorService = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(), factory);
}
public void start() throws PcapNativeException {
@@ -63,4 +65,8 @@ public class LivePcapWorker extends AbstractPcapWorker {
log.info("Intercept stopped");
}
@Override
public String getExecutorState() {
return processorExecutorService.toString();
}
}

View File

@@ -24,4 +24,9 @@ public class NoOpPcapWorker implements PcapWorker {
@Override
public void setFilter(String filter) {
}
@Override
public String getExecutorState() {
return "none";
}
}

View File

@@ -20,4 +20,5 @@ public interface PcapWorker {
void setFilter(String filter);
String getExecutorState();
}