Sproto.SprotoStream._expand C# (CSharp) Method

_expand() private method

private _expand ( int sz ) : void
sz int
return void
		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;
			}
		}