public int Size() { int size = 0; for (var i1 = 0; i1 < this.IntArray.Length; i1++) { size += Gobuf.VarintSize(this.IntArray[i1]); } for (var i1 = 0; i1 < this.UintArray.Length; i1++) { size += Gobuf.UvarintSize(this.UintArray[i1]); } size += 1 * 1; size += Gobuf.UvarintSize((ulong)this.Uint8Array.Length) + this.Uint8Array.Length; size += 1 * 2; size += 1 * 2; size += 1 * 4; size += 1 * 4; size += 1 * 8; size += 1 * 8; size += 1 * 4; size += 1 * 8; for (var i1 = 0; i1 < this.StringArray.Length; i1++) { size += Gobuf.StringSize(this.StringArray[i1]); } size += 1 * 1; return(size); }
public int Size() { int size = 0; size += this.Scalar.Size(); size += 1; if (this.ScalarPtr != null) { size += this.ScalarPtr.Size(); } size += Gobuf.UvarintSize((ulong)this.ScalarArray.Count); for (var i1 = 0; i1 < this.ScalarArray.Count; i1++) { size += this.ScalarArray[i1].Size(); } size += Gobuf.UvarintSize((ulong)this.ScalarMap.Count); foreach (var item1 in this.ScalarMap) { size += Gobuf.VarintSize(item1.Key); size += 1; if (item1.Value != null) { size += item1.Value.Size(); } } return(size); }
public int Marshal(byte[] b, int n) { n = this.Scalar.Marshal(b, n); if (this.ScalarPtr != null) { b[n++] = 1; n = this.ScalarPtr.Marshal(b, n); } else { b[n++] = 0; } Gobuf.WriteUvarint((ulong)this.ScalarArray.Count, b, ref n); for (var i1 = 0; i1 < this.ScalarArray.Count; i1++) { n = this.ScalarArray[i1].Marshal(b, n); } Gobuf.WriteUvarint((ulong)this.ScalarMap.Count, b, ref n); foreach (var item1 in this.ScalarMap) { Gobuf.WriteVarint(item1.Key, b, ref n); if (item1.Value != null) { b[n++] = 1; n = item1.Value.Marshal(b, n); } else { b[n++] = 0; } } return(n); }
public int Size() { int size = 0; size += Gobuf.UvarintSize((ulong)this.IntArray.Count); for (var i1 = 0; i1 < this.IntArray.Count; i1++) { size += Gobuf.VarintSize(this.IntArray[i1]); } size += Gobuf.UvarintSize((ulong)this.UintArray.Count); for (var i1 = 0; i1 < this.UintArray.Count; i1++) { size += Gobuf.UvarintSize(this.UintArray[i1]); } size += Gobuf.UvarintSize((ulong)this.Int8Array.Count) + this.Int8Array.Count * 1; size += Gobuf.UvarintSize((ulong)this.Uint8Array.Length) + this.Uint8Array.Length; size += Gobuf.UvarintSize((ulong)this.Int16Array.Count) + this.Int16Array.Count * 2; size += Gobuf.UvarintSize((ulong)this.Uint16Array.Count) + this.Uint16Array.Count * 2; size += Gobuf.UvarintSize((ulong)this.Int32Array.Count) + this.Int32Array.Count * 4; size += Gobuf.UvarintSize((ulong)this.Uint32Array.Count) + this.Uint32Array.Count * 4; size += Gobuf.UvarintSize((ulong)this.Int64Array.Count) + this.Int64Array.Count * 8; size += Gobuf.UvarintSize((ulong)this.Uint64Array.Count) + this.Uint64Array.Count * 8; size += Gobuf.UvarintSize((ulong)this.Float32Array.Count) + this.Float32Array.Count * 4; size += Gobuf.UvarintSize((ulong)this.Float64Array.Count) + this.Float64Array.Count * 8; size += Gobuf.UvarintSize((ulong)this.StringArray.Count); for (var i1 = 0; i1 < this.StringArray.Count; i1++) { size += Gobuf.StringSize(this.StringArray[i1]); } size += Gobuf.UvarintSize((ulong)this.BoolArray.Count) + this.BoolArray.Count * 1; return(size); }
public int Marshal(byte[] b, int n) { for (var i1 = 0; i1 < this.IntArray.Length; i1++) { Gobuf.WriteVarint(this.IntArray[i1], b, ref n); } for (var i1 = 0; i1 < this.UintArray.Length; i1++) { Gobuf.WriteUvarint(this.UintArray[i1], b, ref n); } for (var i1 = 0; i1 < this.Int8Array.Length; i1++) { b[n++] = (byte)this.Int8Array[i1]; } Gobuf.WriteBytes(this.Uint8Array, b, ref n); for (var i1 = 0; i1 < this.Int16Array.Length; i1++) { Gobuf.WriteUint16((ushort)this.Int16Array[i1], b, ref n); } for (var i1 = 0; i1 < this.Uint16Array.Length; i1++) { Gobuf.WriteUint16((ushort)this.Uint16Array[i1], b, ref n); } for (var i1 = 0; i1 < this.Int32Array.Length; i1++) { Gobuf.WriteUint32((uint)this.Int32Array[i1], b, ref n); } for (var i1 = 0; i1 < this.Uint32Array.Length; i1++) { Gobuf.WriteUint32((uint)this.Uint32Array[i1], b, ref n); } for (var i1 = 0; i1 < this.Int64Array.Length; i1++) { Gobuf.WriteUint64((ulong)this.Int64Array[i1], b, ref n); } for (var i1 = 0; i1 < this.Uint64Array.Length; i1++) { Gobuf.WriteUint64((ulong)this.Uint64Array[i1], b, ref n); } for (var i1 = 0; i1 < this.Float32Array.Length; i1++) { Gobuf.WriteFloat32(this.Float32Array[i1], b, ref n); } for (var i1 = 0; i1 < this.Float64Array.Length; i1++) { Gobuf.WriteFloat64(this.Float64Array[i1], b, ref n); } for (var i1 = 0; i1 < this.StringArray.Length; i1++) { Gobuf.WriteString(this.StringArray[i1], b, ref n); } for (var i1 = 0; i1 < this.BoolArray.Length; i1++) { b[n++] = this.BoolArray[i1] ? (byte)1 : (byte)0; } return(n); }
public int Unmarshal(byte[] b, int n) { this.Scalar = new Scalar(); n = this.Scalar.Unmarshal(b, n); if (b[n++] != 0) { this.ScalarPtr = new Scalar(); n = this.ScalarPtr.Unmarshal(b, n); } else { this.ScalarPtr = null; } { this.ScalarArray = new List <Scalar>((int)Gobuf.ReadUvarint(b, ref n)); for (var i1 = 0; i1 < this.ScalarArray.Capacity; i1++) { Scalar v1; v1 = new Scalar(); n = v1.Unmarshal(b, n); this.ScalarArray.Add(v1); } } { var cap1 = (int)Gobuf.ReadUvarint(b, ref n); this.ScalarMap = new Dictionary <long, Scalar>(cap1); for (var i1 = 0; i1 < cap1; i1++) { long key1; Scalar val1; key1 = Gobuf.ReadVarint(b, ref n); if (b[n++] != 0) { val1 = new Scalar(); n = val1.Unmarshal(b, n); } else { val1 = null; } this.ScalarMap.Add(key1, val1); } } return(n); }
public int Unmarshal(byte[] b, int n) { this.Byte = (byte)b[n++]; this.Int = Gobuf.ReadVarint(b, ref n); this.Uint = Gobuf.ReadUvarint(b, ref n); this.Int8 = (sbyte)b[n++]; this.Uint8 = (byte)b[n++]; this.Int16 = (short)Gobuf.ReadUint16(b, ref n); this.Uint16 = (ushort)Gobuf.ReadUint16(b, ref n); this.Int32 = (int)Gobuf.ReadUint32(b, ref n); this.Uint32 = (uint)Gobuf.ReadUint32(b, ref n); this.Int64 = (long)Gobuf.ReadUint64(b, ref n); this.Uint64 = (ulong)Gobuf.ReadUint64(b, ref n); this.Float32 = Gobuf.ReadFloat32(b, ref n); this.Float64 = Gobuf.ReadFloat64(b, ref n); this.String = Gobuf.ReadString(b, ref n); this.Bytes = Gobuf.ReadBytes(b, ref n); this.Bool = b[n++] == 1; return(n); }
public int Marshal(byte[] b, int n) { b[n++] = (byte)this.Byte; Gobuf.WriteVarint(this.Int, b, ref n); Gobuf.WriteUvarint(this.Uint, b, ref n); b[n++] = (byte)this.Int8; b[n++] = (byte)this.Uint8; Gobuf.WriteUint16((ushort)this.Int16, b, ref n); Gobuf.WriteUint16((ushort)this.Uint16, b, ref n); Gobuf.WriteUint32((uint)this.Int32, b, ref n); Gobuf.WriteUint32((uint)this.Uint32, b, ref n); Gobuf.WriteUint64((ulong)this.Int64, b, ref n); Gobuf.WriteUint64((ulong)this.Uint64, b, ref n); Gobuf.WriteFloat32(this.Float32, b, ref n); Gobuf.WriteFloat64(this.Float64, b, ref n); Gobuf.WriteString(this.String, b, ref n); Gobuf.WriteBytes(this.Bytes, b, ref n); b[n++] = this.Bool ? (byte)1 : (byte)0; return(n); }
public int Size() { int size = 0; size += 1; size += Gobuf.VarintSize(this.Int); size += Gobuf.UvarintSize(this.Uint); size += 1; size += 1; size += 2; size += 2; size += 4; size += 4; size += 8; size += 8; size += 4; size += 8; size += Gobuf.StringSize(this.String); size += Gobuf.UvarintSize((ulong)this.Bytes.Length) + this.Bytes.Length; size += 1; return(size); }
public int Marshal(byte[] b, int n) { Gobuf.WriteUvarint((ulong)this.IntMap.Count, b, ref n); foreach (var item1 in this.IntMap) { Gobuf.WriteVarint(item1.Key, b, ref n); Gobuf.WriteVarint(item1.Value, b, ref n); } Gobuf.WriteUvarint((ulong)this.UintMap.Count, b, ref n); foreach (var item1 in this.UintMap) { Gobuf.WriteVarint(item1.Key, b, ref n); Gobuf.WriteUvarint(item1.Value, b, ref n); } Gobuf.WriteUvarint((ulong)this.Int8Map.Count, b, ref n); foreach (var item1 in this.Int8Map) { Gobuf.WriteVarint(item1.Key, b, ref n); b[n++] = (byte)item1.Value; } Gobuf.WriteUvarint((ulong)this.Uint8Map.Count, b, ref n); foreach (var item1 in this.Uint8Map) { Gobuf.WriteVarint(item1.Key, b, ref n); b[n++] = (byte)item1.Value; } Gobuf.WriteUvarint((ulong)this.Int16Map.Count, b, ref n); foreach (var item1 in this.Int16Map) { Gobuf.WriteVarint(item1.Key, b, ref n); Gobuf.WriteUint16((ushort)item1.Value, b, ref n); } Gobuf.WriteUvarint((ulong)this.Uint16Map.Count, b, ref n); foreach (var item1 in this.Uint16Map) { Gobuf.WriteVarint(item1.Key, b, ref n); Gobuf.WriteUint16((ushort)item1.Value, b, ref n); } Gobuf.WriteUvarint((ulong)this.Int32Map.Count, b, ref n); foreach (var item1 in this.Int32Map) { Gobuf.WriteVarint(item1.Key, b, ref n); Gobuf.WriteUint32((uint)item1.Value, b, ref n); } Gobuf.WriteUvarint((ulong)this.Uint32Map.Count, b, ref n); foreach (var item1 in this.Uint32Map) { Gobuf.WriteVarint(item1.Key, b, ref n); Gobuf.WriteUint32((uint)item1.Value, b, ref n); } Gobuf.WriteUvarint((ulong)this.Int64Map.Count, b, ref n); foreach (var item1 in this.Int64Map) { Gobuf.WriteVarint(item1.Key, b, ref n); Gobuf.WriteUint64((ulong)item1.Value, b, ref n); } Gobuf.WriteUvarint((ulong)this.Uint64Map.Count, b, ref n); foreach (var item1 in this.Uint64Map) { Gobuf.WriteVarint(item1.Key, b, ref n); Gobuf.WriteUint64((ulong)item1.Value, b, ref n); } Gobuf.WriteUvarint((ulong)this.Float32Map.Count, b, ref n); foreach (var item1 in this.Float32Map) { Gobuf.WriteVarint(item1.Key, b, ref n); Gobuf.WriteFloat32(item1.Value, b, ref n); } Gobuf.WriteUvarint((ulong)this.Float64Map.Count, b, ref n); foreach (var item1 in this.Float64Map) { Gobuf.WriteVarint(item1.Key, b, ref n); Gobuf.WriteFloat64(item1.Value, b, ref n); } Gobuf.WriteUvarint((ulong)this.StringMap.Count, b, ref n); foreach (var item1 in this.StringMap) { Gobuf.WriteVarint(item1.Key, b, ref n); Gobuf.WriteString(item1.Value, b, ref n); } Gobuf.WriteUvarint((ulong)this.BoolMap.Count, b, ref n); foreach (var item1 in this.BoolMap) { Gobuf.WriteVarint(item1.Key, b, ref n); b[n++] = item1.Value ? (byte)1 : (byte)0; } return(n); }
public int Size() { int size = 0; size += Gobuf.UvarintSize((ulong)this.IntMap.Count); foreach (var item1 in this.IntMap) { size += Gobuf.VarintSize(item1.Key); size += Gobuf.VarintSize(item1.Value); } size += Gobuf.UvarintSize((ulong)this.UintMap.Count); foreach (var item1 in this.UintMap) { size += Gobuf.VarintSize(item1.Key); size += Gobuf.UvarintSize(item1.Value); } size += Gobuf.UvarintSize((ulong)this.Int8Map.Count); foreach (var item1 in this.Int8Map) { size += Gobuf.VarintSize(item1.Key); size += 1; } size += Gobuf.UvarintSize((ulong)this.Uint8Map.Count); foreach (var item1 in this.Uint8Map) { size += Gobuf.VarintSize(item1.Key); size += 1; } size += Gobuf.UvarintSize((ulong)this.Int16Map.Count); foreach (var item1 in this.Int16Map) { size += Gobuf.VarintSize(item1.Key); size += 2; } size += Gobuf.UvarintSize((ulong)this.Uint16Map.Count); foreach (var item1 in this.Uint16Map) { size += Gobuf.VarintSize(item1.Key); size += 2; } size += Gobuf.UvarintSize((ulong)this.Int32Map.Count); foreach (var item1 in this.Int32Map) { size += Gobuf.VarintSize(item1.Key); size += 4; } size += Gobuf.UvarintSize((ulong)this.Uint32Map.Count); foreach (var item1 in this.Uint32Map) { size += Gobuf.VarintSize(item1.Key); size += 4; } size += Gobuf.UvarintSize((ulong)this.Int64Map.Count); foreach (var item1 in this.Int64Map) { size += Gobuf.VarintSize(item1.Key); size += 8; } size += Gobuf.UvarintSize((ulong)this.Uint64Map.Count); foreach (var item1 in this.Uint64Map) { size += Gobuf.VarintSize(item1.Key); size += 8; } size += Gobuf.UvarintSize((ulong)this.Float32Map.Count); foreach (var item1 in this.Float32Map) { size += Gobuf.VarintSize(item1.Key); size += 4; } size += Gobuf.UvarintSize((ulong)this.Float64Map.Count); foreach (var item1 in this.Float64Map) { size += Gobuf.VarintSize(item1.Key); size += 8; } size += Gobuf.UvarintSize((ulong)this.StringMap.Count); foreach (var item1 in this.StringMap) { size += Gobuf.VarintSize(item1.Key); size += Gobuf.StringSize(item1.Value); } size += Gobuf.UvarintSize((ulong)this.BoolMap.Count); foreach (var item1 in this.BoolMap) { size += Gobuf.VarintSize(item1.Key); size += 1; } return(size); }
public int Unmarshal(byte[] b, int n) { this.IntArray = new long[1]; for (var i1 = 0; i1 < 1; i1++) { this.IntArray[i1] = Gobuf.ReadVarint(b, ref n); } this.UintArray = new ulong[1]; for (var i1 = 0; i1 < 1; i1++) { this.UintArray[i1] = Gobuf.ReadUvarint(b, ref n); } this.Int8Array = new sbyte[1]; for (var i1 = 0; i1 < 1; i1++) { this.Int8Array[i1] = (sbyte)b[n++]; } this.Uint8Array = Gobuf.ReadBytes(b, ref n); this.Int16Array = new short[1]; for (var i1 = 0; i1 < 1; i1++) { this.Int16Array[i1] = (short)Gobuf.ReadUint16(b, ref n); } this.Uint16Array = new ushort[1]; for (var i1 = 0; i1 < 1; i1++) { this.Uint16Array[i1] = (ushort)Gobuf.ReadUint16(b, ref n); } this.Int32Array = new int[1]; for (var i1 = 0; i1 < 1; i1++) { this.Int32Array[i1] = (int)Gobuf.ReadUint32(b, ref n); } this.Uint32Array = new uint[1]; for (var i1 = 0; i1 < 1; i1++) { this.Uint32Array[i1] = (uint)Gobuf.ReadUint32(b, ref n); } this.Int64Array = new long[1]; for (var i1 = 0; i1 < 1; i1++) { this.Int64Array[i1] = (long)Gobuf.ReadUint64(b, ref n); } this.Uint64Array = new ulong[1]; for (var i1 = 0; i1 < 1; i1++) { this.Uint64Array[i1] = (ulong)Gobuf.ReadUint64(b, ref n); } this.Float32Array = new float[1]; for (var i1 = 0; i1 < 1; i1++) { this.Float32Array[i1] = Gobuf.ReadFloat32(b, ref n); } this.Float64Array = new double[1]; for (var i1 = 0; i1 < 1; i1++) { this.Float64Array[i1] = Gobuf.ReadFloat64(b, ref n); } this.StringArray = new string[1]; for (var i1 = 0; i1 < 1; i1++) { this.StringArray[i1] = Gobuf.ReadString(b, ref n); } this.BoolArray = new bool[1]; for (var i1 = 0; i1 < 1; i1++) { this.BoolArray[i1] = b[n++] == 1; } return(n); }
public int Unmarshal(byte[] b, int n) { { this.IntArray = new List <long>((int)Gobuf.ReadUvarint(b, ref n)); for (var i1 = 0; i1 < this.IntArray.Capacity; i1++) { long v1; v1 = Gobuf.ReadVarint(b, ref n); this.IntArray.Add(v1); } } { this.UintArray = new List <ulong>((int)Gobuf.ReadUvarint(b, ref n)); for (var i1 = 0; i1 < this.UintArray.Capacity; i1++) { ulong v1; v1 = Gobuf.ReadUvarint(b, ref n); this.UintArray.Add(v1); } } { this.Int8Array = new List <sbyte>((int)Gobuf.ReadUvarint(b, ref n)); for (var i1 = 0; i1 < this.Int8Array.Capacity; i1++) { sbyte v1; v1 = (sbyte)b[n++]; this.Int8Array.Add(v1); } } this.Uint8Array = Gobuf.ReadBytes(b, ref n); { this.Int16Array = new List <short>((int)Gobuf.ReadUvarint(b, ref n)); for (var i1 = 0; i1 < this.Int16Array.Capacity; i1++) { short v1; v1 = (short)Gobuf.ReadUint16(b, ref n); this.Int16Array.Add(v1); } } { this.Uint16Array = new List <ushort>((int)Gobuf.ReadUvarint(b, ref n)); for (var i1 = 0; i1 < this.Uint16Array.Capacity; i1++) { ushort v1; v1 = (ushort)Gobuf.ReadUint16(b, ref n); this.Uint16Array.Add(v1); } } { this.Int32Array = new List <int>((int)Gobuf.ReadUvarint(b, ref n)); for (var i1 = 0; i1 < this.Int32Array.Capacity; i1++) { int v1; v1 = (int)Gobuf.ReadUint32(b, ref n); this.Int32Array.Add(v1); } } { this.Uint32Array = new List <uint>((int)Gobuf.ReadUvarint(b, ref n)); for (var i1 = 0; i1 < this.Uint32Array.Capacity; i1++) { uint v1; v1 = (uint)Gobuf.ReadUint32(b, ref n); this.Uint32Array.Add(v1); } } { this.Int64Array = new List <long>((int)Gobuf.ReadUvarint(b, ref n)); for (var i1 = 0; i1 < this.Int64Array.Capacity; i1++) { long v1; v1 = (long)Gobuf.ReadUint64(b, ref n); this.Int64Array.Add(v1); } } { this.Uint64Array = new List <ulong>((int)Gobuf.ReadUvarint(b, ref n)); for (var i1 = 0; i1 < this.Uint64Array.Capacity; i1++) { ulong v1; v1 = (ulong)Gobuf.ReadUint64(b, ref n); this.Uint64Array.Add(v1); } } { this.Float32Array = new List <float>((int)Gobuf.ReadUvarint(b, ref n)); for (var i1 = 0; i1 < this.Float32Array.Capacity; i1++) { float v1; v1 = Gobuf.ReadFloat32(b, ref n); this.Float32Array.Add(v1); } } { this.Float64Array = new List <double>((int)Gobuf.ReadUvarint(b, ref n)); for (var i1 = 0; i1 < this.Float64Array.Capacity; i1++) { double v1; v1 = Gobuf.ReadFloat64(b, ref n); this.Float64Array.Add(v1); } } { this.StringArray = new List <string>((int)Gobuf.ReadUvarint(b, ref n)); for (var i1 = 0; i1 < this.StringArray.Capacity; i1++) { string v1; v1 = Gobuf.ReadString(b, ref n); this.StringArray.Add(v1); } } { this.BoolArray = new List <bool>((int)Gobuf.ReadUvarint(b, ref n)); for (var i1 = 0; i1 < this.BoolArray.Capacity; i1++) { bool v1; v1 = b[n++] == 1; this.BoolArray.Add(v1); } } return(n); }
public int Unmarshal(byte[] b, int n) { if (b[n++] != 0) { this.IntPtr = Gobuf.ReadVarint(b, ref n); } else { this.IntPtr = null; } if (b[n++] != 0) { this.UintPtr = Gobuf.ReadUvarint(b, ref n); } else { this.UintPtr = null; } if (b[n++] != 0) { this.Int8Ptr = (sbyte)b[n++]; } else { this.Int8Ptr = null; } if (b[n++] != 0) { this.Uint8Ptr = (byte)b[n++]; } else { this.Uint8Ptr = null; } if (b[n++] != 0) { this.Int16Ptr = (short)Gobuf.ReadUint16(b, ref n); } else { this.Int16Ptr = null; } if (b[n++] != 0) { this.Uint16Ptr = (ushort)Gobuf.ReadUint16(b, ref n); } else { this.Uint16Ptr = null; } if (b[n++] != 0) { this.Int32Ptr = (int)Gobuf.ReadUint32(b, ref n); } else { this.Int32Ptr = null; } if (b[n++] != 0) { this.Uint32Ptr = (uint)Gobuf.ReadUint32(b, ref n); } else { this.Uint32Ptr = null; } if (b[n++] != 0) { this.Int64Ptr = (long)Gobuf.ReadUint64(b, ref n); } else { this.Int64Ptr = null; } if (b[n++] != 0) { this.Uint64Ptr = (ulong)Gobuf.ReadUint64(b, ref n); } else { this.Uint64Ptr = null; } if (b[n++] != 0) { this.Float32Ptr = Gobuf.ReadFloat32(b, ref n); } else { this.Float32Ptr = null; } if (b[n++] != 0) { this.Float64Ptr = Gobuf.ReadFloat64(b, ref n); } else { this.Float64Ptr = null; } if (b[n++] != 0) { this.StringPtr = Gobuf.ReadString(b, ref n); } else { this.StringPtr = null; } if (b[n++] != 0) { this.BoolPtr = b[n++] == 1; } else { this.BoolPtr = null; } return(n); }
public int Size() { int size = 0; size += 1; if (this.IntPtr != null) { size += Gobuf.VarintSize(this.IntPtr.Value); } size += 1; if (this.UintPtr != null) { size += Gobuf.UvarintSize(this.UintPtr.Value); } size += 1; if (this.Int8Ptr != null) { size += 1; } size += 1; if (this.Uint8Ptr != null) { size += 1; } size += 1; if (this.Int16Ptr != null) { size += 2; } size += 1; if (this.Uint16Ptr != null) { size += 2; } size += 1; if (this.Int32Ptr != null) { size += 4; } size += 1; if (this.Uint32Ptr != null) { size += 4; } size += 1; if (this.Int64Ptr != null) { size += 8; } size += 1; if (this.Uint64Ptr != null) { size += 8; } size += 1; if (this.Float32Ptr != null) { size += 4; } size += 1; if (this.Float64Ptr != null) { size += 8; } size += 1; if (this.StringPtr != null) { size += Gobuf.StringSize(this.StringPtr); } size += 1; if (this.BoolPtr != null) { size += 1; } return(size); }
public int Marshal(byte[] b, int n) { if (this.IntPtr != null) { b[n++] = 1; Gobuf.WriteVarint(this.IntPtr.Value, b, ref n); } else { b[n++] = 0; } if (this.UintPtr != null) { b[n++] = 1; Gobuf.WriteUvarint(this.UintPtr.Value, b, ref n); } else { b[n++] = 0; } if (this.Int8Ptr != null) { b[n++] = 1; b[n++] = (byte)this.Int8Ptr.Value; } else { b[n++] = 0; } if (this.Uint8Ptr != null) { b[n++] = 1; b[n++] = (byte)this.Uint8Ptr.Value; } else { b[n++] = 0; } if (this.Int16Ptr != null) { b[n++] = 1; Gobuf.WriteUint16((ushort)this.Int16Ptr.Value, b, ref n); } else { b[n++] = 0; } if (this.Uint16Ptr != null) { b[n++] = 1; Gobuf.WriteUint16((ushort)this.Uint16Ptr.Value, b, ref n); } else { b[n++] = 0; } if (this.Int32Ptr != null) { b[n++] = 1; Gobuf.WriteUint32((uint)this.Int32Ptr.Value, b, ref n); } else { b[n++] = 0; } if (this.Uint32Ptr != null) { b[n++] = 1; Gobuf.WriteUint32((uint)this.Uint32Ptr.Value, b, ref n); } else { b[n++] = 0; } if (this.Int64Ptr != null) { b[n++] = 1; Gobuf.WriteUint64((ulong)this.Int64Ptr.Value, b, ref n); } else { b[n++] = 0; } if (this.Uint64Ptr != null) { b[n++] = 1; Gobuf.WriteUint64((ulong)this.Uint64Ptr.Value, b, ref n); } else { b[n++] = 0; } if (this.Float32Ptr != null) { b[n++] = 1; Gobuf.WriteFloat32(this.Float32Ptr.Value, b, ref n); } else { b[n++] = 0; } if (this.Float64Ptr != null) { b[n++] = 1; Gobuf.WriteFloat64(this.Float64Ptr.Value, b, ref n); } else { b[n++] = 0; } if (this.StringPtr != null) { b[n++] = 1; Gobuf.WriteString(this.StringPtr, b, ref n); } else { b[n++] = 0; } if (this.BoolPtr != null) { b[n++] = 1; b[n++] = this.BoolPtr.Value ? (byte)1 : (byte)0; } else { b[n++] = 0; } return(n); }
public int Unmarshal(byte[] b, int n) { { var cap1 = (int)Gobuf.ReadUvarint(b, ref n); this.IntMap = new Dictionary <long, long>(cap1); for (var i1 = 0; i1 < cap1; i1++) { long key1; long val1; key1 = Gobuf.ReadVarint(b, ref n); val1 = Gobuf.ReadVarint(b, ref n); this.IntMap.Add(key1, val1); } } { var cap1 = (int)Gobuf.ReadUvarint(b, ref n); this.UintMap = new Dictionary <long, ulong>(cap1); for (var i1 = 0; i1 < cap1; i1++) { long key1; ulong val1; key1 = Gobuf.ReadVarint(b, ref n); val1 = Gobuf.ReadUvarint(b, ref n); this.UintMap.Add(key1, val1); } } { var cap1 = (int)Gobuf.ReadUvarint(b, ref n); this.Int8Map = new Dictionary <long, sbyte>(cap1); for (var i1 = 0; i1 < cap1; i1++) { long key1; sbyte val1; key1 = Gobuf.ReadVarint(b, ref n); val1 = (sbyte)b[n++]; this.Int8Map.Add(key1, val1); } } { var cap1 = (int)Gobuf.ReadUvarint(b, ref n); this.Uint8Map = new Dictionary <long, byte>(cap1); for (var i1 = 0; i1 < cap1; i1++) { long key1; byte val1; key1 = Gobuf.ReadVarint(b, ref n); val1 = (byte)b[n++]; this.Uint8Map.Add(key1, val1); } } { var cap1 = (int)Gobuf.ReadUvarint(b, ref n); this.Int16Map = new Dictionary <long, short>(cap1); for (var i1 = 0; i1 < cap1; i1++) { long key1; short val1; key1 = Gobuf.ReadVarint(b, ref n); val1 = (short)Gobuf.ReadUint16(b, ref n); this.Int16Map.Add(key1, val1); } } { var cap1 = (int)Gobuf.ReadUvarint(b, ref n); this.Uint16Map = new Dictionary <long, ushort>(cap1); for (var i1 = 0; i1 < cap1; i1++) { long key1; ushort val1; key1 = Gobuf.ReadVarint(b, ref n); val1 = (ushort)Gobuf.ReadUint16(b, ref n); this.Uint16Map.Add(key1, val1); } } { var cap1 = (int)Gobuf.ReadUvarint(b, ref n); this.Int32Map = new Dictionary <long, int>(cap1); for (var i1 = 0; i1 < cap1; i1++) { long key1; int val1; key1 = Gobuf.ReadVarint(b, ref n); val1 = (int)Gobuf.ReadUint32(b, ref n); this.Int32Map.Add(key1, val1); } } { var cap1 = (int)Gobuf.ReadUvarint(b, ref n); this.Uint32Map = new Dictionary <long, uint>(cap1); for (var i1 = 0; i1 < cap1; i1++) { long key1; uint val1; key1 = Gobuf.ReadVarint(b, ref n); val1 = (uint)Gobuf.ReadUint32(b, ref n); this.Uint32Map.Add(key1, val1); } } { var cap1 = (int)Gobuf.ReadUvarint(b, ref n); this.Int64Map = new Dictionary <long, long>(cap1); for (var i1 = 0; i1 < cap1; i1++) { long key1; long val1; key1 = Gobuf.ReadVarint(b, ref n); val1 = (long)Gobuf.ReadUint64(b, ref n); this.Int64Map.Add(key1, val1); } } { var cap1 = (int)Gobuf.ReadUvarint(b, ref n); this.Uint64Map = new Dictionary <long, ulong>(cap1); for (var i1 = 0; i1 < cap1; i1++) { long key1; ulong val1; key1 = Gobuf.ReadVarint(b, ref n); val1 = (ulong)Gobuf.ReadUint64(b, ref n); this.Uint64Map.Add(key1, val1); } } { var cap1 = (int)Gobuf.ReadUvarint(b, ref n); this.Float32Map = new Dictionary <long, float>(cap1); for (var i1 = 0; i1 < cap1; i1++) { long key1; float val1; key1 = Gobuf.ReadVarint(b, ref n); val1 = Gobuf.ReadFloat32(b, ref n); this.Float32Map.Add(key1, val1); } } { var cap1 = (int)Gobuf.ReadUvarint(b, ref n); this.Float64Map = new Dictionary <long, double>(cap1); for (var i1 = 0; i1 < cap1; i1++) { long key1; double val1; key1 = Gobuf.ReadVarint(b, ref n); val1 = Gobuf.ReadFloat64(b, ref n); this.Float64Map.Add(key1, val1); } } { var cap1 = (int)Gobuf.ReadUvarint(b, ref n); this.StringMap = new Dictionary <long, string>(cap1); for (var i1 = 0; i1 < cap1; i1++) { long key1; string val1; key1 = Gobuf.ReadVarint(b, ref n); val1 = Gobuf.ReadString(b, ref n); this.StringMap.Add(key1, val1); } } { var cap1 = (int)Gobuf.ReadUvarint(b, ref n); this.BoolMap = new Dictionary <long, bool>(cap1); for (var i1 = 0; i1 < cap1; i1++) { long key1; bool val1; key1 = Gobuf.ReadVarint(b, ref n); val1 = b[n++] == 1; this.BoolMap.Add(key1, val1); } } return(n); }
public void TestCommunication() { var scalar = new Scalar(); scalar.Byte = System.Byte.MaxValue; scalar.Int = System.Int64.MaxValue; scalar.Uint = System.UInt64.MaxValue; scalar.Int8 = System.SByte.MaxValue; scalar.Uint8 = System.Byte.MaxValue; scalar.Int16 = System.Int16.MaxValue; scalar.Uint16 = System.UInt16.MaxValue; scalar.Int32 = System.Int32.MaxValue; scalar.Uint32 = System.UInt32.MaxValue; scalar.Int64 = System.Int64.MaxValue; scalar.Uint64 = System.UInt64.MaxValue; scalar.Float32 = System.Single.MaxValue; scalar.Float64 = System.Double.MaxValue; scalar.String = "test string content"; scalar.Bytes = new byte[] { 1, 2, 3, 4 }; scalar.Bool = true; var msg1 = new Message(); msg1.Scalar = scalar; msg1.ScalarPtr = scalar; msg1.ScalarArray.Add(scalar); msg1.ScalarMap.Add(1, scalar); var body = new byte[msg1.Size()]; var size = msg1.Marshal(body, 0); Assert.Equal(size, body.Length); var head = new byte[4]; int offset = 0; Gobuf.WriteUint32((uint)size, head, ref offset); var conn = new TcpClient(); var task = conn.ConnectAsync("127.0.0.1", 12345); task.Wait(); Assert.True(conn.Connected); var stream = conn.GetStream(); stream.Write(head, 0, 4); stream.Write(body, 0, body.Length); offset = 0; while (offset != 4) { offset += stream.Read(head, offset, 4 - offset); } offset = 0; size = (int)Gobuf.ReadUint32(head, ref offset); Assert.Equal(size, body.Length); offset = 0; while (offset != body.Length) { offset += stream.Read(body, offset, body.Length - offset); } var msg2 = new Message(); size = msg2.Unmarshal(body, 0); Assert.Equal(size, body.Length); check(msg1.Scalar, msg2.Scalar); check(msg1.ScalarPtr, msg2.ScalarPtr); check(msg1.ScalarArray[0], msg2.ScalarArray[0]); check(msg1.ScalarMap[1], msg2.ScalarMap[1]); }