diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2015-07-29 11:23:40 +1200 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2015-07-29 11:23:40 +1200 |
commit | 0de1d3e5ba4527bdef27b4e90f528300f5197c3e (patch) | |
tree | 27321847989d08386c4aeb1db7df361731cfc172 /src | |
parent | 3591ef137ae12e5401fc148a637799949ec5c2a7 (diff) | |
download | traccar-server-0de1d3e5ba4527bdef27b4e90f528300f5197c3e.tar.gz traccar-server-0de1d3e5ba4527bdef27b4e90f528300f5197c3e.tar.bz2 traccar-server-0de1d3e5ba4527bdef27b4e90f528300f5197c3e.zip |
Update Xexun frame decoder
Diffstat (limited to 'src')
-rw-r--r-- | src/org/traccar/helper/ChannelBufferTools.java | 6 | ||||
-rw-r--r-- | src/org/traccar/protocol/XexunFrameDecoder.java | 8 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/org/traccar/helper/ChannelBufferTools.java b/src/org/traccar/helper/ChannelBufferTools.java index ef9384138..1ebe89666 100644 --- a/src/org/traccar/helper/ChannelBufferTools.java +++ b/src/org/traccar/helper/ChannelBufferTools.java @@ -24,7 +24,11 @@ import org.traccar.protocol.IntellitracFrameDecoder; * ChannelBuffer helper methods */ public class ChannelBufferTools { - + + public static Integer find(ChannelBuffer buf, int start, String subString) { + return find(buf, start, buf.readerIndex() + buf.readableBytes(), subString); + } + /** * Find string in network buffer */ diff --git a/src/org/traccar/protocol/XexunFrameDecoder.java b/src/org/traccar/protocol/XexunFrameDecoder.java index 1b3446ff9..60fa02696 100644 --- a/src/org/traccar/protocol/XexunFrameDecoder.java +++ b/src/org/traccar/protocol/XexunFrameDecoder.java @@ -36,22 +36,22 @@ public class XexunFrameDecoder extends FrameDecoder { } // Find start - Integer beginIndex = ChannelBufferTools.find(buf, 0, length, "GPRMC"); + Integer beginIndex = ChannelBufferTools.find(buf, buf.readerIndex(), "GPRMC"); if (beginIndex == null) { - beginIndex = ChannelBufferTools.find(buf, 0, length, "GNRMC"); + beginIndex = ChannelBufferTools.find(buf, buf.readerIndex(), "GNRMC"); if (beginIndex == null) { return null; } } // Find identifier - Integer idIndex = ChannelBufferTools.find(buf, beginIndex, length, "imei:"); + Integer idIndex = ChannelBufferTools.find(buf, beginIndex, "imei:"); if (idIndex == null) { return null; } // Find end - Integer endIndex = ChannelBufferTools.find(buf, idIndex, length, ","); + Integer endIndex = ChannelBufferTools.find(buf, idIndex, ","); if (endIndex == null) { return null; } |