Sproto.SprotoStream.Write C# (CSharp) Method

Write() public method

public Write ( byte data, int offset, int count ) : void
data byte
offset int
count int
return void
		public void Write(byte[] data, int offset, int count) {
			this._expand(count);
			for (int i = 0; i < count; i++) {
				this.buffer [this.pos++] = data [offset + i];
			}
		}

Usage Example

Ejemplo n.º 1
0
        public static byte[] Unpack(byte[] data, int len = 0)
        {
            SprotoStream origin = new SprotoStream();
            int          idx    = 0;

            len = len == 0 ? data.Length : len;
            while (idx < len)
            {
                int          mapz    = data[idx++];
                SprotoStream group   = new SprotoStream(GROUP_SZ);
                byte         padding = 0;
                for (int i = 0; i < GROUP_SZ && idx < len; ++i)
                {
                    if ((mapz & ((1 << i) & 0xff)) != 0)
                    {
                        group[i] = data[idx++];
                    }
                }
                // To judge whether it is a unsaturated group.
                if (idx == len - 1 && data[idx] < GROUP_SZ)
                {
                    padding = data[idx++];
                }
                origin.Write(group.Buffer, 0, GROUP_SZ - padding);
            }
            return(origin.Buffer.Take <byte>(origin.Position).ToArray());
        }
All Usage Examples Of Sproto.SprotoStream::Write