unpadBlock method
Implementation
Iterable<int> unpadBlock(int blockSize, Iterable<int> block) {
if (block.length != blockSize) {
throw Exception('Invalid blocksize');
}
if (block.elementAt(0) != 0) {
throw Exception('Invalid block. First byte not 0');
}
if (block.elementAt(1) != 2) {
throw Exception('Invalid block. Second byte not 2');
}
block = block.skip(2);
block = block.skipWhile((v) => v != 0);
if (block.isEmpty) {
throw Exception('Invalid block. No Message delimiter found');
}
block = block.skip(1);
// TODO is this an error?
if (block.isEmpty) {
throw Exception('Invalid block. No Message');
}
return block;
}