Package lejos.remote.rcx
Class LLCReliableHandler
- java.lang.Object
-
- lejos.remote.rcx.PacketHandler
-
- lejos.remote.rcx.LLCReliableHandler
-
public class LLCReliableHandler extends PacketHandler
A Packet handler that guarantees reliable delivery using checksums, acks, and a single bit sequence number.
-
-
Field Summary
-
Fields inherited from class lejos.remote.rcx.PacketHandler
lowerHandler
-
-
Constructor Summary
Constructors Constructor Description LLCReliableHandler(PacketHandler handler)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisPacketAvailable()Check if a packet is available.intreceivePacket(byte[] buffer)Receive a packet.voidreset()Reset sequence numbers.booleansendPacket(byte[] packet, int len)Send a packet.-
Methods inherited from class lejos.remote.rcx.PacketHandler
close, getError, isAckAvailable, open, receiveAck, setListen
-
-
-
-
Constructor Detail
-
LLCReliableHandler
public LLCReliableHandler(PacketHandler handler)
-
-
Method Detail
-
reset
public void reset()
Reset sequence numbers.- Overrides:
resetin classPacketHandler
-
sendPacket
public boolean sendPacket(byte[] packet, int len)Send a packet.- Specified by:
sendPacketin classPacketHandler- Parameters:
packet- the bytes to sendlen- the number of bytes to send- Returns:
- true if send successful, else false
-
receivePacket
public int receivePacket(byte[] buffer)
Receive a packet.- Specified by:
receivePacketin classPacketHandler- Parameters:
buffer- the buffer to receive the packet into- Returns:
- the number of bytes received
-
isPacketAvailable
public boolean isPacketAvailable()
Check if a packet is available.- Specified by:
isPacketAvailablein classPacketHandler- Returns:
- true if a packet is available, else false
-
-