TFTPServer / Ack.java
Ack.java
Raw
import java.nio.ByteBuffer;

public class Ack {
  
  public static final int ACKSIZE = 4;

  private byte[] ackArray;
  private short ackOp;
  private int ackBlock;

  Ack(){
    ackArray = new byte[4];
    ackOp = 0;
    ackBlock = 0;
  }

  Ack(short newOp, short newBlock){
    // Declare vars
    this.ackOp = newOp;
    this.ackBlock = newBlock;

    // Populate the array
    this.ackArray = new byte[4];
    ByteBuffer temp = ByteBuffer.wrap(ackArray);
    temp.putShort(newOp);
    temp.putShort(newBlock);
  }


  public byte[] getAckArray() {
    return this.ackArray;
  }

  public void setAckArray(byte[] ackArray) {
    this.ackArray = ackArray;
  }

  public short getAckOp() {
    return this.ackOp;
  }

  public void setAckOp() {
    this.ackOp = (short)ackArray[1];
  }

  public int getAckBlock() {
    return this.ackBlock;
  }

  public void setAckBlock() {
    
    this.ackBlock = ByteBuffer.wrap(ackArray).getShort(2);
  }

}