diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2020-03-15 15:58:52 -0700 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2020-03-15 15:58:52 -0700 |
commit | 11dcacc2fdfd29f4440c8c46e501ef565f9b1dfd (patch) | |
tree | ad4aff5cb82af52d35e961de6ed69d8914b5e17a /src/main/java/org/traccar/BaseProtocolDecoder.java | |
parent | 6adcd4a8dd950a5f945c818280974a0302c9fd8b (diff) | |
download | trackermap-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.java | 12 |
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 |