packInteger method
void
packInteger(
- int num
)
Implementation
void packInteger(int num) {
if (num >= -0x20 && num <= 0x7f) {
_bufferBuilder.append(num & 0xff);
} else if (num >= 0x00 && num <= 0xff) {
_bufferBuilder.append(0xcc);
packUint8(num);
} else if (num >= -0x80 && num <= 0x7f) {
_bufferBuilder.append(0xd0);
packInt8(num);
} else if (num >= 0x0000 && num <= 0xffff) {
_bufferBuilder.append(0xcd);
packUint16(num);
} else if (num >= -0x8000 && num <= 0x7fff) {
_bufferBuilder.append(0xd1);
packInt16(num);
} else if (num >= 0x00000000 && num <= 0xffffffff) {
_bufferBuilder.append(0xce);
packUint32(num);
} else if (num >= -0x80000000 && num <= 0x7fffffff) {
_bufferBuilder.append(0xd2);
packInt32(num);
} else if (num >= -0x8000000000000000 && num <= 0x7fffffffffffffff) {
_bufferBuilder.append(0xd3);
packInt64(num);
} else if (num >= 0x0000000000000000 && num <= 0xffffffffffffffff) {
_bufferBuilder.append(0xcf);
packUint64(num);
} else {
throw Exception('Invalid integer');
}
}