/**
  * Parse Interface Statistics Block.
  * @param string $raw Binary string
  * @param int $currentPosition Current position in file
  * @return array
  * @throws Exception
  */
 public function parse($raw, &$currentPosition)
 {
     $blockStart = PcapngParser::bin2hexEndian(substr($raw, $currentPosition, 4));
     if ($blockStart !== static::BYTE_TYPE) {
         throw new Exception('Unknown format of Interface Statistics Block');
     }
     // Block Total Length
     $totalLength = PcapngParser::rawToDecimal(substr($raw, $currentPosition + 4, 4));
     $block['length'] = $totalLength;
     $interfaceId = PcapngParser::rawToDecimal(substr($raw, $currentPosition + 8, 4));
     $block['interface_id'] = $interfaceId;
     $timestampHigh = PcapngParser::rawToFloat(substr($raw, $currentPosition + 12, 4));
     //todo wrong representation
     $block['timestamp_high'] = $timestampHigh;
     $timestampLow = PcapngParser::rawToFloat(substr($raw, $currentPosition + 16, 4));
     //todo wrong representation
     $block['timestamp_low'] = $timestampLow;
     $currentPosition += 20;
     $this->parseOptions($raw, $currentPosition);
     $lengthEnd = PcapngParser::rawToDecimal(substr($raw, $currentPosition, 4));
     if ($lengthEnd !== $totalLength) {
         throw new Exception('Unknown format');
     }
     $currentPosition += 4;
 }