diff options
3 files changed, 2 insertions, 83 deletions
diff --git a/src/main/java/org/traccar/protocol/Pt215FrameDecoder.java b/src/main/java/org/traccar/protocol/Pt215FrameDecoder.java deleted file mode 100644 index 0b3bae914..000000000 --- a/src/main/java/org/traccar/protocol/Pt215FrameDecoder.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2019 Anton Tananaev (anton@traccar.org) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.traccar.protocol; - -import io.netty.buffer.ByteBuf; -import io.netty.channel.Channel; -import io.netty.channel.ChannelHandlerContext; -import org.traccar.BaseFrameDecoder; - -public class Pt215FrameDecoder extends BaseFrameDecoder { - - private ByteBuf decodeFrame(ByteBuf buf, int length) { - if (buf.readableBytes() >= length) { - return buf.readRetainedSlice(length); - } - return null; - } - - @Override - protected Object decode( - ChannelHandlerContext ctx, Channel channel, ByteBuf buf) throws Exception { - - if (buf.readableBytes() < 5) { - return null; - } - - int type = buf.getUnsignedByte(buf.readerIndex() + 2 + 1); - switch (type) { - case Pt215ProtocolDecoder.MSG_LOGIN: - return decodeFrame(buf, 15); - case Pt215ProtocolDecoder.MSG_GPS_REALTIME: - case Pt215ProtocolDecoder.MSG_GPS_OFFLINE: - return decodeFrame(buf, 27); - case Pt215ProtocolDecoder.MSG_STATUS: - return decodeFrame(buf, 11); - default: - return null; - - } - } - -} diff --git a/src/main/java/org/traccar/protocol/Pt215Protocol.java b/src/main/java/org/traccar/protocol/Pt215Protocol.java index 31ddc2c7a..09bd9b121 100644 --- a/src/main/java/org/traccar/protocol/Pt215Protocol.java +++ b/src/main/java/org/traccar/protocol/Pt215Protocol.java @@ -15,6 +15,7 @@ */ package org.traccar.protocol; +import io.netty.handler.codec.LengthFieldBasedFrameDecoder; import org.traccar.BaseProtocol; import org.traccar.PipelineBuilder; import org.traccar.TrackerServer; @@ -25,7 +26,7 @@ public class Pt215Protocol extends BaseProtocol { addServer(new TrackerServer(false, getName()) { @Override protected void addProtocolHandlers(PipelineBuilder pipeline) { - pipeline.addLast(new Pt215FrameDecoder()); + pipeline.addLast(new LengthFieldBasedFrameDecoder(1024, 2, 1, -1, 0)); pipeline.addLast(new Pt215ProtocolDecoder(Pt215Protocol.this)); } }); diff --git a/src/test/java/org/traccar/protocol/Pt215FrameDecoderTest.java b/src/test/java/org/traccar/protocol/Pt215FrameDecoderTest.java deleted file mode 100644 index 2e3600b99..000000000 --- a/src/test/java/org/traccar/protocol/Pt215FrameDecoderTest.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.traccar.protocol; - -import org.junit.Test; -import org.traccar.ProtocolTest; - -public class Pt215FrameDecoderTest extends ProtocolTest { - - @Test - public void testDecode() throws Exception { - - Pt215FrameDecoder decoder = new Pt215FrameDecoder(); - - verifyFrame( - binary("58580d010359339075799656010d0a"), - decoder.decode(null, null, binary("58580d010359339075799656010d0a"))); - - verifyFrame( - binary("5858071340010819640d0a"), - decoder.decode(null, null, binary("5858071340010819640d0a"))); - - verifyFrame( - binary("585815101309160d0f0c9902b7015405f0e82404347afff7000d0a"), - decoder.decode(null, null, binary("585815101309160d0f0c9902b7015405f0e82404347afff7000d0a"))); - - } - -} |