public ProtocolInitiation(MarkableDataInput in) throws IOException {
    _protocolHeader = new byte[4];
    in.read(_protocolHeader);

    _protocolClass = in.readByte();
    _protocolInstance = in.readByte();
    _protocolMajor = in.readByte();
    _protocolMinor = in.readByte();
  }
 /**
  * @param in input buffer
  * @return true if we have enough data to decode the PI frame fully, false if more data is
  *     required
  * @throws IOException if there is an issue reading the input
  */
 public boolean decodable(MarkableDataInput in) throws IOException {
   return (in.available() >= 8);
 }