BCNet.Utils.ReadVarInt C# (CSharp) Method

ReadVarInt() public static method

public static ReadVarInt ( BinaryReader br ) : ulong
br System.IO.BinaryReader
return ulong
        public static ulong ReadVarInt(BinaryReader br)
        {
            ulong ret = 0;

            byte size = br.ReadByte();
            if (size < 0xFD)
                ret = (ulong)size;
            else
            {
                switch (size)
                {
                    case 0xFD:
                        ret = (ulong)br.ReadUInt16();
                        break;
                    case 0xFE:
                        ret = (ulong)br.ReadUInt32();
                        break;
                    case 0xFF:
                        ret = br.ReadUInt64();
                        break;
                }
            }

            return ret;
        }

Usage Example

Beispiel #1
0
        void PH_Alert(byte[] payload)
        {
            MemoryStream stream = new MemoryStream(payload);
            BinaryReader br     = new BinaryReader(stream);
            UInt64       msgLen = Utils.ReadVarInt(br);
            string       msg    = Utils.ReadString(br, (int)msgLen);
            UInt64       sigLen = Utils.ReadVarInt(br);
            string       sig    = Utils.ReadString(br, (int)sigLen);

            Console.WriteLine("Alert: " + msg + " from: " + sig);
            br.Close();
        }
All Usage Examples Of BCNet.Utils::ReadVarInt