package org.freertr.pack; /** * our proprietary replicator packets * * @author matecsaba */ public class packReplicator { /** * create instance */ public packReplicator() { } /** * ethertype to use */ public final static int ethTyp = 0x8086; /** * data packet */ public final static int typData = 1; /** * keepalive packet */ public final static int typKeep = 2; /** * counter packet */ public final static int typCntr = 3; /** * keepalive time */ public final static int timeKeep = 1000; /** * hold time */ public final static int timeHold = timeKeep * 5; /** * type of packet */ public int typ; /** * sequence number */ public int seq; /** * parse one header * * @param pck packet to parse * @return false on success, true on error */ public boolean parseHeader(packHolder pck) { if (pck.msbGetW(0) != ethTyp) { return true; } typ = pck.getByte(2); seq = pck.msbGetD(3); pck.getSkip(7); return false; } /** * create one header * * @param pck packet to update */ public void createHeader(packHolder pck) { pck.msbPutW(0, ethTyp); pck.putByte(2, typ); pck.msbPutD(3, seq); pck.putSkip(7); } }