aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/BaseProtocolDecoder.java
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2020-03-15 15:58:52 -0700
committerAnton Tananaev <anton.tananaev@gmail.com>2020-03-15 15:58:52 -0700
commit11dcacc2fdfd29f4440c8c46e501ef565f9b1dfd (patch)
treead4aff5cb82af52d35e961de6ed69d8914b5e17a /src/main/java/org/traccar/BaseProtocolDecoder.java
parent6adcd4a8dd950a5f945c818280974a0302c9fd8b (diff)
downloadtrackermap-server-11dcacc2fdfd29f4440c8c46e501ef565f9b1dfd.tar.gz
trackermap-server-11dcacc2fdfd29f4440c8c46e501ef565f9b1dfd.tar.bz2
trackermap-server-11dcacc2fdfd29f4440c8c46e501ef565f9b1dfd.zip
Decoder to send queued commands
Diffstat (limited to 'src/main/java/org/traccar/BaseProtocolDecoder.java')
-rw-r--r--src/main/java/org/traccar/BaseProtocolDecoder.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/org/traccar/BaseProtocolDecoder.java b/src/main/java/org/traccar/BaseProtocolDecoder.java
index d014b0871..8981fe4c8 100644
--- a/src/main/java/org/traccar/BaseProtocolDecoder.java
+++ b/src/main/java/org/traccar/BaseProtocolDecoder.java
@@ -21,10 +21,12 @@ import io.netty.handler.codec.http.HttpRequestDecoder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.traccar.config.Config;
+import org.traccar.database.CommandsManager;
import org.traccar.database.ConnectionManager;
import org.traccar.database.IdentityManager;
import org.traccar.database.StatisticsManager;
import org.traccar.helper.UnitsConverter;
+import org.traccar.model.Command;
import org.traccar.model.Device;
import org.traccar.model.Position;
@@ -245,6 +247,16 @@ public abstract class BaseProtocolDecoder extends ExtendedObjectDecoder {
if (deviceId > 0) {
connectionManager.updateDevice(deviceId, Device.STATUS_ONLINE, new Date());
}
+ sendQueuedCommands(channel, remoteAddress, deviceId);
+ }
+
+ protected void sendQueuedCommands(Channel channel, SocketAddress remoteAddress, long deviceId) {
+ CommandsManager commandsManager = Context.getCommandsManager();
+ if (commandsManager != null) {
+ for (Command command : commandsManager.readQueuedCommands(deviceId)) {
+ protocol.sendDataCommand(channel, remoteAddress, command);
+ }
+ }
}
@Override