package org.traccar.protocol; import org.jboss.netty.bootstrap.ServerBootstrap; import org.jboss.netty.channel.ChannelPipeline; import org.jboss.netty.handler.codec.frame.LengthFieldBasedFrameDecoder; import org.traccar.BaseProtocol; import org.traccar.TrackerServer; import org.traccar.protocol.commands.CommandTemplate; import org.traccar.http.commands.CommandType; import java.nio.ByteOrder; import java.util.List; import java.util.Map; public class ProgressProtocol extends BaseProtocol { public ProgressProtocol() { super("progress"); } @Override protected void loadCommandsTemplates(Map templates) { } @Override public void addTrackerServersTo(List serverList) { TrackerServer server = new TrackerServer(new ServerBootstrap(), this.getName()) { @Override protected void addSpecificHandlers(ChannelPipeline pipeline) { pipeline.addLast("frameDecoder", new LengthFieldBasedFrameDecoder(1024, 2, 2, 4, 0)); pipeline.addLast("objectDecoder", new ProgressProtocolDecoder(ProgressProtocol.this)); } }; server.setEndianness(ByteOrder.LITTLE_ENDIAN); serverList.add(server); } }