diff options
author | Ivan Muratov <binakot@gmail.com> | 2017-07-13 08:42:17 +0300 |
---|---|---|
committer | Ivan Muratov <binakot@gmail.com> | 2017-07-13 08:42:17 +0300 |
commit | 358b591bc457786927ac1466e10181bbffbcf56b (patch) | |
tree | c55745c3ebf2c09acd2d784f828c79e2f3e588c6 /src/org/traccar/protocol/Arnavi4ProtocolDecoder.java | |
parent | 6e70a873886b366980423e448808b60c624e4047 (diff) | |
download | trackermap-server-358b591bc457786927ac1466e10181bbffbcf56b.tar.gz trackermap-server-358b591bc457786927ac1466e10181bbffbcf56b.tar.bz2 trackermap-server-358b591bc457786927ac1466e10181bbffbcf56b.zip |
Replace MODULO256 checksum method.
Added covering tests.
Diffstat (limited to 'src/org/traccar/protocol/Arnavi4ProtocolDecoder.java')
-rw-r--r-- | src/org/traccar/protocol/Arnavi4ProtocolDecoder.java | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/src/org/traccar/protocol/Arnavi4ProtocolDecoder.java b/src/org/traccar/protocol/Arnavi4ProtocolDecoder.java index caa8dd28f..46caebb71 100644 --- a/src/org/traccar/protocol/Arnavi4ProtocolDecoder.java +++ b/src/org/traccar/protocol/Arnavi4ProtocolDecoder.java @@ -5,6 +5,7 @@ import org.jboss.netty.buffer.ChannelBuffers; import org.jboss.netty.channel.Channel; import org.traccar.BaseProtocolDecoder; import org.traccar.DeviceSession; +import org.traccar.helper.Checksum; import org.traccar.model.Position; import java.net.SocketAddress; @@ -35,14 +36,6 @@ public class Arnavi4ProtocolDecoder extends BaseProtocolDecoder { super(protocol); } - private static int modulo256Checksum(byte[] bytes) { - int sum = 0; - for (byte b : bytes) { - sum = (sum + b) & 0xFF; - } - return sum; - } - private Position decodePosition(DeviceSession deviceSession, ChannelBuffer buf, long timestamp) { final Position position = new Position(); @@ -107,7 +100,7 @@ public class Arnavi4ProtocolDecoder extends BaseProtocolDecoder { response = ChannelBuffers.dynamicBuffer(ByteOrder.LITTLE_ENDIAN, 9); response.writeBytes(new byte[]{0x7B, 0x04, 0x00}); byte[] timestampBytes = ByteBuffer.allocate(4).putInt((int) (System.currentTimeMillis() / 1000)).array(); - response.writeByte(modulo256Checksum(timestampBytes)); + response.writeByte(Checksum.modulo256(timestampBytes)); response.writeBytes(timestampBytes); response.writeByte(0x7D); |