diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D314PingMessageExecutor.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D314PingMessageExecutor.java index 1ceeb4e8..13eabf10 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D314PingMessageExecutor.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D314PingMessageExecutor.java @@ -1,6 +1,7 @@ package com.imdroid.sideslope.executor; import com.imdroid.sideslope.message.D314PingMessage; +import com.imdroid.sideslope.server.DeviceChannel; import com.imdroid.sideslope.server.OnlineChannels; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; @@ -17,12 +18,13 @@ public class D314PingMessageExecutor implements Executor public Void execute(D314PingMessage message) { String deviceId = message.getId(); byte[] forwardBytes = message.getSrcData(); - OnlineChannels.INSTANCE.get(deviceId).ifPresent(deviceChannel -> { - forwardBytes[12] = (byte) 1;//ping ack + DeviceChannel deviceChannel = OnlineChannels.INSTANCE.getConfigChannel(deviceId); + if(deviceChannel!=null){ + //forwardBytes[12] = (byte) 1;//ping ack ByteBuf buf = Unpooled.buffer(); buf.writeBytes(forwardBytes); deviceChannel.writeAndFlush(buf); - }); + } return null; } diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/server/OnlineChannels.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/server/OnlineChannels.java index 95159c08..e776fbf5 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/server/OnlineChannels.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/server/OnlineChannels.java @@ -3,12 +3,9 @@ package com.imdroid.sideslope.server; import io.netty.channel.Channel; import java.net.InetSocketAddress; -import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; -import java.util.stream.Collectors; /** * @author Layton @@ -62,10 +59,6 @@ public class OnlineChannels { return Optional.ofNullable(dataChannels.get(deviceId)); } - public List ifPresent(List deviceIds) { - return deviceIds.stream().map(x -> dataChannels.get(x)).filter(Objects::nonNull).collect(Collectors.toList()); - } - public DeviceChannel getDataChannel(String deviceId){ return dataChannels.get(deviceId); }