private void _expand(int sz=0) {
if(this.size - this.pos < sz) {
long bak_sz = this.size;
while (this.size - this.pos < sz) {
this.size = this.size * 2;
}
if (this.size >= SprotoTypeSize.encode_max_size) {
SprotoTypeSize.error ("object is too large (>" + SprotoTypeSize.encode_max_size + ")");
}
byte[] new_buffer = new byte[this.size];
for (long i = 0; i < bak_sz; i++) {
new_buffer [i] = this.buffer [i];
}
this.buffer = new_buffer;
}
}