josx.rcxcomm
Class LLCHandler

java.lang.Object
  extended byjosx.rcxcomm.PacketHandler
      extended byjosx.rcxcomm.LLCHandler

public class LLCHandler
extends PacketHandler

Packet handler than implement the LLC packet protocol. Deals with packets and acks. Supports independent streams of data in both directions.


Field Summary
 
Fields inherited from class josx.rcxcomm.PacketHandler
lowerHandler
 
Constructor Summary
LLCHandler()
           
 
Method Summary
 void close()
          Close the Tower.
 int getError()
          Get the last error on the Tower
 boolean isAckAvailable()
          Check if an Ack is available
 boolean isPacketAvailable()
          Check if a packet is available
 int receiveAck(byte[] buffer)
          Receive a ack.
 int receivePacket(byte[] buffer)
          Receive a packet.
 boolean sendPacket(byte[] packet, int len)
          Send a packet.
 void setListen(boolean listen)
          Set or unset the listen flag to keep a PC serial tower alive
 
Methods inherited from class josx.rcxcomm.PacketHandler
open, reset
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait
 

Constructor Detail

LLCHandler

public LLCHandler()
Method Detail

getError

public int getError()
Get the last error on the Tower

Overrides:
getError in class PacketHandler
Returns:
the error number, or zero for success

setListen

public void setListen(boolean listen)
Set or unset the listen flag to keep a PC serial tower alive

Overrides:
setListen in class PacketHandler
Parameters:
listen - true to set listen mode, else false

sendPacket

public boolean sendPacket(byte[] packet,
                          int len)
Send a packet.

Specified by:
sendPacket in class PacketHandler
Parameters:
packet - the bytes to send
len - the number of bytes to send
Returns:
true if the send was successful, else false

receivePacket

public int receivePacket(byte[] buffer)
Receive a packet.

Specified by:
receivePacket in class PacketHandler
Parameters:
buffer - the buffer to receive the packet into
Returns:
the number of bytes received

receiveAck

public int receiveAck(byte[] buffer)
Receive a ack.

Overrides:
receiveAck in class PacketHandler
Parameters:
buffer - the buffer to receive the ack into
Returns:
the number of bytes received

isPacketAvailable

public boolean isPacketAvailable()
Check if a packet is available

Specified by:
isPacketAvailable in class PacketHandler
Returns:
true if a Packet is available, else false

isAckAvailable

public boolean isAckAvailable()
Check if an Ack is available

Overrides:
isAckAvailable in class PacketHandler
Returns:
true if ack is available, else false

close

public void close()
Close the Tower.

Overrides:
close in class PacketHandler